Multi-Strategy Correlation: The Second-Order Discipline After Kelly
Kelly alone is not enough — cross-strategy correlation is the real constraint on total leverage. A 12-month empirical report.
— C. Yi
Kelly's formula sizes a single opportunity. A real quant fund never runs a single strategy — it runs 6, 12, sometimes 30 in parallel. Adding up per-strategy f*s exposes a hidden problem: strategies are not independent.
Consider two strategies that look uncorrelated: funding-rate arbitrage and options market-making. On 2024-07-21, a day of "perp liquidation cascade + sudden IV spike", they drew down simultaneously — the latent variable driving both was the same: a liquidity squeeze. Running them at their individual single-strategy f* would produce a portfolio drawdown 1.8× larger than either strategy alone.
Summing single-strategy Kellys gives a first-order optimum; constraining total leverage and per-strategy peak sizing through a covariance matrix gives the second-order optimum. F* Protocol's KellyPolicy ships the second-order version by default. Kelly is the formula; correlation is the craft.
We computed rolling 12-month covariance estimates across six strategies. The results are not surprising, but they are sobering — supposedly "uncorrelated" strategies show very different correlations across volatility regimes.
| STRATEGY PAIR | LOW-VOL Ρ | MID-VOL Ρ | HIGH-VOL Ρ |
|---|---|---|---|
| Funding × Options MM | 0.08 | 0.18 | 0.61 |
| MEV × CTA Trend | 0.04 | 0.09 | 0.34 |
| Yield+ × Active Alpha | 0.02 | 0.05 | 0.12 |
| Cross-mkt arb × MEV | 0.12 | 0.21 | 0.55 |
In a high-volatility regime, "uncorrelated" strategy pairs can jump from 0.08 to 0.61 — meaning a six-strategy book you thought was diversified is effectively closer to two independent units. This is why F*'s Allocation Engine does not implement static weights + single-strategy f*; it implements correlation-constrained dynamic fractional Kelly.
First-order Kelly
FIRST ORDERIndependent f*/4 per strategy · sum as total leverage · assumes zero correlation · roughly fine in low-vol regimes · grossly underestimates risk in high-vol
Second-order + covariance
SECOND ORDERBuild a 6×6 covariance matrix · rolling estimation · optimise "maximise geometric mean under covariance constraint" · F*'s KellyPolicy default
Third-order · regime switching
THIRD ORDERIdentify low/mid/high-vol regimes · use a different covariance matrix per regime · currently on the roadmap · requires protocol governance + a Policy submission
If you are launching a fund on F*: KellyPolicy already includes the second-order correlation constraint by default. If you want a custom covariance structure (e.g. block-diagonal between RWA treasury and crypto strategies), fork the ISettlementPolicy interface and submit to the Hub. The community will review, sign, and register it on-chain.
Kelly answers "how much"; correlation answers "how much can move at once". The second is harder than the first — it requires data, rolling estimation, and judgement about market-structure shifts. F* embeds this machinery as a protocol default because it is the line separating institutional-grade digital asset management from sizing by gut.