* 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
* Fix release workflow: Python compatibility issues
- Linux: Add --find-interpreter for cross-compilation
- macOS/Windows: Pin Python to 3.12 (PyO3 0.20.3 max supported)
* Fix Linux release: limit Python versions to 3.10-3.12
PyO3 0.20.3 only supports up to Python 3.12. Using --find-interpreter detected Python 3.13/3.14 in the manylinux container which caused build failures.
* Fix CI workflow: use correct rust-toolchain action
* Fix CI: resolve Rust compilation and formatting issues
- Fix rust-toolchain action name in CI workflow
- Add missing Direction import in test modules
- Add missing entry_fees argument to open_position test calls
- Comment out nightly-only rustfmt options
- Auto-format code with cargo fmt