Model Risk Inventory — SR 11-7 Compliance
Last Updated: 2026-04-11
Owner: QGTM AI
Review Cadence: Quarterly
This inventory documents all quantitative models used in the QGTM trading
platform per Federal Reserve SR 11-7 (Supervisory Guidance on Model Risk
Management) requirements.
Model Registry
M-001: Time-Series Momentum (TSMOM)
| Field |
Value |
| Model ID |
M-001 |
| Name |
Time-Series Momentum |
| Owner |
@kobeforever23 |
| Validator |
Independent (pending) |
| Version |
1.0.0 |
| Module |
qgtm_strategies/tsmom.py |
| Type |
Signal generation |
| Methodology |
Moskowitz, Ooi, Pedersen (2012) "Time Series Momentum" JFE |
| Inputs |
Price returns (1d, 5d, 21d, 63d, 252d), realized vol |
| Output |
Signal weight [-1, 1] per asset |
| KPI Threshold |
OOS Sharpe > 0.3, PBO < 0.5 |
| Decay Monitor |
Rolling 6/12/24m Sharpe vs in-sample |
| Rollback Plan |
Disable strategy in allocator, revert to prior version |
| Last Validated |
2026-04-11 (backtest audit) |
M-002: Cross-Sectional Momentum (XSMOM)
| Field |
Value |
| Model ID |
M-002 |
| Name |
Cross-Sectional Momentum |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/xsmom.py |
| Methodology |
Jegadeesh & Titman (1993), adapted for commodity ETFs |
| KPI Threshold |
OOS Sharpe > 0.3, PBO < 0.5 |
| Decay Monitor |
Rolling 6/12/24m Sharpe |
| Rollback Plan |
Disable in allocator |
M-003: Kalman Filter Pairs (GLD/SLV)
| Field |
Value |
| Model ID |
M-003 |
| Name |
Kalman Filter Pairs Trading |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/kalman_pairs.py |
| Methodology |
Kalman filter hedge ratio estimation, z-score mean reversion |
| KPI Threshold |
OOS Sharpe > 0.5, max drawdown < 15% |
| Decay Monitor |
Spread stationarity (ADF test monthly) |
| Rollback Plan |
Disable; pairs may decouple structurally |
M-004: COT Positioning
| Field |
Value |
| Model ID |
M-004 |
| Name |
COT Speculator Positioning |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/cot_positioning.py |
| Methodology |
CFTC COT report z-scores, contrarian at extremes |
| PIT Requirement |
Tuesday snapshot, Friday release — 3-day lag enforced |
| KPI Threshold |
OOS Sharpe > 0.2 |
M-005: Volatility Risk Parity
| Field |
Value |
| Model ID |
M-005 |
| Name |
Volatility Risk Parity |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/vol_risk_parity.py |
| Methodology |
Inverse-volatility weighting across sectors |
| KPI Threshold |
Portfolio vol within 10% of target |
M-006: Inventory Surprise
| Field |
Value |
| Model ID |
M-006 |
| Name |
Inventory Surprise (EIA/USDA) |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/inventory_surprise.py |
| Methodology |
Event-driven: actual vs consensus z-score |
| PIT Requirement |
Real-time release at 10:30 ET (EIA) |
| Field |
Value |
| Model ID |
M-007 |
| Name |
Precious Metals Composite |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/precious_metals.py |
| Sub-models |
Gold macro regime, G/S ratio, miners leverage, seasonality, momentum/MR, silver industrial |
| KPI Threshold |
Composite OOS Sharpe > 0.4 |
M-008: Options Strategies
| Field |
Value |
| Model ID |
M-008 |
| Name |
Options Income Strategies |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/options_strategies.py |
| Sub-models |
Covered call, cash-secured put, vol premium, collar, ratio spread, event straddle |
| KPI Threshold |
Premium capture > 70%, max loss per trade < 5% |
M-009: ML Ensemble
| Field |
Value |
| Model ID |
M-009 |
| Name |
ML Ensemble (LightGBM) |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/ml_ensemble.py |
| Methodology |
LightGBM with purged k-fold CV, SHAP explainability |
| KPI Threshold |
OOS Sharpe > 0.3, feature importance stable across folds |
| Decay Monitor |
Feature drift (PSI), prediction calibration |
M-010: Forecasting
| Field |
Value |
| Model ID |
M-010 |
| Name |
Price Forecasting |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/forecasting.py |
| Methodology |
ARIMA, trend regression, volatility forecasting |
M-011: Regime Detector
| Field |
Value |
| Model ID |
M-011 |
| Name |
Market Regime Detector |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/regime_detector.py |
| Methodology |
Macro indicators (real rates, DXY, VIX, curve) → regime classification |
| Output |
Regime enum: RISK_ON, RISK_OFF, CRISIS, TRANSITION |
M-012: Pysystemtrade Patterns
| Field |
Value |
| Model ID |
M-012 |
| Name |
Carver Systematic Patterns |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_strategies/pysystemtrade_patterns.py |
| Methodology |
Carver (2015) "Systematic Trading" — EWMAC trend + carry |
M-013: Factor Risk Model
| Field |
Value |
| Model ID |
M-013 |
| Name |
Commodity Factor Risk Model |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_risk/factor_model.py |
| Methodology |
Barra-style: 9 factors, Ledoit-Wolf shrinkage, OLS betas |
| Factors |
market, energy, metals, agriculture, dollar, real_rates, volatility, carry, momentum |
| KPI Threshold |
R-squared > 0.6 across assets |
M-014: Portfolio Allocator
| Field |
Value |
| Model ID |
M-014 |
| Name |
Multi-Strategy Allocator |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_portfolio/allocator.py |
| Methodology |
Equal-risk, inverse-vol, regime-aware blending, adaptive leverage |
| KPI Threshold |
Portfolio Sharpe > weighted average of strategy Sharpes |
M-015: EVT Tail Risk Estimator
| Field |
Value |
| Model ID |
M-015 |
| Name |
EVT Peaks-Over-Threshold |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_risk/evt.py |
| Methodology |
Generalized Pareto Distribution fit on loss exceedances; McNeil & Frey (2000) |
| Output |
VaR and Expected Shortfall at 95%/99%/99.9% confidence |
| KPI Threshold |
KS p-value > 0.05 (GPD fit quality) |
M-016: Stress Testing Lab
| Field |
Value |
| Model ID |
M-016 |
| Name |
Historical + Monte Carlo Stress Testing |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_risk/stress.py |
| Methodology |
Factor-shock replay of 10 historical crises + MC simulation |
| Scenarios |
1973 oil, 1980 gold, 1987, 2008, 2011 silver, 2014 oil, 2015 China, 2020 WTI, 2022 nickel, 2022 energy |
M-017: Decay Monitor
| Field |
Value |
| Model ID |
M-017 |
| Name |
Strategy Decay Detection |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_risk/decay_monitor.py |
| Methodology |
Rolling Sharpe comparison vs in-sample; Lopez de Prado (2018) AFML Ch. 11 |
| Thresholds |
WARNING < 60%, DECAYED < 50%, QUARANTINE < 30% |
M-018: Transaction Cost Analysis
| Field |
Value |
| Model ID |
M-018 |
| Name |
TCA Engine |
| Owner |
@kobeforever23 |
| Version |
1.0.0 |
| Module |
qgtm_execution/tca.py |
| Methodology |
Arrival price, VWAP, IS benchmarks; Kissell (2013) |
Validation Schedule
| Quarter |
Models Due |
Validator |
| Q2 2026 |
M-001 to M-005 |
Independent |
| Q3 2026 |
M-006 to M-010 |
Independent |
| Q4 2026 |
M-011 to M-014 |
Independent |
| Q1 2027 |
Full re-validation |
Independent |
Change Control
All model changes require:
1. RFC document in docs/rfcs/
2. Walk-forward backtest with PBO < 0.5, DSR confidence >= 0.95
3. Code review via CODEOWNERS (2-person for risk paths)
4. Updated model inventory entry
5. Signed commit