13. How the price that I have to pay to buy an option is determined by Option Panda?

First, let's explain how traditional option marketplace is constructed.
In a traditional option marketplace like Deribit, on one side, you have an option seller, who underwrites an option for sale. The price he offers is called the “ask” price; On the other side, there is an option buyer, who wants to buy an option with another price(typically lower than “ask” price). The price he offers is called the “bid” price. The price difference between the “bid” price and the “ask” price is called bid-ask “spread”. As you can see, the prices offered from both buy/sell sides are quite arbitrary, you can derive their respective “implied volatility” from the Black Scholes formula.
Cryptocurrencies are generally non-interest bearing asset. To explain the fairness of our option pricing model, let’s do some calculus here.
Option Panda only generates ATM options. And we use a nice and delicate Black-Scholes model, combined with a Dynamic Sigma Adjustment mechanism to achieve real-time computation of option price. For more information, please refer to the following:
Assumptions: (1) BTC/ETH/LTC, those major crypto assets are essentially non-interest bearing, which means there is no central authority to guarantee those assets to receive risk-free yield. Therefore, the risk-free rate r in the Black-Scholes model should be set at 0. (2) we only price ATM options.
The original Black-Scholes model is:
C=S×N(d1)K×N(d2)ertwhere:S=spot price of assetK=option strike price of assetr=risk free interest ratet=option expiry durationN() is the cumulative distribution function(CDF)C= S\times N(d_1) - K\times N(d_2) e^{-rt}\\ where: \\ S=spot\space price\space of\space asset\\K = option\space strike\space price\space of\space asset\\ r = risk \space free\space interest\space rate \\ t = option\space expiry\space duration \\N()\space is\space the\space cumulative\space distribution\space function (CDF)
d1=log(SK)+(r+σ22)×tσ×t0.5d2=d1σ×t0.5σ is the implied volatilityd_1 = \frac {log(\frac S K) + (r + \frac {\sigma^2} 2) \times t} {\sigma \times t^{0.5} } \\ \\ \\ d_2 = d_1 - \sigma\times t^{0.5} \\ \\ \\ \\ \\ \sigma \space is\space the\space implied\space volatility
With the assumptions in mind, r = 0 and S=K. Therefore the Black-Sholes model translates to:
C=S×N(d1)S×N(d2)=S×(N(d1)N(d2))C=S\times N(d_1) - S\times N(d_2) = S\times (N(d_1) - N(d_2))
d1=log(SS)+(0+σ22)×t)σ×t0.5=σt0.52d2=d1σt0.5=σt0.52d_1 = \frac {log(\frac S S) + (0 + \frac {\sigma^2} 2) \times t)} {\sigma \times t^{0.5}} = \frac {\sigma t^{0.5}} 2\\ d_2 = d_1 - \sigma t^{0.5} = - \frac {\sigma t^{0.5}} 2
C=S×(N(σt0.5)N(σt0.5))=S×(2N(σt0.5)1) C= S\times(N(\sigma t^{0.5} )- N(\sigma t^{-0.5})) = S\times(2N(\sigma t^{0.5}) -1)
At this moment, we can see that we only need three parameters for non-interest bearing cryptocurrency option pricing.
As we only issue options with 5min, 15min, 30min, 45min, 1hour expiry durations for sale, t is a fixed parameter and t^0.5 could be easily pre-calculated. For Sigma, as it stands for the implied volatility, usually it could not be scientifically determined. Theoretically, we can only get a one-way calculation of Sigma, after we obtained other parameters in the BS model; not the other way around. However, we can use historical volatility as a proximate for IV in the BS model, and adjust the IV based on market demand for our options.
We pre-calculate the CDF for a series of Sigma and t parameters and get an output table of values. Once we want to issue an option and price it, we only need to get the current price of ETH, for instance, to get a quick price calculation based on our pre-calculated table of CDF values.
Simply put, we only need to calculate the value of 2N(sigma*t^0.5)-1 , multiplied by S to get the ATM option price of underlying asset.
Option price on Option Panda is computed and generated by smart contract according to the formula above, with no human intervention and totally transparent.