Wire 8 OFI features (OFI L1/L5, depth imbalance, VPIN, Kyle's lambda, bid/ask slopes, trade imbalance) through the DQN training pipeline: - Add mbp10_data_dir config field to DQNHyperparameters - Dynamic state_dim: 43 (no OFI) or 51 (with OFI) based on config - Compute OFI per bar during data loading, store on trainer - Pass OFI features through regime_features slot in TradingState - Configurable MBP-10 path with recursive .dbn/.dbn.zst discovery - Add zstd auto-detection to DbnParser::parse_mbp10_file() - Add --mbp10-data-dir CLI flag to train_baseline_rl - Fix hardcoded [f64; 51] → FeatureVector51 ([f64; 40]) across examples, walk_forward, GPU memory profile, and test fixtures - Fix stale state_dim=51 in dqn_config_2025() and DQN tests 2747 tests pass, 0 failures. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
data
Market data ingestion, broker integration, and feature extraction.
Providers
- Databento — historical and real-time market data via DBN format
- Benzinga — news and fundamentals feed
Broker Integrations
- IB TWS — Interactive Brokers TWS/Gateway socket connection
- ICMarkets — FIX 4.4 protocol integration
Key Modules
brokers— broker adapters (IB TWS, ICMarkets FIX)providers— data provider clients (Databento, Benzinga)parquet_persistence— Parquet read/write for tick and bar datareplay— market data replay for backtestingtraining_pipeline— data preparation for ML model trainingfeatures— technical indicator and feature computationvalidation— data quality checks and schema validation
Cargo Features
| Feature | Default | Description |
|---|---|---|
databento |
yes | Databento provider support |
benzinga |
yes | Benzinga provider support |
icmarkets |
yes | ICMarkets FIX 4.4 integration |
redis-cache |
no | Redis caching layer |
ib |
no | Interactive Brokers adapter |
mock |
no | Mock providers for testing |