Comment on page

Option Pricing Mechanics

The option's prices are adjusted based on Black-Scholes model. The price (premium) changes because of updates of volatility. Where the volatility is market (trading) driven parameter. The price of underlying asset is taken from oracles.
Text
User goes long (user pays following premia)
User goes short (user receives following premia)
Call option
C(St, t) + fees
C(St, t) - fees
Put option
P(St, t) + fees
P(St, t) - fees
The Black-Scholes formula and how it works is well described on wikipedia which we currently use for the below description.
Call option
C(St,t)=N(d1)StN(d2)Ker(Tt)C(S_t, t) = N(d_1)S_t - N(d_2)Ke^{-r(T-t)}
d1=1σTt[ln(StK)+(r+σ22)(Tt)]d_1 = \frac{1}{\sigma\sqrt{T-t}}[ln(\frac{S_t}{K})+(r+\frac{\sigma^2}{2})(T-t)]
d2=d1σTtd_2=d_1-\sigma\sqrt{T-t}
Put option
P(St,t)=Ker(Tt)St+C(St,t)P(S_t, t) = Ke^{-r(T-t)}-S_t+C(S_t, t)
=N(d2)Ker(Tt)N(d1)St=N(-d_2)Ke^{-r(T-t)}-N(-d_1)S_t
Where
  • N - Standard normal cumulative distribution function
  • N' - Standard normal distribution function
  • S_t - Price of the underlying asset at a time t
  • K - Strike price
  • r - Annualized risk free rate
  • T - Time of option expiration
  • t - Current time
  • 𝝈 - is an AVERAGE BETWEEN NEW AND AFTER THE TRADE VOLATILITIES
The sigma below is defined in a way that arbitrageurs can arbitrage upto the point of the true volatility. Alternative is to use the “after the trade” volatility, which would motivate arbitrageurs and traders to split their trades into small ones and not converge to the true volatility.

Volatility updates

VOLATILITY (SIGMA) OF PUT AND CALL OPTIONS WILL BE CALCULATED SEPARATELY! SAME GOES FOR DIFFERENT MATURITIES!
σ=σt1+σt2\sigma = \frac{\sigma_{t-1}+\sigma_t}{2}
σt=f(σt1,PSt,Qt)=σt1+QtC\sigma_t = f(\sigma_{t-1}, PS_t, Q_t) = \sigma_{t-1} + \frac{Q_{t}}{C}
Where
  • C is a constant determining the speed at which the volatility changes
  • Q_t is size of trade at time t (denominated in the same currency as C)
    • Q_t is positive for long trade and negative for short trade
Alternatives (but problamatic) to this approach are:
  • Have a volatility oracle and price how far the market volatility is from the oracle as premia.finance is doing
  • Update volatility based on how much risk the liquidity pool is taking on
In an ideal world we would have an AMM where:
  • Splitting a trade between results in the same overall price
  • Splitting a trade results in the same final volatility parameter