BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
StochasticSimulator.h
Go to the documentation of this file.
1#pragma once
2
4#include "common/Instrument.h"
5#include <atomic>
6#include <random>
7#include <thread>
8#include <vector>
9
10namespace simulator {
11
19 public:
22
23 void start();
24 void start(int numBots, double intensity);
25 void stop();
26
27 bool isRunning() const { return mRunning; }
28 size_t getBotCount() const { return static_cast<size_t>(mNumBots); }
29 void setBotCount(size_t count) { mNumBots = static_cast<int>(count); }
30 double getIntensity() const { return mIntensity; }
31 void setIntensity(double intensity) { mIntensity = intensity; }
32 void setSymbol(const std::string& symbol) { mTargetSymbol = symbol; }
33
34 private:
35 void run();
36
38 std::atomic<bool> mRunning{false};
39 std::jthread mThread;
40
41 int mNumBots = 0;
42 double mIntensity = 1.0;
43 std::string mTargetSymbol = "ALL";
44
45 // Per-symbol stochastic state
46 struct SymbolState {
48 double meanPrice;
49 double volatility;
51 };
52 std::vector<SymbolState> mSymbols;
53
54 std::mt19937 mGen;
55 std::normal_distribution<double> mDist;
56 };
57
58} // namespace simulator
Top-level entry point for the trading core service.
Simulates thousands of bots trading realistically using a stochastic process.
Definition StochasticSimulator.h:18
void start()
Definition StochasticSimulator.cpp:39
std::mt19937 mGen
Definition StochasticSimulator.h:54
std::string mTargetSymbol
Definition StochasticSimulator.h:43
size_t getBotCount() const
Definition StochasticSimulator.h:28
double getIntensity() const
Definition StochasticSimulator.h:30
void setIntensity(double intensity)
Definition StochasticSimulator.h:31
std::atomic< bool > mRunning
Definition StochasticSimulator.h:38
bool isRunning() const
Definition StochasticSimulator.h:27
void setBotCount(size_t count)
Definition StochasticSimulator.h:29
double mIntensity
Definition StochasticSimulator.h:42
void run()
Definition StochasticSimulator.cpp:61
void setSymbol(const std::string &symbol)
Definition StochasticSimulator.h:32
std::normal_distribution< double > mDist
Definition StochasticSimulator.h:55
void stop()
Definition StochasticSimulator.cpp:52
std::vector< SymbolState > mSymbols
Definition StochasticSimulator.h:52
~StochasticSimulator()
Definition StochasticSimulator.cpp:35
trading_core::TradingCore & mCore
Definition StochasticSimulator.h:37
std::jthread mThread
Definition StochasticSimulator.h:39
int mNumBots
Definition StochasticSimulator.h:41
High-level manager for partitions and command dispatch.
Definition TradingCore.h:30
Definition StochasticSimulator.h:10
Definition StochasticSimulator.h:46
double meanReversion
Definition StochasticSimulator.h:50
double currentPrice
Definition StochasticSimulator.h:47
double volatility
Definition StochasticSimulator.h:49
double meanPrice
Definition StochasticSimulator.h:48