|
OpenPit C++ SDK
C++17 SDK for the OpenPit pre-trade risk engine
|
Namespaces | |
| policies | |
Classes | |
| class | AccountOutcomes |
| 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 |
| struct | PolicyAccountAdjustmentResult |
| class | PolicyAdapter |
| struct | PolicyDecision |
| class | PostTradeAdjustments |
| class | PostTradeContext |
| class | PostTradePnls |
| class | PreTradeLock |
| struct | Reject |
| class | Request |
| class | Reservation |
| class | Result |
| 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 = PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, CastMode::SafeSlow > |
| template<typename ClientPolicy , typename ClientOrder , typename ClientReport > | |
| using | PolicyAdapterWithUnsafeFastArgType = PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, CastMode::UnsafeFast > |
| template<typename ClientPolicy , typename ClientOrder , typename ClientReport > | |
| using | StartPolicyAdapterWithSafeSlowArgType = StartPolicyAdapter< ClientPolicy, ClientOrder, ClientReport, CastMode::SafeSlow > |
| template<typename ClientPolicy , typename ClientOrder , typename ClientReport > | |
| using | StartPolicyAdapterWithUnsafeFastArgType = StartPolicyAdapter< ClientPolicy, ClientOrder, ClientReport, CastMode::UnsafeFast > |
Enumerations | |
| enum class | CastMode : std::uint8_t { SafeSlow , UnsafeFast } |
| enum class | RejectCode : std::uint16_t { MissingRequiredField = OPENPIT_PRETRADE_REJECT_CODE_MISSING_REQUIRED_FIELD , InvalidFieldFormat = OPENPIT_PRETRADE_REJECT_CODE_INVALID_FIELD_FORMAT , InvalidFieldValue = OPENPIT_PRETRADE_REJECT_CODE_INVALID_FIELD_VALUE , UnsupportedOrderType = OPENPIT_PRETRADE_REJECT_CODE_UNSUPPORTED_ORDER_TYPE , UnsupportedTimeInForce , UnsupportedOrderAttribute , DuplicateClientOrderId , TooLateToEnter = OPENPIT_PRETRADE_REJECT_CODE_TOO_LATE_TO_ENTER , ExchangeClosed = OPENPIT_PRETRADE_REJECT_CODE_EXCHANGE_CLOSED , UnknownInstrument = OPENPIT_PRETRADE_REJECT_CODE_UNKNOWN_INSTRUMENT , UnknownAccount = OPENPIT_PRETRADE_REJECT_CODE_UNKNOWN_ACCOUNT , UnknownVenue = OPENPIT_PRETRADE_REJECT_CODE_UNKNOWN_VENUE , UnknownClearingAccount , UnknownCollateralAsset , InsufficientFunds = OPENPIT_PRETRADE_REJECT_CODE_INSUFFICIENT_FUNDS , InsufficientMargin = OPENPIT_PRETRADE_REJECT_CODE_INSUFFICIENT_MARGIN , InsufficientPosition = OPENPIT_PRETRADE_REJECT_CODE_INSUFFICIENT_POSITION , CreditLimitExceeded = OPENPIT_PRETRADE_REJECT_CODE_CREDIT_LIMIT_EXCEEDED , RiskLimitExceeded = OPENPIT_PRETRADE_REJECT_CODE_RISK_LIMIT_EXCEEDED , OrderExceedsLimit = OPENPIT_PRETRADE_REJECT_CODE_ORDER_EXCEEDS_LIMIT , OrderQtyExceedsLimit = OPENPIT_PRETRADE_REJECT_CODE_ORDER_QTY_EXCEEDS_LIMIT , OrderNotionalExceedsLimit , PositionLimitExceeded = OPENPIT_PRETRADE_REJECT_CODE_POSITION_LIMIT_EXCEEDED , ConcentrationLimitExceeded , LeverageLimitExceeded = OPENPIT_PRETRADE_REJECT_CODE_LEVERAGE_LIMIT_EXCEEDED , RateLimitExceeded = OPENPIT_PRETRADE_REJECT_CODE_RATE_LIMIT_EXCEEDED , PnlKillSwitchTriggered , AccountBlocked = OPENPIT_PRETRADE_REJECT_CODE_ACCOUNT_BLOCKED , AccountNotAuthorized = OPENPIT_PRETRADE_REJECT_CODE_ACCOUNT_NOT_AUTHORIZED , ComplianceRestriction = OPENPIT_PRETRADE_REJECT_CODE_COMPLIANCE_RESTRICTION , InstrumentRestricted = OPENPIT_PRETRADE_REJECT_CODE_INSTRUMENT_RESTRICTED , JurisdictionRestriction , WashTradePrevention = OPENPIT_PRETRADE_REJECT_CODE_WASH_TRADE_PREVENTION , SelfMatchPrevention = OPENPIT_PRETRADE_REJECT_CODE_SELF_MATCH_PREVENTION , ShortSaleRestriction = OPENPIT_PRETRADE_REJECT_CODE_SHORT_SALE_RESTRICTION , RiskConfigurationMissing , ReferenceDataUnavailable , OrderValueCalculationFailed , SystemUnavailable = OPENPIT_PRETRADE_REJECT_CODE_SYSTEM_UNAVAILABLE , MarkPriceUnavailable = OPENPIT_PRETRADE_REJECT_CODE_MARK_PRICE_UNAVAILABLE , AccountAdjustmentBoundsExceeded , ArithmeticOverflow = OPENPIT_PRETRADE_REJECT_CODE_ARITHMETIC_OVERFLOW , Custom = OPENPIT_PRETRADE_REJECT_CODE_CUSTOM , Other = OPENPIT_PRETRADE_REJECT_CODE_OTHER } |
| enum class | RejectScope : std::uint8_t { Order = OPENPIT_PRETRADE_REJECT_SCOPE_ORDER , Account = OPENPIT_PRETRADE_REJECT_SCOPE_ACCOUNT } |
Functions | |
| const openpit::Order & | ContextOrder (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) |
| using openpit::pretrade::PolicyAdapterWithSafeSlowArgType = typedef PolicyAdapter<ClientPolicy, ClientOrder, ClientReport, CastMode::SafeSlow> |
| using openpit::pretrade::PolicyAdapterWithUnsafeFastArgType = typedef PolicyAdapter<ClientPolicy, ClientOrder, ClientReport, CastMode::UnsafeFast> |
| using openpit::pretrade::StartPolicyAdapterWithSafeSlowArgType = typedef StartPolicyAdapter<ClientPolicy, ClientOrder, ClientReport, CastMode::SafeSlow> |
| using openpit::pretrade::StartPolicyAdapterWithUnsafeFastArgType = typedef StartPolicyAdapter<ClientPolicy, ClientOrder, ClientReport, CastMode::UnsafeFast> |
|
strong |
|
strong |
|
strong |
|
inline |
|
inline |
|
inline |