30-day options skew percentile
Is Bitcoin and Ethereum 30-day 25-delta call-versus-put implied volatility skew unusual compared with its own recorded history?
Source: recorded exchange public APIs, whole-chain hourly metrics. RR25 is the 30-day constant-maturity 25-delta call IV minus 25-delta put IV, in signed volatility points (negative = puts priced richer). The comparison window covers the prior 30 calendar days of observed history. A percentile describes past readings only; it is not a forecast or a trade recommendation.
BTC and ETH · 30-day risk reversal in its observed range
| Coin / public source | Current RR25 (vol pts) / source UTC | Percentile | Prior median (vol pts) | Prior min / max (vol pts) | Reference coverage / status |
|---|---|---|---|---|---|
| BTC implied volatility Binance + Bybit |
−2.64 2026-10-16 11:00 UTC |
22.2% | −1.75 | −3.78 / +0.34 | 383 / 720 hourly samples (53.2%) Observed span 17.04 days First: 2026-09-29 09:00 UTC Last: 2026-10-16 10:00 UTC Usable history |
| ETH implied volatility Binance + Bybit |
−1.21 2026-10-16 11:00 UTC |
60.8% | −1.67 | −3.30 / +1.34 | 383 / 720 hourly samples (53.2%) Observed span 17.04 days First: 2026-09-29 09:00 UTC Last: 2026-10-16 10:00 UTC Usable history |
Midrank percentile = 100 × (prior readings below current + half the prior readings equal to current) / prior reading count. The current hour is excluded from its own reference window; duplicate readings within one UTC hour count once (the latest). A constant history equal to the current reading gives the 50th percentile. Zero is a real reading (call and put IV equal), not missing data.
Coverage is observed unique reference hours / 720 possible hours in 30 days. Gaps are not filled. First/last timestamps describe the reference samples, separately from the current reading's source timestamp. A percentile requires at least 168 prior hours spanning 7 days and a current reading no older than 2 hours. Hidden venues never contribute to displayed combined history; a single public venue uses its own recorded series. Refresh: 120 seconds after a successful read, 30 seconds after a failed one.