CBOE Emulator  1.0
Public Member Functions | List of all members
Strategies::MarketArbitrage Class Reference

The market arbitrage strategy logic. More...

#include <market_arbitrage.hpp>

Public Member Functions

 MarketArbitrage (asio::io_context &feedA_context, asio::io_context &feedB_context, asio::io_context &context, nlohmann::json options)
 Initialize the strategy. More...
 
void did_receive (DataFeedReceiver *receiver, const DataFeed::Messages::StartOfSession &message)
 Handle a start of session message. More...
 
void did_receive (DataFeedReceiver *receiver, const DataFeed::Messages::EndOfSession &message)
 Handle an end of session message. More...
 
void did_receive (DataFeedReceiver *receiver, const DataFeed::Messages::Clear &message)
 Handle a clear book message. More...
 
void did_receive (DataFeedReceiver *receiver, const DataFeed::Messages::AddOrder &message)
 Handle an add order message. More...
 
void did_receive (DataFeedReceiver *receiver, const DataFeed::Messages::DeleteOrder &message)
 Handle a delete order message. More...
 
void did_receive (DataFeedReceiver *receiver, const DataFeed::Messages::Trade &message)
 Handle a trade message. More...
 

Detailed Description

The market arbitrage strategy logic.

Market Arbitrage Agent Algorithm

Constructor & Destructor Documentation

◆ MarketArbitrage()

Strategies::MarketArbitrage::MarketArbitrage ( asio::io_context &  feedA_context,
asio::io_context &  feedB_context,
asio::io_context &  context,
nlohmann::json  options 
)
inline

Initialize the strategy.

Parameters
feedA_contextthe IO context to create a feed for A with
feedB_contextthe IO context to create a feed for B with
contextthe IO context to create the strategy with
optionsthe JSON object with agent-dependent options

Member Function Documentation

◆ did_receive() [1/6]

void Strategies::MarketArbitrage::did_receive ( DataFeedReceiver receiver,
const DataFeed::Messages::AddOrder message 
)
inline

Handle an add order message.

Parameters
receiverthe receiver that is handling the message
messagethe message to handle

◆ did_receive() [2/6]

void Strategies::MarketArbitrage::did_receive ( DataFeedReceiver receiver,
const DataFeed::Messages::Clear message 
)
inline

Handle a clear book message.

Parameters
receiverthe receiver that is handling the message
messagethe message to handle

◆ did_receive() [3/6]

void Strategies::MarketArbitrage::did_receive ( DataFeedReceiver receiver,
const DataFeed::Messages::DeleteOrder message 
)
inline

Handle a delete order message.

Parameters
receiverthe receiver that is handling the message
messagethe message to handle

◆ did_receive() [4/6]

void Strategies::MarketArbitrage::did_receive ( DataFeedReceiver receiver,
const DataFeed::Messages::EndOfSession message 
)
inline

Handle an end of session message.

Parameters
receiverthe receiver that is handling the message
messagethe message to handle

◆ did_receive() [5/6]

void Strategies::MarketArbitrage::did_receive ( DataFeedReceiver receiver,
const DataFeed::Messages::StartOfSession message 
)
inline

Handle a start of session message.

Parameters
receiverthe receiver that is handling the message
messagethe message to handle

◆ did_receive() [6/6]

void Strategies::MarketArbitrage::did_receive ( DataFeedReceiver receiver,
const DataFeed::Messages::Trade message 
)
inline

Handle a trade message.

Parameters
receiverthe receiver that is handling the message
messagethe message to handle

The documentation for this class was generated from the following file: