4d0d4cbfa3
* 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
38 lines
965 B
TOML
38 lines
965 B
TOML
[package]
|
|
name = "raptorbt"
|
|
version = "0.2.1"
|
|
edition = "2021"
|
|
description = "High-performance Rust backtesting engine with Python bindings. Drop-in VectorBT replacement with up insanely faster performance at fractional memory footprint."
|
|
authors = ["Alphabench <contact@alphabench.in>"]
|
|
license = "MIT"
|
|
repository = "https://github.com/alphabench/raptorbt"
|
|
homepage = "https://github.com/alphabench/raptorbt"
|
|
readme = "README.md"
|
|
keywords = ["backtesting", "trading", "quantitative-finance", "rust", "python"]
|
|
categories = ["finance", "simulation"]
|
|
|
|
[lib]
|
|
name = "raptorbt"
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[dependencies]
|
|
pyo3 = { version = "0.20", features = ["extension-module"] }
|
|
numpy = "0.20"
|
|
rayon = "1.8"
|
|
thiserror = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
|
|
[dev-dependencies]
|
|
criterion = "0.5"
|
|
approx = "0.5"
|
|
|
|
[[bench]]
|
|
name = "backtest_benchmark"
|
|
harness = false
|
|
|
|
[profile.release]
|
|
lto = true
|
|
codegen-units = 1
|
|
opt-level = 3
|
|
strip = true
|