Wave 9: Feature Integration (20 agents) - Wire Wave D features into extraction pipeline (ml/src/features/extraction.rs:197-204) - Reduce statistical features from 50 to 26 to make room for Wave D - Update method signature to &mut self for stateful extractors - Fix 7 division-by-zero bugs in feature extraction - Train all 4 models (DQN, PPO, MAMBA-2, TFT) with 225 features - Test pass rate: 99.2% (2,061/2,074 tests) Wave 10: Production Feature Extractor Fix (1 agent) - Create ProductionFeatureExtractor225 trait - Implement ProductionFeatureExtractorAdapter - Fix production code using only 66 features + 159 zeros - Use dependency injection to avoid circular dependencies Wave 11: Service Migration (20 agents) - Migrate Trading Service to use ProductionFeatureExtractorAdapter - Migrate Backtesting Service to use production extractor - Update all integration tests and E2E tests - Performance: 3.98μs/bar (22% faster than Wave 9) - Test pass rate: 99.84% (1,239/1,241 tests) Key Achievements: - All 225 features (201 Wave C + 24 Wave D) fully integrated - All services using production feature extractor - Zero NaN/Inf errors after division-by-zero fixes - 922x average performance improvement vs targets - System 100% ready for extended training data download Files Modified: - ml/src/features/extraction.rs (Wave D wiring) - ml/src/features/production_adapter.rs (NEW - adapter pattern) - common/src/ml_strategy.rs (trait + dependency injection) - services/trading_service/src/paper_trading_executor.rs - services/backtesting_service/src/ml_strategy_engine.rs - 18+ test files updated for &mut self pattern Next Steps: - Wave 12: Download 180 days Databento data (~$3.50) - Wave 13: Retrain all models with extended datasets - Wave 14: Run Wave Comparison Backtest - Wave 15-16: Production deployment 🤖 Generated with Claude Code (Waves 9-11: 41 agents, 153 total) Co-Authored-By: Claude <noreply@anthropic.com>
67 lines
1.6 KiB
TOML
67 lines
1.6 KiB
TOML
[package]
|
|
name = "common"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
documentation.workspace = true
|
|
publish.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
description = "Shared utilities and common types for Foxhunt HFT Trading System"
|
|
|
|
[dependencies]
|
|
# Core async and utilities
|
|
tokio.workspace = true
|
|
futures.workspace = true
|
|
async-trait.workspace = true
|
|
|
|
# Serialization
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json.workspace = true
|
|
|
|
# Error handling
|
|
thiserror.workspace = true
|
|
anyhow.workspace = true
|
|
|
|
# Time handling
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
|
|
# Financial types
|
|
rust_decimal = { workspace = true, features = ["serde", "macros"] }
|
|
num-traits.workspace = true
|
|
|
|
# Database dependencies
|
|
sqlx = { workspace = true, features = ["runtime-tokio-rustls", "postgres", "chrono", "uuid", "rust_decimal", "macros"], optional = true }
|
|
redis.workspace = true
|
|
|
|
# Logging and tracing
|
|
tracing.workspace = true
|
|
|
|
# Configuration
|
|
toml.workspace = true
|
|
config = { path = "../config" }
|
|
|
|
# Trading engine dependency removed - common is now the canonical source
|
|
|
|
# Utilities
|
|
uuid = { workspace = true, features = ["v4", "serde"] }
|
|
once_cell.workspace = true
|
|
|
|
[dev-dependencies]
|
|
tokio-test.workspace = true
|
|
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
|
|
fastrand = "2.1"
|
|
jsonwebtoken.workspace = true
|
|
ml = { path = "../ml" }
|
|
|
|
[features]
|
|
default = ["database"]
|
|
database = ["sqlx"]
|
|
|
|
[[bench]]
|
|
name = "ml_strategy_bench"
|
|
harness = false |