Skip to content

Trading Strategies

Overview

The QGTM platform runs 13 trading strategies across 6 strategy files, covering momentum, mean-reversion, event-driven, options income, ML, and systematic patterns.

All strategies implement the Strategy base class and declare:

  • Regime tags — which market regimes they should be active in
  • Factor exposures — for attribution and risk decomposition
  • Capacity model — max deployable capital based on market impact
  • Decay monitor — rolling Sharpe comparison to in-sample

Strategy Registry

# Strategy Type Module Rebalance
1 Time-Series Momentum Trend tsmom.py Daily
2 Cross-Sectional Momentum Rank xsmom.py Weekly
3 Kalman Filter Pairs Stat-Arb kalman_pairs.py Daily
4 Pairs Mean Reversion Mean-Rev mean_reversion.py Daily
5 COT Positioning Contrarian cot_positioning.py Weekly
6 Volatility Risk Parity Allocation vol_risk_parity.py Monthly
7 Inventory Surprise Event inventory_surprise.py Event
8 Precious Metals Composite Multi precious_metals.py Daily
9 Options Income Income options_strategies.py Monthly
10 ML Ensemble ML ml_ensemble.py Daily
11 Forecasting Forecast forecasting.py Daily
12 Regime Detector Filter regime_detector.py Daily
13 Carver Systematic Trend+Carry pysystemtrade_patterns.py Daily

Backtest Validation

Every strategy must pass before production deployment:

  • Walk-Forward OOS Sharpe > 0.3
  • PBO (Probability of Backtest Overfitting) < 0.5
  • Deflated Sharpe Ratio confidence ≥ 0.95
  • Stress tests: survive all 10 historical crisis scenarios
  • Decay monitor: 6m rolling Sharpe ≥ 50% of in-sample

References

  • Moskowitz, Ooi, Pedersen (2012) "Time-Series Momentum" JFE
  • Jegadeesh & Titman (1993) "Returns to Buying Winners and Selling Losers"
  • Lopez de Prado (2018) Advances in Financial Machine Learning
  • Carver (2015) Systematic Trading
  • Koijen et al. (2018) "Carry" JFE