Phase 1: Remove 5 DQNConfig boolean flags (use_soft_updates, use_iqn, enable_q_value_clipping, use_cvar_action_selection, use_count_bonus). All features now unconditionally active — no dead toggle branches. Phase 2: Add spectral decoupling (L2 on Q-value logits, Pezeshki 2021) and manifold mixup (Beta-sampled distribution interpolation with atomic barrier sync) directly in C51 CUDA loss kernel. Zero CPU involvement. Phase 3: Tag Experience transitions with market regime (ADX/CUSUM GPU classifier kernel). Add regime-biased PER sampling via rejection with IS weight correction. Decay factor controls cross-regime bleeding. Phase 4: 6 family intensity scalars for hyperopt (adversarial, regularization, augmentation, loss shaping, ensemble, causal). Scales 34 generalization params through 6 PSO dimensions instead of 34. Search space: 24D → 30D (families additive, individual params kept). 20 files changed, +563/-69 lines. Full workspace compiles clean. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ml
10-model ML ensemble for the Foxhunt HFT system, built on Candle v0.9.1.
Models
- DQN (Rainbow) — deep Q-network with prioritized replay, dueling heads, noisy nets
- PPO — proximal policy optimization with GAE, LSTM policies, clip-higher
- TFT — temporal fusion transformer for multi-horizon forecasting
- Mamba2 — state space model for sequence prediction
- Liquid Networks — biologically inspired networks for non-stationary data
- TLOB — transformer-based limit order book analysis
- KAN — Kolmogorov-Arnold networks
- xLSTM — extended LSTM architecture
- TGGN — temporal graph neural network
- Diffusion — diffusion-based generative model
Key Modules
ensemble— model ensemble coordination and confidence aggregationhyperopt— PSO-based hyperparameter optimization with per-model adapterstrainers— unified training loops (DQN, PPO, supervised)inference—InferenceAdaptertrait for predictioncheckpoint— model checkpointing and restorationevaluation— walk-forward evaluation pipeline
Usage
use ml::dqn::DQN;
use ml::ppo::PpoTrainer;