B. Curve & Carry Strategies (B.6--B.9)
Extract carry and basis signals from the gold and silver futures term structure. The futures curve embeds cost-of-carry and convenience yield. Deviations from fair value signal physical tightness or excess supply; roll yield is a persistent premium.
Term Structure Anatomy
graph LR
subgraph "Contango (Normal)"
F1C[Front Month<br/>$2,050] --> F2C[Second Month<br/>$2,060] --> F3C[Third Month<br/>$2,072]
end
subgraph "Backwardation (Physical Tightness)"
F1B[Front Month<br/>$2,080] --> F2B[Second Month<br/>$2,070] --> F3B[Third Month<br/>$2,058]
end
Fair carry model:
where \(r\) = risk-free rate (SOFR), \(s\) = storage cost (~25 bps for gold), \(y\) = convenience yield. When \(F_T < S_0 \cdot e^{(r+s)T}\), convenience yield is positive (backwardation).
B.6 GC Term Structure
Module: qgtm_strategies/gc_term_structure.py
Class: GCTermStructureStrategy
ID: gc_term_structure
Economic Rationale
Gold futures normally trade in contango due to cost-of-carry (storage + financing). When the curve flips to backwardation (front > back), it signals physical tightness -- strong demand for immediate delivery. Backwardation is a long signal; steep contango implies excess supply.
Signal Formula
Step 1 -- Basis computation:
Positive basis = backwardation. Negative basis = contango.
Step 2 -- Annualized roll yield:
Step 3 -- Z-score filter:
Step 4 -- Calendar spread deviation from fair carry:
Entry rules:
| Condition | Signal | Sizing |
|---|---|---|
| \(z_{\text{basis}} > 1.5\) (backwardation) | LONG | \(\min(0.5, z/4)\) |
| \(z_{\text{basis}} < -1.5\) (steep contango) | SHORT/FLAT | \(-\min(0.3, \|z\|/4)\) |
| Otherwise | FLAT | 0 |
Parameters
| Parameter | Default | Range |
|---|---|---|
zscore_window |
252 | 126--504 |
entry_z |
1.5 | 1.0--2.5 |
storage_cost_annual |
0.0025 | 0.001--0.005 |
max_weight |
0.5 | 0.2--0.8 |
Factor Exposures
| Factor | Loading |
|---|---|
| Metals | +0.6 |
| Carry | +0.7 |
| Momentum | +0.2 |
Capacity & Decay
- Max capacity: $35M
- Alpha half-life: 30 days
- Kill condition: Basis z-score model produces negative PnL in 4 of last 6 months
- Expected Sharpe: 0.5--0.9
References
- Gorton & Rouwenhorst (2006) "Facts and Fantasies about Commodity Futures"
- Erb & Harvey (2006) "The Strategic and Tactical Value of Commodity Futures"
- Szymanowska et al. (2014) "An Anatomy of Commodity Futures Risk Premia"
B.7 SI Term Structure
Module: qgtm_strategies/si_term_structure.py
Class: SilverTermStructureStrategy
ID: si_term_structure
Economic Rationale
Same framework as GC but silver-specific dynamics. Silver's higher industrial demand component (solar, electronics) creates larger basis swings and more frequent/dramatic backwardation episodes. The roll yield is more volatile but offers higher expected return per unit of risk.
Signal Formula
Positive basis (backwardation) + positive roll yield = long SLV.
Factor Exposures
| Factor | Loading |
|---|---|
| Metals | +0.5 |
| Carry | +0.8 |
Capacity & Decay
- Max capacity: $20M (silver market is smaller)
- Alpha half-life: 21 days (faster-moving industrial dynamics)
- Expected Sharpe: 0.4--0.8
References
- Gorton & Rouwenhorst (2006)
- Szymanowska et al. (2014)
- Koijen et al. (2018) "Carry"
B.8 Cross Carry
Module: qgtm_strategies/cross_carry.py
Class: CrossCarryStrategy
ID: cross_carry
Economic Rationale
Gold and silver have different convenience yields driven by distinct demand structures (monetary vs. industrial). When their carry diverges significantly, the spread tends to mean-revert as arbitrageurs exploit the differential. The carry itself is a risk premium.
Signal Formula
Step 1 -- Compute per-metal carry:
Step 2 -- Carry differential z-score:
Step 3 -- Spread trade:
| Condition | Long Leg | Short Leg |
|---|---|---|
| \(z_{\Delta C} > 1.5\) | GLD | SLV |
| \(z_{\Delta C} < -1.5\) | SLV | GLD |
| Otherwise | FLAT | FLAT |
Factor Exposures
| Factor | Loading |
|---|---|
| Carry | +0.9 |
| Metals | +0.1 |
| Momentum | +0.1 |
Capacity & Decay
- Max capacity: $25M
- Alpha half-life: 42 days
- Expected Sharpe: 0.5--0.8
Market-neutral
This is a relative value strategy with near-zero net metals exposure. Dollar risk is hedged by construction.
References
- Koijen et al. (2018) "Carry" -- Journal of Financial Economics
- Szymanowska et al. (2014)
- Bakshi & Panayotov (2013) "Predictability of Currency Carry Trades"
B.9 Backwardation Stress
Status: Planned
Economic Rationale
A multi-signal stress detector that combines term-structure inversion with physical market indicators (COMEX stocks, LBMA vault data, EFP spread) to detect delivery squeeze risk. Unlike B.6/B.7 which trade the basis directly, this strategy triggers only during extreme physical market stress and takes aggressive directional positions.
Signal Formula (Proposed)
| Component \(x_i\) | Weight \(w_i\) | Threshold \(\tau_i\) |
|---|---|---|
| GC backwardation z | 0.3 | > 2.0 |
| SI backwardation z | 0.2 | > 2.0 |
| COMEX registered drawdown z | 0.2 | < -2.0 |
| LBMA vault decline z | 0.15 | < -1.5 |
| EFP spread z | 0.15 | > 2.0 |
Entry when \(\text{stress\_score} \geq 0.7\). Exit when score falls below 0.4.
Expected Properties
- Max capacity: $15M
- Alpha half-life: 14 days (fast crisis alpha)
- Expected Sharpe: 0.6--1.0
References
- Pirrong (2012) "Commodity Price Dynamics: A Structural Approach"
- Working (1949) "The Theory of Price of Storage"