This project implements a delta- and vega-neutral reverse dispersion trading strategy using historical options and correlation data.
Website Link: https://dispersion-algorithm.streamlit.app/
After observing a significant divergence between implied and realized correlation starting mid-April 2025, we pivoted from traditional dispersion to reverse dispersion.
The chart below shows SPX 3M Implied Correlation (white) vs. SPX 3M Realized Correlation (blue):
Observation: Around June 23, 2025, realized correlation dropped, but remained above implied correlation. Combined with low volatility in individual stocks and sustained index movement, this created a favorable setup for reverse dispersion β where short single-name straddles benefited from decay, and the long index straddle captured broader market moves.
In reverse dispersion, we short single-name option straddles and long the index straddle, aiming to profit when realized correlation stays higher than implied correlation.
The strategy works best when stocks move together (high realized correlation), but not by much individually. In this case, the single-name options lose value from theta decay and implied volatility bleed, while the index straddle benefits from capturing the broader marketβs movement.
Even if realized correlation starts to fall, reverse dispersion can still perform well as long as it's higher than implied correlation, which creates the pricing mismatch the trade is based on.
Key properties of our reverse dispersion trading algorithm:
- Vega-neutral: Net vega exposure is dynamically neutralized using SPY straddles to focus on the alpha generated from correlation mispricing, not volatility exposure.
- Rolling Adjustments: Positions are rebalanced daily based on new greeks and prices.
- Expiry-Aware: Hedging stops within 3 days of expiry to prevent tail-end risk.
- β Dynamic Vega Hedging
- β Expiry-aware Hedge Suppression
- β Daily Net Vega Monitoring
- β PnL Logging by Leg (Index vs. Stocks)
- β Data From Polygon API and Bloomberg Terminal
dispersion.ipynbβ Strategy logic + backtest loopBloomberg_Vega.xlsxβ Historical vega inputsoptimized_weights.xlsxβ Portfolio weights.envβ (not committed) stores API keys
Installation and dependencies:
git clone https://github.com/jeffery05/dispersion-strategy.git
pip install -r requirements.txt Create a .env file with your Polygon.io API keys:
STOCK_API_KEY=your_polygon_stocks_api_key_here
OPTIONS_API_KEY=your_polygon_options_api_key_hereRun the notebook: dispersion.ipynb
This reverse dispersion strategy achieved a total return of +10.4% over the one-month backtest period (June 23, 2025 β July 25, 2025). It used a dynamic vega-neutral hedging mechanism with a maximum vega imbalance threshold of Β±10% before re-hedging.
Daily percentage PnL for the long leg, short leg, and total portfolio is visualized below:
Built by the UW FARMSA Quantitative Research Team (Summer 2025) for academic and research purposes. Inspired by real-world institutional volatility strategies.


