Skip to main content
In short: you hold crypto and ask, should I hedge this, and what does protection cost? This tool prices an option setup, like a protective put, on the latest day of data, and tells you if that price is cheap or dear against its own history. It also lists price levels to set alerts at, such as where a put starts to pay. Its history shows buying protection has lost money in every case measured, so a hedge makes sense for another reason, like a loan that would get liquidated. Tool: price_options For “should I hedge this” and “what does protection cost”. price_options takes a structure from list_option_structures, a currency and a tenor, and prices it on the latest day there is data for. It reads the market as it is now, and does not look back over history.
This page used to describe a backtest, and the tool was one: the answer opened with years, rolls and a total, and the cost of cover underneath came from the first roll of a window that starts in 2021. That price was quoted at a volatility index of 117.8 against a recent 51.8, so the headline figure was four years old and more than double the real one, and it was read as current every time. The history is now backtest_options, asked for on purpose.

What it answers

Dear or cheap is a percentile, not a level

“Implied volatility is 52” decides nothing on its own. BTC sits near 39 where ETH spent 2021 above 100, so an absolute number transfers between neither assets nor regimes. The answer ranks today against its own history: over one year, and over all of it. A percentile carries across assets: the bottom quartile means cheap for this asset, whichever asset it is.

Realised sits beside implied

Implied above realised is the premium a seller collects for underwriting the tail. It is the normal state, and the only question is how far above. Implied below realised is rare. It means the market is charging less for the risk than the risk has recently been, and the answer says so in words instead of leaving it inside a number.

Levels are prices with consequences

Each level says what happens if it trades, with its distance from spot: where a 0.9 strike starts paying, where a 0.8 put’s floor sits, where a 0.9/0.7 spread stops covering, and where a collar’s short call caps the gain. They are levels to watch, not entries, targets or advice.

What it costs is not what it does

A premium and a strike say what you pay and where protection starts. They do not say what the position is, and that is what changes between deciding and executing. Every answer carries four figures for the structure as held, netted across its legs: Owning options is positive gamma and vega and negative theta, always. A structure that sells a leg can be any sign, so read the figures rather than the shape’s name.

The index is a 30-day number and most hedges are not 30 days

DVOL is a 30-day reading. A 365-day option is not priced at the 30-day volatility, and a 7-day one is not either. The index is a single point on a curve. Two arguments carry the rest of the curve into the answer: Measured on a live chain, the markup on a 15%-out-of-the-money BTC put ran +38.6% at 8 days and +3.4% at 288. A one-year hedge priced at the short-dated skew is dear by several times. price_options_live prints the live curve by expiry; pass its long end here.

The skew is a choice, and it moves everything

The skew is the number of volatility points added to the at-the-money index to price strikes away from it. It is an assumption, not a measurement, and it moves the premium more than any other input: the same structure priced at two plausible skews gives answers that differ by more than the difference between hedging and not hedging. Every answer states the skew it used. A result quoted without it is a number with no error bar, presented as a fact.

Strikes come from the structure, or from you

collar is a 0.9 put against a 1.1 call; putspread is a 0.9 put against a 0.7 put. Those are the defaults, and they are what you get by naming the structure alone. list_option_structures prints every leg. To price a different one, pass strikes: one per leg, in the order that page lists them, each a multiple of spot:
There is no moneyness argument, and asking for one is refused rather than ignored. It used to be accepted and discarded: every request (1.0, 0.9, 0.8, 0.7) came back priced at the structure’s own 0.8, labelled with the number that had been asked for.A strike count that does not match the structure’s legs is refused for the same reason. Handing a two-leg collar one strike used to price the catalogue’s collar and report it under your number.
Measured on ETH at a spot of $2,515.61, the override does what it says: The premium falls as the strike moves further out, and the implied volatility rises as the strike falls. That rise is the skew described above, showing up in a price.

What the history says, when you ask it

Buying protection has not worked at any strike, spend or tenor measured. At-the-money insurance costs something like 30–40% a year against the asset’s own drift: the premium compounds every roll, and the payoff arrives only in a fall large enough to clear what the previous rolls cost. That comes from the measurements. It does not rule a hedge out, but the case for one has to rest on something other than expected return:
  • a drawdown that would force a sale at the bottom
  • a loan that would liquidate
  • a cashflow that has to survive one specific quarter
An agent that prices a put without saying this answers the literal question and misses what the person meant.
  • compare_options: all nine structures at once, which is the right first call when somebody wants to know their options.
  • price_options_live: the real Deribit book, when somebody is about to trade.
  • backtest_options: what the shape would have done.