Files
foxhunt/ml
jgrusewski 6d43f8d8d2 feat(ml): add TLOB inference adapter for ensemble
Sequence-buffered adapter with 3-layer MLP projection
(flat_dim -> hidden -> hidden/2 -> 1). Ring buffer collects
seq_len feature vectors, returns neutral prediction until full,
then flattens and projects through the MLP with sigmoid output
mapping to direction [-1,1] and confidence [0,1].

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 15:51:06 +01:00
..

ml

Machine learning models for Foxhunt.

Models

  • DQN (Rainbow) -- Deep Q-Network with prioritized experience replay, dueling heads, noisy nets, double Q-learning
  • PPO -- Proximal Policy Optimization with GAE, LSTM policies, clip-higher option
  • TFT -- Temporal Fusion Transformer for multi-horizon time series forecasting
  • Mamba2 -- State space model for efficient sequence prediction
  • Liquid Networks -- Biologically inspired neural networks for non-stationary data
  • TLOB -- Transformer-based Limit Order Book analysis
  • Flash Attention -- Optimized attention implementation

Training

Two paths per model:

  1. Standalone trainer -- direct training loop (e.g., DQN::train, PpoTrainer)
  2. UnifiedTrainable adapter -- wraps models for the hyperopt pipeline (e.g., DQNTrainableAdapter, UnifiedTrainablePPO)

Inference

InferenceAdapterBridge connects models to the ensemble coordinator in adaptive-strategy. Each model exposes an InferenceAdapter trait for prediction.

Backend

  • Candle v0.9.1 -- VarMap, AdamW, loss.backward(), GradStore, opt.step(&grads)
  • CUDA required for training -- tested on RTX 3050 Ti 4GB, max batch size 230
  • CPU inference supported

Hyperopt

ArgminOptimizer (Particle Swarm Optimization) with per-model adapters: DQN, PPO, ContinuousPPO, TFT, Mamba2. Uses ParameterSpace trait for continuous parameter mapping.

ModelType Enum

15 variants: CompactDQN, DistilledMicroNet, DQN, RainbowDQN, MAMBA, TFT, TGGN, LNN, TLOB, PPO, Transformer, Mamba, LiquidNet, TGNN, Ensemble.

Key Modules

dqn, ppo, tft, mamba, liquid, tlob, flash_attention, ensemble, evaluation, inference, trainers, hyperopt, checkpoint, preprocessing, data_loaders, features, model_factory, training_pipeline, regime_detection, stress_testing, validation, bridge, common, metrics.

Testing

SQLX_OFFLINE=true cargo test -p ml --lib  # ~2009 tests