Skip to main content

ML Models & Strategy Layer

ML models (5)

ModelTypeRole
Direction PredictorGradient-boosted ensemble (LightGBM + XGBoost + CatBoost)Binary direction prediction
Regime DetectorGaussian Hidden Markov ModelClassifies market state: trending, mean-reverting, volatile, quiet
Cascade PredictorLightGBM + CatBoostLiquidation-cascade risk blocking
DeepLOBCNN + TransformerLimit-order-book microstructure signal (low ensemble weight, high-frequency signal)
RL Meta-OptimizerSoft Actor-Critic (SAC)Dynamic position-sizing and parameter tuning against live performance

Training runs through a 16-module pipeline (training/) covering drift monitoring, daily retraining, multi-symbol orchestration, walk-forward validation, and backtesting — model updates are not manual, one-off retrains.

Strategy modules (16)

Rather than running 16 independent bots, the platform coordinates 16 strategy modules through a consensus layer:

  • antifragile.py — meta-framework orchestrating barbell allocation across the ensemble
  • strategy_mux.py — multi-strategy consensus and weighted voting
  • decision_engine.py — risk gate and signal fusion pipeline
  • decision_council.py — individual model voting with veto logic
  • confluence_engine.py — multi-timeframe confluence scoring
  • regime_adaptive.py — regime-aware parameter shifting
  • rl_agent.py — the SAC meta-optimizer described above
  • auto_evolve.py — live edge-decay tracking and parameter evolution
  • model_orchestra.py — ensemble inference coordinator
  • microstructure_filter.py — order-book toxicity and execution-quality guard
  • tail_risk.py — fat-tail hedge positioning
  • opportunity_scorer.py, vol_harvester.py, guerrilla_integration.py, confluence_engine.py, profiles.py — signal ranking, volatility-reversion capture, tactical cascade handling, and per-profile parameterization

Why ensemble, not single-model

A single model failing or drifting degrades gracefully rather than taking the whole system down — the consensus layer down-weights underperforming signals continuously (auto_evolve.py) instead of requiring a manual intervention to notice and fix. This is the same principle documented in Engineering Practice: the system is built to keep functioning without a person in the loop for routine degradation.