engine/data_source/mod.rs
1pub mod historical;
2pub mod simulated;
3
4pub use historical::ParquetDataSource;
5pub use simulated::{MarketProcess, SimulatedDataSource};
6
7use crate::types::{FillEvent, MarketState};
8
9pub trait DataSource {
10 fn next_quote(&mut self) -> Option<MarketState>;
11
12 /// Apply market impact based on fills from the previous step.
13 /// Default implementation does nothing (no impact).
14 fn apply_impact(&mut self, _fills: &[FillEvent]) {}
15}