OpenPit C++ SDK
C++17 SDK for the OpenPit pre-trade risk engine
openpit::Engine Class Reference

Public Member Functions

std::optional<::openpit::param::AccountGroupIdAccountGroup (::openpit::param::AccountId accountId) const
 
::openpit::accounts::Accounts Accounts () const noexcept
 
template<typename Adjustment >
AdjustmentResult ApplyAccountAdjustment (::openpit::param::AccountId accountId, const std::vector< Adjustment > &adjustments) const
 
PostTradeResult ApplyExecutionReport (const ::openpit::ExecutionReport &report) const
 
PostTradeResult ApplyExecutionReport (const ::openpit::ExecutionReport &report, const ::openpit::pretrade::PreTradeLock &lock) const
 
void ClearAccountCurrency (::openpit::param::AccountId accountId) const noexcept
 
void ClearAccountGroupCurrency (::openpit::param::AccountGroupId groupId) const noexcept
 
::openpit::Configurator Configure () const noexcept
 
 Engine ()=default
 
 Engine (OpenPitEngine *handle) noexcept
 
::openpit::pretrade::ExecuteResult ExecutePreTrade (const ::openpit::Order &order) const
 
::openpit::pretrade::Reservation ExecutePreTradeDropCopy (const ::openpit::Order &order) const
 Runs the complete pre-trade pipeline without enforcing policy rejects. More...
 
::openpit::pretrade::DryRunReport ExecutePreTradeDryRun (const ::openpit::Order &order) const
 
OpenPitEngine * Get () const noexcept
 
 operator bool () const noexcept
 
void SetAccountCurrency (::openpit::param::AccountId accountId, const ::openpit::param::Asset &asset) const
 
void SetAccountGroupCurrency (::openpit::param::AccountGroupId groupId, const ::openpit::param::Asset &asset) const
 
template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >> &&!std::is_same_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0>
::openpit::pretrade::StartResult StartPreTrade (OrderT &&order) const
 
::openpit::pretrade::StartResult StartPreTrade (std::shared_ptr< const ::openpit::Order > order) const
 
::openpit::pretrade::DryRunReport StartPreTradeDryRun (const ::openpit::Order &order) const
 

Constructor & Destructor Documentation

◆ Engine() [1/2]

openpit::Engine::Engine ( )
default

◆ Engine() [2/2]

openpit::Engine::Engine ( OpenPitEngine *  handle)
inlineexplicitnoexcept

Member Function Documentation

◆ AccountGroup()

std::optional<::openpit::param::AccountGroupId> openpit::Engine::AccountGroup ( ::openpit::param::AccountId  accountId) const
inline

◆ Accounts()

::openpit::accounts::Accounts openpit::Engine::Accounts ( ) const
inlinenoexcept

◆ ApplyAccountAdjustment()

template<typename Adjustment >
AdjustmentResult openpit::Engine::ApplyAccountAdjustment ( ::openpit::param::AccountId  accountId,
const std::vector< Adjustment > &  adjustments 
) const
inline

◆ ApplyExecutionReport() [1/2]

PostTradeResult openpit::Engine::ApplyExecutionReport ( const ::openpit::ExecutionReport report) const
inline

◆ ApplyExecutionReport() [2/2]

PostTradeResult openpit::Engine::ApplyExecutionReport ( const ::openpit::ExecutionReport report,
const ::openpit::pretrade::PreTradeLock lock 
) const
inline

◆ ClearAccountCurrency()

void openpit::Engine::ClearAccountCurrency ( ::openpit::param::AccountId  accountId) const
inlinenoexcept

◆ ClearAccountGroupCurrency()

void openpit::Engine::ClearAccountGroupCurrency ( ::openpit::param::AccountGroupId  groupId) const
inlinenoexcept

◆ Configure()

openpit::Configurator openpit::Engine::Configure ( ) const
inlinenoexcept

◆ ExecutePreTrade()

::openpit::pretrade::ExecuteResult openpit::Engine::ExecutePreTrade ( const ::openpit::Order order) const
inline

◆ ExecutePreTradeDropCopy()

::openpit::pretrade::Reservation openpit::Engine::ExecutePreTradeDropCopy ( const ::openpit::Order order) const
inline

Runs the complete pre-trade pipeline without enforcing policy rejects.

Existing account and account-group blocks are ignored. Every policy keeps its normal mutations, locks, account adjustments, and account blocks.

◆ ExecutePreTradeDryRun()

::openpit::pretrade::DryRunReport openpit::Engine::ExecutePreTradeDryRun ( const ::openpit::Order order) const
inline

◆ Get()

OpenPitEngine* openpit::Engine::Get ( ) const
inlinenoexcept

◆ operator bool()

openpit::Engine::operator bool ( ) const
inlineexplicitnoexcept

◆ SetAccountCurrency()

void openpit::Engine::SetAccountCurrency ( ::openpit::param::AccountId  accountId,
const ::openpit::param::Asset asset 
) const
inline

◆ SetAccountGroupCurrency()

void openpit::Engine::SetAccountGroupCurrency ( ::openpit::param::AccountGroupId  groupId,
const ::openpit::param::Asset asset 
) const
inline

◆ StartPreTrade() [1/2]

template<typename OrderT , std::enable_if_t< std::is_base_of_v<::openpit::Order, std::decay_t< OrderT >> &&!std::is_same_v<::openpit::Order, std::decay_t< OrderT >>, int > = 0>
::openpit::pretrade::StartResult openpit::Engine::StartPreTrade ( OrderT &&  order) const
inline

◆ StartPreTrade() [2/2]

::openpit::pretrade::StartResult openpit::Engine::StartPreTrade ( std::shared_ptr< const ::openpit::Order order) const
inline

◆ StartPreTradeDryRun()

::openpit::pretrade::DryRunReport openpit::Engine::StartPreTradeDryRun ( const ::openpit::Order order) const
inline