Skip to content

Model Risk Inventory — SR 11-7 Compliance

Last Updated: 2026-04-14 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 @QGTMAI
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 @QGTMAI
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 @QGTMAI
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 @QGTMAI
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 @QGTMAI
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 @QGTMAI
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)

M-007: Precious Metals Composite

Field Value
Model ID M-007
Name Precious Metals Composite
Owner @QGTMAI
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 @QGTMAI
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 @QGTMAI
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 @QGTMAI
Version 1.0.0
Module qgtm_strategies/forecasting.py
Type Tactical support model
Methodology Alpaca-bar heuristic engine: EMA(21/50/200), RSI, 3m/12m momentum, realized-volatility regime checks, gold/silver ratio z-score, and support/resistance extraction
Inputs Daily Alpaca bars for GLD/SLV and related PM ETFs
Output Trend snapshots, volatility regime snapshots, ratio context, support/resistance levels, and ranked SignalEntry ideas
KPI Threshold Support output must degrade safely on missing data and remain directionally consistent with the underlying trend/volatility regime; no standalone Sharpe claim
Decay Monitor Drift between top-signal direction and realized move, plus stale-data / fetch-failure rate
Rollback Plan Return neutral / empty support outputs if Alpaca data is stale or incomplete; do not allow this layer to masquerade as a tradeable standalone model

M-011: Regime Detector

Field Value
Model ID M-011
Name Market Regime Detector
Owner @QGTMAI
Version 1.0.0
Module qgtm_strategies/regime_detector.py
Type Control / allocation model
Methodology Majority-vote classifier over three price-derived signals: realized volatility, momentum breadth, and average pairwise correlation
Inputs symbol, date, close features plus optional pre-computed vol / breadth / correlation overrides
Output Regime enum: RISK_ON, RISK_OFF, CRISIS, TRANSITION
KPI Threshold Regime transitions should be stable enough to avoid pathological flip-flopping; confidence is damped on regime change
Decay Monitor Excessive regime-churn frequency, disagreement between sub-signals, and allocation instability after regime switches
Rollback Plan Fall back to neutral / transition-style allocation weights if inputs are sparse or the classifier becomes unstable

M-012: Pysystemtrade Patterns

Field Value
Model ID M-012
Name Carver Systematic Patterns
Owner @QGTMAI
Version 1.0.0
Module qgtm_strategies/pysystemtrade_patterns.py
Type Supplemental forecast / position-sizing framework
Methodology Clean reimplementation of Rob Carver-style carry, EWMAC trend, forecast combination, FDM, IDM, and volatility-targeted sizing
Inputs Price history, optional front/deferred contract prices, volatility estimates, and portfolio weights
Output Carver-style forecast series plus CarverTrendStrategy and CarverCarryStrategy signal generation
KPI Threshold Forecast scaling and position-sizing logic remain stable under realistic PM price histories; not treated as a wrapper around the full pysystemtrade stack
Decay Monitor Forecast instability, forecast-diversification multiplier blowouts, and sizing anomalies under changing volatility regimes
Rollback Plan Disable supplemental Carver sleeves and fall back to the simpler PM trend/carry implementation if this layer drifts or over-complicates operator behavior

M-013: Factor Risk Model

Field Value
Model ID M-013
Name Commodity Factor Risk Model
Owner @QGTMAI
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 @QGTMAI
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 @QGTMAI
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 @QGTMAI
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 @QGTMAI
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 @QGTMAI
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