COP Correlation & Copulas
When markets crash, everything crashes together
Learning Objectives
- •Understand how correlations change during crises
- •Learn what copulas are and why they matter for portfolio risk
- •Build realistic joint risk models
- •See the correlation breakdown during market stress
Explain Like I'm 5
In calm markets, EURUSD and GBPUSD might be 60% correlated. During a crisis, suddenly they're 95% correlated — everything moves together. Your "diversified" portfolio isn't diversified when you need it most. Copulas model this — they capture how relationships between assets change during extremes.
Think of It This Way
In good times, your friends have different opinions. In a crisis, everyone panics the same way. Copulas model this "crisis behavior" — how relationships strengthen under stress. For portfolios: diversification disappears exactly when you need it most.
1Correlation Isn't Constant
2Normal vs Crisis Correlations
Asset Correlations: Normal vs Crisis
3What Copulas Do
4The 2008 Copula Disaster
5Portfolio Heat — Practical Monitoring
Portfolio Heat (Correlation-Adjusted Exposure)
Key Formulas
Pearson Correlation
Linear correlation between X and Y. Ranges from -1 to +1. Standard measure but misses non-linear and tail dependencies.
Tail Dependence Coefficient
Probability that Y crashes given X crashes. Gaussian copula: λ=0. Student-t copula: λ>0. For finance, λ>0 is reality.
Hands-On Code
Normal vs Crisis Correlations
import numpy as np
def correlation_regimes(returns_a, returns_b, threshold_pct=10):
"""Compare correlation in normal vs crisis periods."""
thresh_a = np.percentile(returns_a, threshold_pct)
thresh_b = np.percentile(returns_b, threshold_pct)
crisis = (returns_a < thresh_a) | (returns_b < thresh_b)
corr_normal = np.corrcoef(returns_a[~crisis], returns_b[~crisis])[0,1]
corr_crisis = np.corrcoef(returns_a[crisis], returns_b[crisis])[0,1]
print(f"Normal correlation: {corr_normal:.3f}")
print(f"Crisis correlation: {corr_crisis:.3f}")
print(f"Increase: {corr_crisis - corr_normal:+.3f}")
print(f"Your 'diversified' portfolio is {corr_crisis/corr_normal:.1f}x")
print(f"more correlated during crises")Crisis correlations are consistently higher than normal. This is empirical fact. Any risk model using fixed correlations underestimates joint tail risk.
Knowledge Check
Q1.Why did the Gaussian copula contribute to the 2008 crisis?
Assignment
Compute correlation between two currency pairs during "normal" and "crisis" periods (worst 10% of returns). Verify that crisis correlation is higher. Discuss what this means for position sizing with multiple correlated positions.