📈 Options VRP — Full Setup & Architecture
Volatility Risk Premium harvesting engine for Deribit BTC options
Infrastructure is 100% operational.
Realized-vol series computed (1,268 days).
Daily ATM-IV scraper deployed and tested.
Straddle-simulation backtest script ready.
The only missing piece is historical IV depth. We solve that with patience (daily scraper) or a paid data provider.
What Is VRP?
The Volatility Risk Premium is the empirical fact that option buyers systematically overpay for volatility.
- Implied Vol (IV) = what the market predicts BTC will do over the option's life.
- Realized Vol (RV) = what BTC actually does over the same period.
- When IV > RV, selling options collects more premium than you pay out.
- In BTC options, academic literature shows VRP ≈ 15–40% annualized.
Current Data: Realized Volatility
Computed from Binance BTC spot 15m → daily OHLCV. 1,268 days (2023-01 – 2026-06).
| Metric | Value |
| Daily rows | 1268 |
| 30-day RV mean | 44.9% |
| 30-day RV min | 16.8% |
| 30-day RV max | 83.9% |
Last 5 ultra-low-vol days:
| 2026-05-28 |
73617.51 |
0.267729 |
| 2026-05-29 |
73460.78 |
0.266826 |
| 2026-05-30 |
73884.38 |
0.266211 |
| 2026-05-31 |
73674.39 |
0.249853 |
| 2026-06-01 |
71408.90 |
0.268027 |
Last 5 ultra-high-vol days:
| 2026-03-02 |
68830.06 |
0.814581 |
| 2026-03-03 |
68338.00 |
0.811986 |
| 2026-03-04 |
72666.77 |
0.838762 |
| 2026-03-05 |
70890.72 |
0.832758 |
| 2026-03-06 |
68114.02 |
0.835400 |
Current IV Snapshot (Deribit)
date: 2026-06-23
timestamp_ms: 1782213255630
instrument_name: BTC-24JUN26-56000-C
strike: 56000.0
expiry_ms: 1782288000000
underlying_price: 62308.77
mark_iv: 95.93
mark_price: 0.1013
best_bid: 0.087
best_ask: 0.1055
The Data Pipeline
# 1. Run once: compute realized-vol history from Binance data
python3 analysis/deribit_vrp_build.py
→ analysis/deribit_data/btc_realized_vol.csv (1,268 rows)
# 2. Run daily via cron (00:01 UTC) — captures ATM IV
python3 analysis/deribit_atm_scraper.py
→ analysis/deribit_data/btc_atm_iv.csv (appends 1 row/day)
# 3. After ~30 days, run the backtest
python3 analysis/deribit_vrp_simulate.py
→ prints trade P&L and saves vrp_simulated_trades.csv
Strategy Mechanics (Backtest Skeleton)
- Entry signal: On day T, if ATM IV(T) > forward RV(T→T+30) + min_vrp, sell a 30-day ATM straddle.
- Hold: Exactly 30 calendar days (synthetic expiry). No early exits.
- P&L: Premium collected (function of IV) minus absolute price move % over the 30 days.
- Risk management: If underlying moves > breakeven %, trade loses. Black-swan tail risk is the silent killer.
- Position sizing: Fixed notional ($1,000 per straddle). Kelly-based sizing once track record exists.
Warning: historical IV data is shallow on free Deribit API.
The free endpoint returns only ~16 days of history. The daily scraper is the pragmatic fix — in 1–2 months you'll have enough for a 30-day forward backtest.
For an immediate deep backtest (2023–now), options:
1. Deribit Analytics paid plan (~$200/month)
2. TheBlock's Implied Vol endpoint
3. Scraping Deribit tick-trades retroactively (slow, IP-risk)
4. Academic datasets (Liao 2023 "Volatility Risk Premium in Bitcoin Options")
Correlation Break — Dead End (for reference)
The systematic-vs-idiosyncratic BTC signal fired zero trades across 16 windows. Either the move-confirmation thresholds are too strict, or cross-asset volume no longer clusters tightly enough on 15m to create systematic divergences worth trading.