Search
K

Options Pricing

Options Pricing

The pricing model presented is the mk1 implementation used for pricing options through the DHV and will be iterated on during its lifetime. At a high level, the price of an option is a combination of 4 functions:
  1. 1.
    Vanilla black scholes price, using:
    1. 1.
      Implied volatility read from a stochastic volatility model (SABR) for the smile, calibrated off-chain to Deribit volatilities for each expiry
    2. 2.
      Interest rate, calculated from spot and Deribit futures
  2. 2.
    Slippage Model
  3. 3.
    Spread Model
  4. 4.
    Trading Fee

1. Vanilla Black Scholes and SABR

The standard black scholes model is used to get a base price of an option. The implied volatility is passed in to achieve a preliminary option price, retrieved from a SABR volatility model based on off-chain volatility, price and interest rate data.
For more information on the volatility model see: Volatility and Pricing

2. Slippage Model

At a high level, the slippage model is represented as an exponential function and takes into account:
  1. 1.
    The current delta exposure of the DHV for a given instrument
  2. 2.
    The size of a trade
Multipliers are then applied to the gradient of the exponential function to enable customisability of the slippage at different delta values.
x = netDhvExposure — The book’s current position in this instrument. e.g. DHV being short five contracts means x = -5.
a = amount — the number of contracts the user is trading
b = base slippage gradient
s = gradient multiplier — depends on the delta
g = slippage gradient = b * s — Higher gradient implies higher slippage.
n = newExposureExponent = x + a for a sale
n = newExposureExponent = x - a for a buy
Note: when a trader sells a contract to the DHV, the DHV’s position increases by 1, hence “x+a” for a sale.
q = oldExposureExponent = x
m = slippageMultiplier =
If a user is selling to DHV:
m=(((1+g)q(1+g)n)/ln(1+g))/am = (((1+g)^{-q} - (1+g)^{-n})/ln(1+g))/a
If a user is buying from the DHV:
m=(((1+g)n(1+g)q)/ln(1+g))/am = (((1+g)^{-n} - (1+g)^{-q})/ln(1+g))/a
price = vanillaPremium * m

3. Spread Model

Spread is the price difference between buying and selling the same option at a given time. In orderbook models like Deribit the spread is the difference between the bid and ask price of a given option at a given time.
There are three separate aspects to the spread function:
  1. 1.
    Collateral Lending Premium: Spread as a function of the APY lost by collateralising an option instead of gaining interest on that collateral amount
  2. 2.
    Delta Hedging Premium: Spread as a function of the cost to hedge the delta of the option being purchased or sold
  3. 3.
    "Handbrake": A percentage reduction that is applied to the IV (Implied Volatility) to bring down the price of an option when the DHV is buying (user selling to DHV)

Collateral Lending Premium

A spread function applied ONLY to options the DHV is selling and of those, ONLY to options that result in a net short position on that series by the DHV (e.g. if DHV is net 10 long and sells 30 new contracts of the same series, the spread is applied to the 20 net short contracts).
The function is:
c(1+r)tcc * ( 1 + r )^t - c
c = collateral requirements of the DHV for that series - this is the minimum required collateral, excluding any additional safety buffer used by the DHV for collateral management
t = time to expiry, in years
r = collateral lending rate

Delta Hedging Premium

A "delta hedging premium" applies a premium proportional to the total delta of the transaction, for the life of the option.
The delta hedging premium covers the cost of “renting” the delta to hedge the option, for the life of the option. When hedging longer-dated options we need to rent the delta (e.g. from Rage Trade or GMX) which takes the form of a rate.
e.g.
deltaSpread=d(1+rd)tddelta Spread = d*(1+r_d)^t - d
d = dollar delta of a position
t = expiry times, in years
r_d = delta borrow rate (funding rate) - different for long and short options (i.e. r_d_long r_d_short)

Handbrake

When the DHV is buying:
h = bidAskIVSpread
If the option is being bought by the DHV:
adjusted_iv = iv * (1 - h)

4. Fees

  • Fees are applied as a fixed dollar amount per contract
  • Fees limits:
    • If a trade frees collateral up in the DHV: Fees are capped at a maximum of 12.5% of the premium
    • If a trade consumes collateral in the DHV: In the unlikely event where fees are less than 12.5% of the premium the transaction is reverted.