As per the assumptions of the Black-Scholes-Merton Model-

"Volatility in the underlying asset is known and constant and is not changing throughout the option period." And by this assumption, an option is priced. However, in the real world, volatility is changing every moment in an uncertain manner i.e. stochastic behavior. This means the real/actual prices of options trading in the market do not follow the BSM Model, at least not the constant volatility assumption. The actual prices have more variability than the volatility assumed by the BSM Model and that's the main reason why we compute volatility implied by the actual option's price.

More on BSM Model is covered here!

Implied volatility is one of the most important risk metrics to understand before trading in the options market but the computation is a bit difficult in practice given that we have a straightforward formula to compute the same.

The problem is that we don't have an implied volatility surface (a three-dimensional plot of the implied volatility of an option across different strike prices at different expiration) instead we only have a few bid-asks i.e. the actual option price per different strike prices at different expiration. And, the methodology behind modeling the implied volatility is that we take the actual option price determined by the demand and supply in the market at which the trades are settled and then use the BSM Model to reverse engineer by iterating the volatility until the model equates the model price with the actual price. The volatility at which the model equates the model price with the actual option price is the implied volatility.

It is a percentage that indicates the annualized expected variability of one standard deviation range in the underlying asset price and that encompasses approximately 68.2% of the outcomes. This means that there is approximately a 68% probability that the stock lands within the expected price range as determined by the implied volatility.

Let's suppose- the underlying asset is presently trading at ₹ 15,689.80 and we have a 20-Day expiry ₹ 15,900.00 strike price call option which is presently trading at ₹ 94.90 with an implied volatility of 11.4632%. It means that the variability in the underlying price in the next 20-days is expected to be 11.4632% (always stated per annum) and there is an implied 68% probability that the stock settles in between ₹ 15,547.06 and ₹ 15,832.54 in the next 20-days.

### Black Monday Crash (October 19, 1987) | Regime Shift in Implied Volatility

The empirical/observed distribution of equity stock prices has a fatter left tail (i.e., leptokurtic) while a thinner right tail (i.e., platykurtic) as compared to the log-normal distribution assumed by the BSM Model. This means that the probability of falling the underlying price is higher in the real world. This is mainly because of two reasons-

Crash-o-phobia: Before October 19, 1987 "Black Monday Crash", the implied volatility used to be flat across all the strike prices. However, post-October 19, 1987, volatility skew has emerged. It was observed that the volatility curve was U-shaped and resembled a skew. Volatility skew refers to the options with the same underlying, same expiry but with different strike prices have different implied volatility, and the volatility curve that used to be flat disappeared. This is because of the fact that investors holding long position tends to buy OTM put options to protect against the downside and therefore, the demand for OTM puts i.e., lower strike price options rises in turn rise in prices of put options and hence, greater volatility as compared to ATM & ITM put options. Traders are concerned about the possibility of another crash of a similar kind, and accordingly, they trade, and prices are decided in the market.

Leverage: A deep ITM call option has a delta value close to 1. It means if the stock price changes by $1, the call option price is expected to change by $1 in the same direction. Therefore, deep ITM call options are more suitable for use in a stock replacement strategy designed to replicate the equivalent exposure to a stock. The initial cost is only a small premium but the trader is able to participate in the capital gains of the underlying, acts as a great substitute, and therefore, the demand for ITM calls i.e., lower strike price options rises in turn rise in prices of call options and hence, greater volatility as compared to ATM & OTM call options.

Ever since the "Black Monday Crash" (October 19, 1987), uncertainty regarding the performance of the underlying increased, OTM put options have been much more attractive to the investors because it acts as portfolio insurance against the market fall. The increased demand for puts (lower strike options) appears to be permanent and still results in higher prices resulting in higher implied volatility. As a result, the "flat volatility" has been replaced with the "volatility smirk" (i.e., a half-smile).

Institutions who recognized smirk formation post-October 19, 1987 crash would have gained significantly by buying deep OTM put options or deep ITM call options i.e. lower strike price options in the equity market, or buying a long strangle i.e. buying deep ITM and deep OTM options i.e. lower and higher strike price options in the currency market. If the implied volatility is flat and the price distribution follows log-normal distribution then buy the options with lower strike price because the market did not understand but the actual volatility should be higher in near future. Higher implied volatility options should have higher options price as compared to a flatter volatility curve.

### Implied Volatility Skew - Volatility Smile | Volatility Reverse & Forward Smirk

A plot of the implied volatility of an option across different strike prices is known as the volatility skew. Why? -- The options with the same underlying, same expiry but with different strike prices have different implied volatility (it is not the same). Two particular volatility skew patterns are- volatility smile and volatility smirk (and that could be reverse skew or forward skew).

Volatility Smile pattern is generally seen for options in the forex/currency market. It represents that the demand (or implied volatility) is higher for options that are ITM and OTM i.e., lower and higher strike price options.

On the other hand,

Volatility Smirk- Reverse Skew is seen for options in the equity market and index options. In reverse skew pattern, the implied volatility is comparatively higher for lower strike price options than the higher strike price options. This suggests that OTM put options and ITM call options are more expensive having greater demand than the ITM put options and OTM call options respectively. Reason being- crash-o-phobia and leverage as discussed earlier.

Volatility Smirk- Forward Skew is seen for options in the commodity market. In the forward skew pattern, the implied volatility is comparatively higher for higher strike price options than the lower strike price options. This suggests that ITM put options and OTM call options are more expensive having greater demand than the OTM put options and ITM call options respectively. Reason being- fear of business shutdown.

Let's create a model that should connect with the National Stock Exchange of India website to capture the historical and live market data on the basis of inputs provided followed by-

Importing requisite libraries- pandas, numpy, scipy, math, nsepy, finance, datetime, vollib, and matplotlib.

Extracting historical and live market data for equity & index spot, futures, and options.

Calculating model prices for all the strike prices traded in the market using the BSM model and comparison with the option prices at which the trades are actually settled.

Computing implied volatilities for all the strike prices traded in the market for both call & put options.

Impact on implied volatility due to change in moneyness and for short-dated vs. long-dated options.

Trading signals generated using call-put implied volatility (CPIV) spreads.

Impact on option greeks: Use of historical volatility & change in implied volatility.

This will require us to import the requisite python libraries as shown below-

Data extraction is pretty straightforward for equity and index spot, futures, and options. However, to extract the entire options chain, we need to run the same syntax in a loop for all the traded strike prices and store the data in DataFrames.

I ran the model on NIFTY Index and ITC Stock because it will allow me to relate my conclusions more intuitive knowing the fact that NIFTY is a high volatility index these days and ITC is comparatively low volatility than other liquid stocks. The output of the time-series data is shown below holding the log-normal distribution property good in our case-

More on the log-normal distribution property of stock prices covered here!

Inputs to our model such as current stock price, futures price, call and put option price, risk-free interest rate, historical and implied volatility are identified and calculated using the extracted data. The output is shown below-

Using the Black-Scholes-Merton Option Pricing Model and Python VolLib library, I have managed to calculate prices of both call and put options for all the strike prices traded in the market. The resultant values i.e., ModelPrice calculated above are extremely close to the ActualPrice determined by the demand and supply in the market at which the trades are settled. Results are shown below-

To identify the irregularities in the actual prices of traded options (referring to an option chain), I tried to compare the same with the should be i.e. theoretical option price derived using the BSM model. The numbers are slightly off from what they should have been. Obviously, we should not forget the assumptions taken by the BSM model that does not exist in the real world. I then tried to compare the same with the intrinsic value and the time value of the options and tried to plot a chart representing intrinsic value, time value, and the actual option price across strike prices.

By looking at the curves, it is clearly evident that there are some irregularities that exist in the market prices extracted out of the option chain. Observations are highlighted below-

Actual price exhibit jumps: Empirically observed that the total change in the price should be due to the sum total of two components- "Diffusion Component" i.e. new information that cases only marginal change, and "Jump Component" i.e. infrequent or sudden arrival of new information that causes abnormal change. Prices do exhibit jumps not only in the underlying but also in the options at different strike prices. The curvature is not smooth as it should have.

Actual price trades less than its intrinsic/fair value: As per options pricing theory read with arbitrage principle, an option's price will never trade below its intrinsic value. However, in the real world, deep ITM put options sometimes trade below their intrinsic value in the market. The reason could be either due to lack of liquidity or market frictions.

Anyways, let's be on track and proceed with the computation of implied volatility for both call and put options for all the strike prices traded in the market. The methodology of calculating the same is that we take the actual option price available from the options chain, feed the same in the BSM model to reverse engineer the implied volatility using the vollib python library. The "iv" function of vollib is very simple and easy to execute for all the strike prices via loop statement as shown below-

The results are as per the expectation- the implied volatility computed above is exactly equal (rounded off to 2 digits) to the implied volatility prevailing in the market (and approximately equal if rounded off to 4 digits). Also, if we ignore the price jumps, a beautiful volatility smirk- the reverse pattern is formed and the created model worked absolutely fine with zero model risk/errors.

### Impact on Implied Volatility

Due to change in stock price i.e., moneyness of an option: Capturing the movement in implied volatility with respect to change in the underlying stock price: As stock price increases, the ATM strike put option becomes OTM. This will lead to generating more put option contracts at OTM strike (act as insurance) and hence, higher demand and higher implied volatility. This means implied volatility is positively related to the underlying stock price. In other words, as stock price increases, the implied volatility curve shifts to the right resulting in instability and seems to depend upon the moneyness of the option.

Due to short-dated & long-dated options i.e., time decay: The implied volatility computed by reverse engineering using BSM Model, a pronounced curvature is formed and that curvature is more pronounced for short-dated options and less pronounced for long-dated options. This is based on the fact that long-dated options have more time value (difference of actual option price and the intrinsic value of that option), while short-dated options have less time value priced in them. Also, understand that one of the properties of log-normal distribution is that there should not be any price jumps (causes due to corporate events, financial budget, etc.) that directly impact an option's intrinsic value. But, it tends to average out in the long run and that is why we see a smooth-flattish implied volatility curve for long-dated options.

### Implied Volatility (CPIV) Spreads between Call & Put Options | Trading Signal

The calculated implied volatility for the call options above is not actually equal to that of the put options having calculated at the same strike price for the same expiry.

The implied volatility spread calculated above is called Call-Put Implied Volatility (CPIV) Spread is computed by taking the difference of Call Implied Volatility and Put Implied Volatility and based on that, the model generates signals. However, institutional traders use the weighted average of CPIV computed using Open Interest, and based on that traders take long/short positions in high CPIV stocks and short/long positions in low CPIV stocks depending upon the moneyness (ITM and OTM respectively) to generate returns.

### Impact on Option Greeks

Use of Historical Volatility & Change in Implied Volatility

Most importantly, due to volatility skew i.e., different implied volatility at different strike prices, the computation of option greeks becomes highly complicated. The greeks, especially delta, computed under the constant volatility assumption of the BSM Model is different as compared to the one computed using the implied volatility. It should be calibrated using the implied/actual volatility to represent the true delta value of an option.

Call & Put Delta [Historical Volatility] is the delta value calculated using the historical volatility based on the time-series data of the underlying. Call & Put Delta [ATM Implied Volatility] is the delta value calculated using the average implied volatility at ATM strike price of call and put options. Call & Put Delta [Implied Volatility] is the delta values calculated using the computed Implied volatility at the respective strike price of all calls and puts options.

The implied volatility computed by reverse engineering using BSM Model or the actual volatility prevailing in the market is generally higher than the realized volatility i.e., the volatility derived from the time-series data of the underlying for the lower strike price options. With an increase in volatility (as implied volatility > historical volatility), the options delta approach towards 0.5 as more and more strike prices are now covered, which have possibilities for winding up ITM. The linearity of the delta also increases (i.e., options delta becomes less volatile); therefore, the gamma tends to become flat.

Traders become more conscious when the volatility in the market rises as they perceive an increased likelihood that the ITM strike option could land OTM at expiration and therefore, the probability (i.e., delta) of an option landing ITM diminishes. In other words, low implied volatility will tend to have a higher delta value for ITM options because the probability of an ITM option landing ITM is high and a lower delta value for OTM options because the probability of an OTM option landing ITM is very low.