OpenPit C++ SDK
C++17 SDK for the OpenPit pre-trade risk engine
Loading...
Searching...
No Matches
openpit::pretrade Namespace Reference

Namespaces

namespace  policies

Classes

class  Context
 Main-stage pre-trade context passed to a custom policy check. More...
class  CustomPolicy
 Owning custom pre-trade policy backed by a C++ Handler. More...
class  DryRunReport
struct  ExecuteResult
struct  LockEntry
class  PolicyAdapter
struct  PolicyDecision
class  PreTradeLock
struct  Reject
class  Request
class  Reservation
class  StartPolicyAdapter
 Adapts a client start-stage policy to the engine callback seam. More...
struct  StartResult

Typedefs

template<typename ClientPolicy, typename ClientOrder, typename ClientReport>
using PolicyAdapterWithSafeSlowArgType
template<typename ClientPolicy, typename ClientOrder, typename ClientReport>
using PolicyAdapterWithUnsafeFastArgType
template<typename ClientPolicy, typename ClientOrder, typename ClientReport>
using StartPolicyAdapterWithSafeSlowArgType
template<typename ClientPolicy, typename ClientOrder, typename ClientReport>
using StartPolicyAdapterWithUnsafeFastArgType

Enumerations

enum class  CastMode : std::uint8_t { SafeSlow , UnsafeFast }
enum class  RejectCode : std::uint16_t {
  MissingRequiredField = OpenPitPretradeRejectCode_MissingRequiredField , InvalidFieldFormat = OpenPitPretradeRejectCode_InvalidFieldFormat , InvalidFieldValue = OpenPitPretradeRejectCode_InvalidFieldValue , UnsupportedOrderType = OpenPitPretradeRejectCode_UnsupportedOrderType ,
  UnsupportedTimeInForce = OpenPitPretradeRejectCode_UnsupportedTimeInForce , UnsupportedOrderAttribute , DuplicateClientOrderId = OpenPitPretradeRejectCode_DuplicateClientOrderId , TooLateToEnter = OpenPitPretradeRejectCode_TooLateToEnter ,
  ExchangeClosed = OpenPitPretradeRejectCode_ExchangeClosed , UnknownInstrument = OpenPitPretradeRejectCode_UnknownInstrument , UnknownAccount = OpenPitPretradeRejectCode_UnknownAccount , UnknownVenue = OpenPitPretradeRejectCode_UnknownVenue ,
  UnknownClearingAccount = OpenPitPretradeRejectCode_UnknownClearingAccount , UnknownCollateralAsset = OpenPitPretradeRejectCode_UnknownCollateralAsset , InsufficientFunds = OpenPitPretradeRejectCode_InsufficientFunds , InsufficientMargin = OpenPitPretradeRejectCode_InsufficientMargin ,
  InsufficientPosition = OpenPitPretradeRejectCode_InsufficientPosition , CreditLimitExceeded = OpenPitPretradeRejectCode_CreditLimitExceeded , RiskLimitExceeded = OpenPitPretradeRejectCode_RiskLimitExceeded , OrderExceedsLimit = OpenPitPretradeRejectCode_OrderExceedsLimit ,
  OrderQtyExceedsLimit = OpenPitPretradeRejectCode_OrderQtyExceedsLimit , OrderNotionalExceedsLimit , PositionLimitExceeded = OpenPitPretradeRejectCode_PositionLimitExceeded , ConcentrationLimitExceeded ,
  LeverageLimitExceeded = OpenPitPretradeRejectCode_LeverageLimitExceeded , RateLimitExceeded = OpenPitPretradeRejectCode_RateLimitExceeded , PnlKillSwitchTriggered = OpenPitPretradeRejectCode_PnlKillSwitchTriggered , AccountBlocked = OpenPitPretradeRejectCode_AccountBlocked ,
  AccountNotAuthorized = OpenPitPretradeRejectCode_AccountNotAuthorized , ComplianceRestriction = OpenPitPretradeRejectCode_ComplianceRestriction , InstrumentRestricted = OpenPitPretradeRejectCode_InstrumentRestricted , JurisdictionRestriction = OpenPitPretradeRejectCode_JurisdictionRestriction ,
  WashTradePrevention = OpenPitPretradeRejectCode_WashTradePrevention , SelfMatchPrevention = OpenPitPretradeRejectCode_SelfMatchPrevention , ShortSaleRestriction = OpenPitPretradeRejectCode_ShortSaleRestriction , RiskConfigurationMissing = OpenPitPretradeRejectCode_RiskConfigurationMissing ,
  ReferenceDataUnavailable = OpenPitPretradeRejectCode_ReferenceDataUnavailable , OrderValueCalculationFailed , SystemUnavailable = OpenPitPretradeRejectCode_SystemUnavailable , MarkPriceUnavailable = OpenPitPretradeRejectCode_MarkPriceUnavailable ,
  AccountAdjustmentBoundsExceeded , ArithmeticOverflow = OpenPitPretradeRejectCode_ArithmeticOverflow , Custom = OpenPitPretradeRejectCode_Custom , Other = OpenPitPretradeRejectCode_Other
}
enum class  RejectScope : std::uint8_t { Order = OpenPitPretradeRejectScope_Order , Account = OpenPitPretradeRejectScope_Account }

Functions

const openpit::OrderContextOrder (const Context &context)
Reject MakeTypeMismatchReject (std::string_view policy_name, RejectScope scope, RejectCode code, std::string_view reason, std::string_view expected_type_name)
void PushReject (PolicyDecision &decision, Reject reject)

Typedef Documentation

◆ PolicyAdapterWithSafeSlowArgType

template<typename ClientPolicy, typename ClientOrder, typename ClientReport>
using openpit::pretrade::PolicyAdapterWithSafeSlowArgType

◆ PolicyAdapterWithUnsafeFastArgType

template<typename ClientPolicy, typename ClientOrder, typename ClientReport>
using openpit::pretrade::PolicyAdapterWithUnsafeFastArgType
Initial value:
PolicyAdapter<ClientPolicy, ClientOrder, ClientReport,
@ UnsafeFast
Definition adapters.hpp:69

◆ StartPolicyAdapterWithSafeSlowArgType

template<typename ClientPolicy, typename ClientOrder, typename ClientReport>
using openpit::pretrade::StartPolicyAdapterWithSafeSlowArgType
Initial value:
StartPolicyAdapter<ClientPolicy, ClientOrder, ClientReport,
Adapts a client start-stage policy to the engine callback seam.
Definition adapters.hpp:85
@ SafeSlow
Definition adapters.hpp:68

◆ StartPolicyAdapterWithUnsafeFastArgType

template<typename ClientPolicy, typename ClientOrder, typename ClientReport>
using openpit::pretrade::StartPolicyAdapterWithUnsafeFastArgType
Initial value:
StartPolicyAdapter<ClientPolicy, ClientOrder, ClientReport,

Enumeration Type Documentation

◆ CastMode

enum class openpit::pretrade::CastMode : std::uint8_t
strong
Enumerator
SafeSlow 
UnsafeFast 

◆ RejectCode

enum class openpit::pretrade::RejectCode : std::uint16_t
strong
Enumerator
MissingRequiredField 
InvalidFieldFormat 
InvalidFieldValue 
UnsupportedOrderType 
UnsupportedTimeInForce 
UnsupportedOrderAttribute 
DuplicateClientOrderId 
TooLateToEnter 
ExchangeClosed 
UnknownInstrument 
UnknownAccount 
UnknownVenue 
UnknownClearingAccount 
UnknownCollateralAsset 
InsufficientFunds 
InsufficientMargin 
InsufficientPosition 
CreditLimitExceeded 
RiskLimitExceeded 
OrderExceedsLimit 
OrderQtyExceedsLimit 
OrderNotionalExceedsLimit 
PositionLimitExceeded 
ConcentrationLimitExceeded 
LeverageLimitExceeded 
RateLimitExceeded 
PnlKillSwitchTriggered 
AccountBlocked 
AccountNotAuthorized 
ComplianceRestriction 
InstrumentRestricted 
JurisdictionRestriction 
WashTradePrevention 
SelfMatchPrevention 
ShortSaleRestriction 
RiskConfigurationMissing 
ReferenceDataUnavailable 
OrderValueCalculationFailed 
SystemUnavailable 
MarkPriceUnavailable 
AccountAdjustmentBoundsExceeded 
ArithmeticOverflow 
Custom 
Other 

◆ RejectScope

enum class openpit::pretrade::RejectScope : std::uint8_t
strong
Enumerator
Order 
Account 

Function Documentation

◆ ContextOrder()

const::openpit::Order & openpit::pretrade::ContextOrder ( const Context & context)
inlinenodiscard

◆ MakeTypeMismatchReject()

Reject openpit::pretrade::MakeTypeMismatchReject ( std::string_view policy_name,
RejectScope scope,
RejectCode code,
std::string_view reason,
std::string_view expected_type_name )
inlinenodiscard

◆ PushReject()

void openpit::pretrade::PushReject ( PolicyDecision & decision,
Reject reject )
inline