Historical % Change Distribution (-day)
Hit Rate by Window Size (1 to days)
Monte Carlo Simulated Distribution (-day, Student-t)
MC vs Historical Comparison
Detailed Window Breakdown
| Window (days) | Samples | Hits | Hit Rate | MC P(hit) |
Arbitrage Playbook — Polymarket vs Deribit Options
Select a bet to see arbitrage analysis with live Deribit prices.
P&L by BTC Price at Close (near expiry)
Execution Guide — Polymarket vs Deribit
1. Touch bets vs vanilla options
Polymarket Touch bets resolve YES if price ever hits the target. Deribit options are European vanilla — payout based on price at expiry only.
If BTC touches the target intraday: PM resolves YES immediately. Close the Deribit leg at market to capture the hedge P&L.
2. Deribit contract details
European-style, cash-settled in BTC. Contract sizes: 1 / 0.1 / 0.01 BTC. 24/7 trading (no weekend gaps).
Fee: 0.03% of underlying per side, capped at 12.5% of option price. Expiry: 08:00 UTC.
Prices are in BTC fractions (e.g., bid=0.003 means 0.003 BTC per 1-BTC contract = ~$${round(SPOT*0.003)} at current spot).
3. Close-before-expiry strategy
Close both legs 1–2 days before PM expiry. This avoids settlement timing mismatches and captures most of the edge.
Near expiry, PM converges to 0/1 and Deribit options converge to intrinsic value. The mispricing gap narrows — lock in profit before final settlement.
4. Sizing & P&L
Deribit pays in BTC. A call spread paying 0.01 BTC at BTC=$100k = $1,000 USD. Since the spread is BTC-denominated, USD P&L scales with BTC price.
PM pays in USD. Match the notional exposure: Deribit contracts × spread width in USD ≈ PM contract count × $1.
5. Alternatives
IBIT options (IBKR): Most liquid ETF options. $0.65/contract. American-style. Only during US market hours.
CME Micro BTC: 0.1 BTC, USD-settled, regulated. Less liquid.
IB1T/BTCN (EU ETP): Has NO listed options.
Methodology
Historical distribution approach: Uses BTC daily price data from June 8, 2018 to present (~2840 candles).
For each bet, we look at every possible N-day window in the historical data and count what fraction of windows would have resulted in a win.
P(Terminal): For an N-day bet on price above $X: count windows where close[i+N] / close[i] exceeds the required % move.
P(Touch): For an N-day bet: check sub-windows of 1, 2, ... N days from each starting tick.
For upside: did max(high[i+1..i+k]) exceed the target? For downside: did min(low[i+1..i+k]) breach the target?
A window counts as a hit if any sub-window hits.
Volatility adjustment: Each historical sample is weighted by how similar its volatility regime is to the current one, using a blended 30d + 120d approach.
Two independent Gaussian kernels are computed: w30(i) = exp(-0.5 * ((vol30_i - vol30_now) / (0.5 * vol30_now))^2) and
w120(i) = exp(-0.5 * ((vol120_i - vol120_now) / (0.5 * vol120_now))^2), then averaged: w(i) = (w30 + w120) / 2.
The 30d window captures short-term vol regime; the 120d window captures longer-term trends. This prevents both high-vol crash periods and secular trend shifts from skewing the probability estimate.
Monte Carlo simulation (Student-t): Simulates 10,000 price paths using daily log returns drawn from a Student-t distribution
fitted to historical BTC returns. The Student-t distribution has heavier tails than a normal distribution, capturing the fat-tailed nature of crypto returns
(excess kurtosis ≈ 20.85, fitted ν ≈ 4.3 degrees of freedom).
For touch bets, each simulated day also generates an intraday high/low range based on historical average daily ranges.
Also see: Index/Comparison Page • Full Market Dashboard