The Correlation Problem, Part 3: Building Correlation-Aware Hedging
Part 69 — Applying this to an allocator, when to trust TLT, when to substitute, and how to size hedges dynamically
This is part 69 of my series — Building & Scaling Algorithmic Trading Strategies
Parts 1 and 2 established the problem: correlation isn’t stable, and it tends to flip positive exactly when you need your hedge most. We covered the math of conditional correlation and three approaches to modeling it dynamically (DCC-GARCH, copulas, HMM).
Now the practical question: what do we actually do about it?
This post covers four things:
How to size hedges when correlation is uncertain
Alternative hedge instruments beyond TLT
A VIX-based framework for dynamic allocation
Applying this to my V6 Dual Allocator
The Sizing Problem
Standard portfolio theory gives you optimal hedge weights assuming you know the correlation. The formula for a two-asset portfolio volatility:
σ_p² = w₁²σ₁² + w₂²σ₂² + 2w₁w₂ρσ₁σ₂If you’re holding SPY (σ ≈ 16%) and TLT (σ ≈ 12%) in a 70/30 mix with correlation ρ = -0.35, you get:
σ_p² = 0.70² × 0.16² + 0.30² × 0.12² + 2 × 0.70 × 0.30 × (-0.35) × 0.16 × 0.12
= 0.0125 + 0.0013 - 0.0028
= 0.0110
σ_p = 10.5%That’s a 34% reduction from SPY’s 16% volatility. Nice.
But what if correlation is actually +0.40 during the drawdown that matters?
σ_p² = 0.0125 + 0.0013 + 0.0032 = 0.0170
σ_p = 13.0%Now you only get 19% vol reduction. And worse — during the crisis, your 30% TLT allocation is adding to losses rather than offsetting them.
The chart shows portfolio volatility as a function of correlation. The green band marks where you expect to be (ρ ≈ -0.35). The red band marks where you actually end up during crises (ρ ≈ +0.40). The difference is the hedge failing.
If you size your hedge assuming correlation stays at -0.35, you’ll be underhedged when it flips. If you size assuming it might flip to +0.40, you’ll be overhedged in normal times. There’s no free lunch — you’re choosing where to take the risk.
Alternative Hedge Instruments
TLT is the default hedge because it has strong negative correlation with equities in normal times. But that correlation is unstable precisely because TLT is driven by interest rate expectations, which behave differently during monetary policy crises (2022) vs. deflationary panics (2008, 2020).
Other instruments have different correlation profiles:
The left panel shows correlation with SPY in normal vs. crisis regimes. The right panel shows the shift — how much correlation changes between regimes.
Observations:
TLT (20+ Year Treasury)
Normal: ρ ≈ -0.35
Crisis: ρ ≈ +0.40
Shift: +0.75
Verdict: Great normal hedge, unreliable in rate-driven crises
IEF (7-10 Year Treasury)
Normal: ρ ≈ -0.25
Crisis: ρ ≈ +0.25
Shift: +0.50
Verdict: Less effective but more stable than TLT
SHY (1-3 Year Treasury)
Normal: ρ ≈ -0.10
Crisis: ρ ≈ +0.05
Shift: +0.15
Verdict: Minimal hedging benefit, but stable. Essentially cash with yield.
GLD (Gold)
Normal: ρ ≈ +0.05
Crisis: ρ ≈ +0.15
Shift: +0.10
Verdict: Uncorrelated, not negatively correlated. Different risk factor.
Cash (T-Bills)
Normal: ρ = 0
Crisis: ρ = 0
Shift: 0
Verdict: Perfect correlation stability. No upside, but no correlation surprise.
TAIL (Put Spread ETF)
Normal: ρ ≈ -0.15
Crisis: ρ ≈ -0.70
Shift: -0.55
Verdict: Correlation goes MORE negative in crises. True tail hedge.
The pattern is clear: instruments that provide strong negative correlation in normal times (TLT) tend to flip during certain crises. Instruments with stable correlation (SHY, cash) don’t provide much normal-time benefit. Explicit tail hedges (puts, TAIL) are the only instruments where correlation improves during stress — but they carry substantial drag in normal times.
The Hedge Barbell
One approach: instead of a single hedge instrument, use a barbell.
Core hedge (stable): SHY or short-term treasuries. Low return, low volatility, near-zero correlation in all regimes. This provides ballast.
Crisis hedge (convex): Put spreads, TAIL ETF, or VIX calls. Negative carry in normal times, explosive payoff in crises. This provides actual protection when you need it.
Opportunistic hedge (conditional): TLT, but only when correlation is likely to behave. Reduce or eliminate when VIX is elevated and correlation may flip.
The math:
Traditional: 70% SPY + 30% TLT
Barbell: 70% SPY + 15% SHY + 10% TLT + 5% TAIL
In normal times:
- Traditional outperforms (TLT has better return than SHY)
- Barbell pays drag on TAIL (~60bps/year)
In crisis:
- Traditional: TLT may add to losses
- Barbell: SHY is stable, TAIL explodes, limited TLT damage
The barbell sacrifices some normal-time return for crisis reliability. Whether that tradeoff is worth it depends on your utility function and how much you hate left-tail surprises.
VIX-Based Dynamic Allocation
Rather than static weights, adjust hedge composition based on regime signals. VIX is the simplest proxy — not because it predicts crashes, but because it tells you what regime you’re likely in.
Three approaches:
Static (gray): 30% hedge in all conditions. Simple, but ignores regime information.
VIX-scaled (blue): Increase hedge allocation as VIX rises. Logic: higher VIX = higher risk = need more hedge. Problem: doesn’t account for correlation flip.
Correlation-aware (green): Adjust both hedge size and composition based on VIX regime.
VIX < 15 (Low volatility)
- Correlation likely stable at ρ ≈ -0.40
- TLT hedge works well
- Allocation: 65% SPY, 35% TLT, 0% alternatives
- Rationale: harvest TLT's negative correlation
VIX 15-20 (Normal)
- Correlation at baseline ρ ≈ -0.30
- Standard allocation
- Allocation: 70% SPY, 30% TLT, 0% alternatives
- Rationale: baseline case
VIX 20-30 (Elevated)
- Correlation may be shifting
- Begin transitioning hedge composition
- Allocation: 70% SPY, 15% TLT, 10% SHY, 5% cash
- Rationale: reduce TLT exposure as correlation becomes uncertain
VIX > 30 (Crisis)
- Correlation likely positive or unstable
- Minimize correlation-dependent hedges
- Allocation: 65% SPY, 5% TLT, 15% SHY, 10% cash, 5% puts
- Rationale: stability over hedging efficiencyThis is not a prediction model. It’s a regime-appropriate allocation. You’re not saying “VIX > 30 means crash coming.” You’re saying “VIX > 30 means I’m in a regime where TLT’s correlation is unreliable, so I’ll use hedges that don’t depend on correlation.”
Backtest: Does It Help?
Synthetic backtest with three crisis periods where correlation flipped positive:
The top panel shows cumulative returns. The bottom panel shows drawdowns.
Results:
Strategy Return Vol Sharpe Max DD
─────────────────────────────────────────────────
100% SPY High High 0.69 -20.5%
Static 70/30 Medium Med 0.39 -16.0%
Correlation-aware Medium+ Med- 0.51 -14.7%
The correlation-aware approach doesn’t dramatically outperform on returns — it slightly underperforms in calm periods due to holding less TLT. But it reduces maximum drawdown and improves Sharpe ratio by avoiding the “hedge becomes a second loss” problem during crises.
The shaded regions are the crisis periods. Notice how the static 70/30 (blue) and correlation-aware (green) diverge specifically during crises — that’s where the hedge composition difference matters.
The Full Framework
Putting it all together:
This isn’t the only valid framework. It’s a framework — one that trades some normal-time return for crisis robustness. Adjust the thresholds and allocations based on your risk tolerance.
Implementation notes:
Rebalancing frequency: Check VIX daily, but only rebalance when regime changes. Don’t trade on VIX noise.
Threshold hysteresis: Avoid whipsawing by requiring VIX to cross a threshold by some margin (e.g., VIX must hit 32 to trigger crisis mode, then drop below 28 to exit).
Transition speed: Don’t snap to new allocations. Transition over 3-5 days to reduce timing luck and transaction costs.
Cost awareness: The TAIL/puts allocation has significant drag. Size it appropriately — 5% is meaningful protection, 20% is expensive insurance.
Application to V6
The V6 Dual Allocator uses momentum signals to switch between TQQQ (risk-on) and TLT (risk-off). The correlation problem surfaces when the allocator correctly identifies a negative momentum regime and shifts to TLT — but TLT also falls because correlation has flipped.
Modifications that I’m considering and will experiment with:
Replace TLT with a barbell in risk-off mode:
Current: 100% TLT when risk-off
Proposed: 60% TLT + 30% SHY + 10% cash when risk-offAdd VIX gating to the risk-off allocation:
If risk-off AND VIX > 30:
Use 40% IEF + 40% SHY + 20% cash (avoid long-duration)
Else:
Use standard TLT allocationExplicit tail hedge sleeve:
Allocate 2-5% of portfolio to rolling put spreads or TAIL
Funded by slightly reducing TQQQ allocation in risk-on modeCorrelation monitoring:
Track rolling 20-day SPY/TLT correlation
If correlation > 0 for 5+ consecutive days while in risk-off:
Alert + consider manual override to cashNone of these are silver bullets. They’re incremental improvements that acknowledge correlation uncertainty rather than assuming it away.
The Chess Lesson
In chess endgames, there’s a principle: “Do not hurry.” When you have a winning position, the danger is rushing and allowing counterplay. The correct approach is to improve your position gradually, eliminating your opponent’s resources before executing the final combination.
Correlation-aware hedging follows the same logic. The danger isn’t the crash itself — it’s assuming your hedge will work and getting caught when it doesn’t. The correct approach is to build a hedging structure that degrades gracefully: some instruments for normal times, some for stability, some for true crisis protection.
You’re not trying to predict which regime you’ll be in. You’re building a position that doesn’t require prediction to survive.
Summary
Sizing under uncertainty
Hedge sized for ρ = -0.35 will be underhedged when ρ = +0.40.
Choose where to take the risk: normal-time efficiency or crisis robustness.
Instrument selection
TLT: strong normal-time hedge, unreliable in rate crises.
SHY/cash: stable but minimal hedging benefit.
TAIL/puts: true tail hedge, but carries drag.
The barbell approach
Core hedge (stable) + crisis hedge (convex) + conditional hedge (TLT).
Sacrifice some normal-time return for crisis reliability.
VIX-based regime allocation
Low VIX: trust TLT correlation.
High VIX: shift toward stable instruments.
Not prediction—regime-appropriate allocation.
V6 modifications
Replace pure TLT with barbell in risk-off mode.
Add VIX gating for duration exposure.
Consider explicit tail hedge sleeve.Code
The simulation code for Part 3 is available in the supplementary materials. Core function for regime-aware allocation:
def correlation_aware_allocation(vix, base_spy=0.70):
"""
Returns allocation dict based on VIX regime.
"""
if vix < 15:
return {'SPY': 0.65, 'TLT': 0.35, 'SHY': 0.0, 'cash': 0.0, 'puts': 0.0}
elif vix < 20:
return {'SPY': 0.70, 'TLT': 0.30, 'SHY': 0.0, 'cash': 0.0, 'puts': 0.0}
elif vix < 30:
return {'SPY': 0.70, 'TLT': 0.15, 'SHY': 0.10, 'cash': 0.05, 'puts': 0.0}
else:
return {'SPY': 0.65, 'TLT': 0.05, 'SHY': 0.15, 'cash': 0.10, 'puts': 0.05}
def apply_hysteresis(current_regime, vix, vix_history,
up_threshold=32, down_threshold=28, lookback=3):
"""
Prevent whipsawing by requiring sustained VIX moves.
"""
if current_regime == 'crisis':
# Need VIX below down_threshold for lookback days to exit
if all(v < down_threshold for v in vix_history[-lookback:]):
return 'normal'
else:
# Need VIX above up_threshold for lookback days to enter
if all(v > up_threshold for v in vix_history[-lookback:]):
return 'crisis'
return current_regimeAll code here is open source — use it, modify it, build on it. No guarantees about correctness or performance. Test everything yourself before deploying with real capital.
This concludes the Correlation Problem series. The core insight: correlation is not a constant, and portfolio construction that treats it as one will be surprised exactly when surprises hurt most. The solution isn’t better prediction — it’s building portfolios that don’t require stable correlation to function.
And of course, past correlation behavior does not guarantee future behavior—that’s literally the point of these posts.






