BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
simulator::StochasticSimulator Class Reference

Simulates thousands of bots trading realistically using a stochastic process. More...

#include <StochasticSimulator.h>

Collaboration diagram for simulator::StochasticSimulator:
Collaboration graph

Classes

struct  SymbolState
 

Public Member Functions

 StochasticSimulator (trading_core::TradingCore &core)
 
 ~StochasticSimulator ()
 
size_t getBotCount () const
 
double getIntensity () const
 
bool isRunning () const
 
void setBotCount (size_t count)
 
void setIntensity (double intensity)
 
void setSymbol (const std::string &symbol)
 
void start ()
 
void start (int numBots, double intensity)
 
void stop ()
 

Private Member Functions

void run ()
 

Private Attributes

trading_core::TradingCoremCore
 
std::normal_distribution< double > mDist
 
std::mt19937 mGen
 
double mIntensity = 1.0
 
int mNumBots = 0
 
std::atomic< bool > mRunning {false}
 
std::vector< SymbolStatemSymbols
 
std::string mTargetSymbol = "ALL"
 
std::jthread mThread
 

Detailed Description

Simulates thousands of bots trading realistically using a stochastic process.

Injects orders directly into TradingCore to bypass network overhead.

Constructor & Destructor Documentation

◆ StochasticSimulator()

simulator::StochasticSimulator::StochasticSimulator ( trading_core::TradingCore core)
explicit

◆ ~StochasticSimulator()

simulator::StochasticSimulator::~StochasticSimulator ( )
Here is the call graph for this function:

Member Function Documentation

◆ getBotCount()

size_t simulator::StochasticSimulator::getBotCount ( ) const
inline

◆ getIntensity()

double simulator::StochasticSimulator::getIntensity ( ) const
inline

◆ isRunning()

bool simulator::StochasticSimulator::isRunning ( ) const
inline

◆ run()

void simulator::StochasticSimulator::run ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setBotCount()

void simulator::StochasticSimulator::setBotCount ( size_t  count)
inline

◆ setIntensity()

void simulator::StochasticSimulator::setIntensity ( double  intensity)
inline

◆ setSymbol()

void simulator::StochasticSimulator::setSymbol ( const std::string &  symbol)
inline

◆ start() [1/2]

void simulator::StochasticSimulator::start ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ start() [2/2]

void simulator::StochasticSimulator::start ( int  numBots,
double  intensity 
)
Here is the call graph for this function:

◆ stop()

void simulator::StochasticSimulator::stop ( )
Here is the caller graph for this function:

Member Data Documentation

◆ mCore

trading_core::TradingCore& simulator::StochasticSimulator::mCore
private

◆ mDist

std::normal_distribution<double> simulator::StochasticSimulator::mDist
private

◆ mGen

std::mt19937 simulator::StochasticSimulator::mGen
private

◆ mIntensity

double simulator::StochasticSimulator::mIntensity = 1.0
private

◆ mNumBots

int simulator::StochasticSimulator::mNumBots = 0
private

◆ mRunning

std::atomic<bool> simulator::StochasticSimulator::mRunning {false}
private

◆ mSymbols

std::vector<SymbolState> simulator::StochasticSimulator::mSymbols
private

◆ mTargetSymbol

std::string simulator::StochasticSimulator::mTargetSymbol = "ALL"
private

◆ mThread

std::jthread simulator::StochasticSimulator::mThread
private

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