BetaTrader
A HFT Eco-System
Loading...
Searching...
No Matches
RiskManager.h
Go to the documentation of this file.
1
10#pragma once
11#include "common/Order.h"
12#include "common/Trade.h"
15
16namespace trading_core {
22 public:
23 virtual ~RiskManager() = default;
24
25 explicit RiskManager(data::TradeRepository* tradeRepository);
26
27 virtual bool preCheck(const common::Order& order, OrderBook& orderBook);
28 virtual void postTradeUpdate(const common::Trade& trade);
29 void postTradeUpdate(const std::vector<common::Trade>& trades);
30
31 private:
33 };
34} // namespace trading_core
Repository interface for persisting trades.
Represents a single trading order in the system.
Definition Order.h:19
Represents a single trade execution in the system.
Definition Trade.h:19
Persists common::Trade objects to storage.
Definition TradeRepository.h:18
Represents the order book for a single financial instrument.
Definition OrderBook.h:22
Performs risk validation and updates after trade execution.
Definition RiskManager.h:21
virtual bool preCheck(const common::Order &order, OrderBook &orderBook)
Definition RiskManager.cpp:52
data::TradeRepository * mTradeRepository
Definition RiskManager.h:32
virtual void postTradeUpdate(const common::Trade &trade)
Definition RiskManager.cpp:106
virtual ~RiskManager()=default
Definition CancelOrder.h:10