Files
foxhunt/adaptive-strategy
jgrusewski b62e878f91 refactor: enforce unwrap/expect deny attributes across all production crates
Add #![deny(clippy::unwrap_used, clippy::expect_used)] to 11 crates that
were missing it, and standardize 3 existing crates to deny both lints.
Test code is exempted via #![cfg_attr(test, allow(...))].

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 14:52:12 +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.