* feat: add session tracking and multi-leg spread backtesting Add SessionTracker for trading session management: - Market hours detection (pre-open, trading, squareoff, post-close) - Session boundary tracking with configurable timezone - Squareoff time support for intraday strategies - Session high/low/open price tracking Add SpreadBacktest for multi-leg options strategies: - Support for straddles, strangles, vertical spreads, iron condors - Coordinated entry/exit across all legs - Net premium P&L calculation with max loss/target profit exits - Helper functions for common spread configurations Extend StreamingMetrics for backtest integration: - Add equity and drawdown tracking (update_equity, current_drawdown_pct) - Add trade recording (record_trade, record_fees) - Add finalize() method to produce BacktestMetrics - Add with_initial_capital() constructor Bump version to 0.2.0. * chore: bump up version to 0.2.0 * feat: update version to 0.2.1 and add rolling min/max indicators * fix: formatting
18 lines
434 B
Rust
18 lines
434 B
Rust
//! Strategy implementations for different backtest types.
|
|
|
|
pub mod basket;
|
|
pub mod multi;
|
|
pub mod options;
|
|
pub mod pairs;
|
|
pub mod single;
|
|
pub mod spreads;
|
|
|
|
pub use basket::BasketBacktest;
|
|
pub use multi::MultiStrategyBacktest;
|
|
pub use options::OptionsBacktest;
|
|
pub use pairs::PairsBacktest;
|
|
pub use single::SingleBacktest;
|
|
pub use spreads::{
|
|
LegConfig, OptionType as SpreadOptionType, SpreadBacktest, SpreadConfig, SpreadType,
|
|
};
|