Files
foxhunt/adaptive-strategy
jgrusewski 42634014b6 refactor: consolidate DQNConfig to single canonical definition
Removed duplicate DQNConfig from agent.rs (13 fields, pre-Rainbow with
f64 gamma/epsilon) and adaptive-strategy stub (unit struct). Canonical
definition in dqn/dqn.rs now has 51 fields covering full Rainbow DQN
plus agent-level trading parameters (minimum_profit_factor, weight_decay).

Key changes:
- agent.rs imports DQNConfig from dqn.rs instead of defining its own
- Fixed f32/f64 type mismatches (epsilon_start/end/decay cast to f64
  where QNetworkConfig expects f64)
- Renamed replay_buffer_size -> replay_buffer_capacity across all callers
- Updated 13 files across ml, adaptive-strategy, and trading_service
- All 2009 ml tests pass, 0 clippy warnings in modified files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 20:49:22 +01:00
..

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.