8#include "fastmm/core/msg_ring.hpp"
9#include "fastmm/sim/market_generator.hpp"
10#include "fastmm/sim/matching_engine.hpp"
11#include "fastmm/sim/md_aggregator.hpp"
18struct SyntheticSourceConfig {
20 sim::MdAggregatorConfig
md{};
29class SyntheticSource final :
public MdSource,
private sim::MatchingSink {
38 [[nodiscard]] std::uint64_t
events() const noexcept {
return events_; }
39 [[nodiscard]] std::uint64_t
dropped() const noexcept {
return dropped_; }
50 std::unique_ptr<sim::MatchingEngine> me_;
51 std::unique_ptr<sim::MdAggregator> agg_;
52 std::unique_ptr<sim::MarketGenerator> gen_;
56 std::uint64_t events_ = 0;
57 std::uint64_t dropped_ = 0;
Definition synthetic_source.hpp:31
Timestamp start_ts() const override
Definition synthetic_source.hpp:36
std::uint64_t events() const noexcept
Definition synthetic_source.hpp:40
const EventHeader * next() override
const sim::MarketGeneratorStats & generator_stats() const noexcept
Definition synthetic_source.hpp:37
std::uint64_t dropped() const noexcept
should be 0
Definition synthetic_source.hpp:41
DataSource (8.4): a timestamp-ordered stream of normalized market-data events consumed by the simulat...
Definition backtest_config.hpp:39
Side
Definition enums.hpp:12
constexpr Duration seconds(std::int64_t v) noexcept
Definition time.hpp:41
std::int64_t ns
Definition time.hpp:23
Definition synthetic_source.hpp:20
int seed_levels
Definition synthetic_source.hpp:28
Timestamp start
Definition synthetic_source.hpp:26
InstrumentId instrument
Definition synthetic_source.hpp:24
VenueId venue
Definition synthetic_source.hpp:25
std::uint64_t seed
Definition synthetic_source.hpp:23
sim::MarketGeneratorParams generator
Definition synthetic_source.hpp:21
Duration duration
Definition synthetic_source.hpp:27
sim::MdAggregatorConfig md
Definition synthetic_source.hpp:22