Using Put-Call Parity to Assess Crypto Option Discount Rates
Summary
The document raises a pricing question about crypto options: whether a reported discount rate around 10% is unusually high, and whether observed option quotes imply a rate near 12% when checked against put-call parity. It presents bid and ask snapshots for ETH and BTC options, along with spot prices and time to maturity, as inputs for examining the relationship between calls, puts, the underlying asset, and discounting.
The material is a question and data example rather than a completed analysis. It does not provide the parity calculations, establish that the quoted rates are correct, or resolve whether differences arise from the risk-free rate, market conventions, or quote quality. Bid-ask spreads, missing quotes, and assumptions about the relevant funding or collateral rate may affect an inference from the snapshots, so the stated implied rate should not be treated as a general conclusion about crypto risk-neutral pricing.
Key ideas
- Put-call parity can be used to examine whether option prices are consistent with a chosen discount rate.
- The document supplies BTC and ETH option quotes, spot levels, and maturities for comparison.
- The author reports an implied rate near 12% when attempting to rule out arbitrage.
- The examples do not establish why the observed rate differs from a conventional treasury rate.
Tags
Full text
# High risk-free rate on crypto options
# High risk-free rate on crypto options
I've been looking at options on crypto (on Binance specifically). Binance reports using r=10% to calculate their IVs, which seems really high to me. I took some option prices and tried to solve for the risk free rate needed to prevent arbitrage via put-call parity (actual data below), and I'm getting that r~=12%.
Is there some reason why:
a) Crypto would have a higher risk free rate than the normal treasury rate?
b) Crypto options wouldn't obey risk-neutral pricing?
c) I'm mis-calculating something and these are actually consistent with the normal risk free rate?
Actual option price snapshots for ETH and BTC.
```
data = {
'K': [2800, 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800],
'CBid': [656.8, 516.2, 456.8, 401.8, 356.4, 305.8, 271.4, 231.4, 199.6, 173.0],
'CAsk': [None, 3000, 1919.8, 699.8, 361.4, 317.4, 276.2, 242.4, 209.8, 182.4],
'PBid': [91, 146.4, 185.4, 228.4, 276.6, 326.4, 390.4, 448.4, 520.8, 587.6],
'PAsk': [94, 154.8, 192.4, 232.2, 285, 335.8, 396.2, 463.8, 533, None]
}
# Second dataset for additional testing
data_2 = {
'K': [97000, 98000, 99000, 100000, 101000, 102000, 103000, 104000],
'CBid': [9665, 8935, 8100, 7480, 7025, 6455, 5915, 5410],
'CAsk': [10015, 9285, 8450, 7785, 7130, 6540, 5965, 5470],
'PBid': [1830, 2105, 2410, 2750, 3130, 3545, 3995, 4480],
'PAsk': [1850, 2130, 2440, 2780, 3160, 3575, 4025, 4510]
}
# Parameters for the underlying asset
S_1 = 3332.6 # Spot price for dataset 1
T_1 = 41 / 365 + 2.7 / (24 * 365) # Time to maturity in years for dataset 1
S_2 = 104444.2 # Spot price for dataset 2
T_2 = 13 / 365 + 8.5 / (24 * 365) # Time to maturity in years for dataset 2
```Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.