pub struct BacktestConfig {
pub start_time_ns: u64,
pub end_time_ns: u64,
pub symbols: SmallSymbolVec<SmartString>,
pub tick_sizes: FxHashMap<SmartString, Decimal>,
pub lot_sizes: FxHashMap<SmartString, Decimal>,
pub queue_model: QueueModel,
pub allow_partial_fills: bool,
pub order_latency: Box<dyn LatencyModel>,
pub market_data_latency: Box<dyn LatencyModel>,
pub conservative_mode: bool,
pub market_impact: Option<MarketImpact>,
pub conservative_params: Option<ConservativeParams>,
}Expand description
Configuration for L2 backtesting
Fields§
§start_time_ns: u64Start time of the backtest in nanoseconds
end_time_ns: u64End time of the backtest in nanoseconds
symbols: SmallSymbolVec<SmartString>List of symbols to include in the backtest
tick_sizes: FxHashMap<SmartString, Decimal>Minimum price increment per symbol (e.g., 0.01 for 2 decimal places)
lot_sizes: FxHashMap<SmartString, Decimal>Minimum order quantity increment per symbol
queue_model: QueueModelQueue position model (FIFO, ProRata, etc.)
allow_partial_fills: boolWhether to allow orders to be partially filled
order_latency: Box<dyn LatencyModel>Latency model for order submission and responses
market_data_latency: Box<dyn LatencyModel>Latency model for market data delivery
conservative_mode: boolEnable conservative execution assumptions
market_impact: Option<MarketImpact>Optional custom market impact parameters
conservative_params: Option<ConservativeParams>Optional custom conservative parameters
Auto Trait Implementations§
impl Freeze for BacktestConfig
impl !RefUnwindSafe for BacktestConfig
impl Send for BacktestConfig
impl Sync for BacktestConfig
impl Unpin for BacktestConfig
impl !UnwindSafe for BacktestConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more