Move 17 library crates into crates/, CLI binary into bin/fxt, consolidate 10 test crates into testing/, split config crate from deployment config files. Root directory reduced from 38+ to ~17 directories. All Cargo.toml paths and build.rs proto refs updated. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
adaptive-strategy
Adaptive trading strategy framework combining ensemble ML models, execution algorithms, market microstructure analysis, and risk management.
Overview
AdaptiveStrategy is the top-level type. It wraps an EnsembleCoordinator in Arc<RwLock> and coordinates predictions from four model types -- DQN, PPO, TFT, and Mamba2 -- loaded via InferenceAdapterBridge from the ml crate.
EnsembleConfig is re-exported from ml (not defined in this crate).
Modules
- config -- Strategy configuration, seeded IDs (
default-production,development,aggressive) - ensemble --
EnsembleCoordinator, model weighting, signal aggregation - execution -- TWAP, VWAP, Implementation Shortfall, POV, Arrival Price algorithms
- microstructure -- Order book analysis, trade flow classification, price impact modeling
- regime -- Market regime detection (HMM, threshold, ML-based)
- risk -- Position sizing (Kelly, risk parity, vol targeting), portfolio limits, drawdown monitoring
Features
| Cargo feature | Description |
|---|---|
postgres |
Hot-reload strategy config from PostgreSQL |
Usage
use adaptive_strategy::{AdaptiveStrategy, StrategyConfig};
let config = StrategyConfig::default();
let strategy = AdaptiveStrategy::new(config).await?;
Testing
SQLX_OFFLINE=true cargo test -p adaptive-strategy --lib
Dependencies
Core: tokio, candle-core, serde, tracing, chrono
ML models provided by the ml crate.