Implied Option Volatility Calculator
Implied volatility of a stock is the future volatility and is calculated using the derivatives of the underlying stock. The factors used in calculating implied volatility are given below:
- Risk Free Rate
- strike price
- Spot price
- time to maturity
- option's price.
Top
CBOE volatility Index
The ticker symbol for CBOE volatility index is VIX. It represents the implied options volatility of S&P 500. It includes the out of the money options also for calculation. VXO is another ticker symbol and it does include only at the money options.
Steps For Calculating Implied Options Volatility
1. Get the last traded call or put option price, strike price, spot price
2. Get the Risk Free Rate - Rf and Time to maturity in number of day
3. Given the stock historical volatility, finding the option price is easier using black–scholes formula. To know more Black–Scholes Formula, click here.
4. But finding the volatility using this formula is a bit difficult and we need to use iterative method. However I am finding implied volatility using bisection method by taking a higher number as volatility for upper range and 0 as lower range. Get the option price using black–scholes formula.
5. If the calculated option price is higher than the given option price, then volatility of upper range needs to go down to (lower + upper)/2.
6. If the calculated option price is lower than the given option price, then volatility of lower range needs to go up to (lower + upper)/2.
7. When the calculated option price is equal to given option price with two decimal point accuracy, the algorithm exits the correct implied volatility.
Sample Program For Calculating Implied Option Volatility
Here is the C++ program to calculate Implied Option Volatility.
double COptionCalculator::GetImpliedOptionVolatilityForCallOption(double strike, double spot, double days, double callOptionPrice, double Rf)
{
double cpTest = 0;
double IV = 500;
double upper = 500;
double lower = 0;
double range = fabs(lower - upper);
bool dnword = true;
while(1)
{
// Get the call option price using black scholes formula
// The code GetCallOptionPrice using black–scholes formula
// is not given
cpTest = GetCallOptionPrice(strike, spot, days, IV, Rf);
if(cpTest > callOptionPrice)
{ // Implied Volatility - IV has to go down
upper = IV;
IV = (lower + upper) / 2;
}
else
{
// Implied Volatility - IV has to go up
lower = IV;
IV = (lower + upper) / 2;
}
range = fabs(lower - upper);
if( range < 0.001)
break;
}
return IV;
}
Top
Input Data
There are 6 inputs shown below
- Call or Put option
- Risk Free Rate
- strike price
- Spot price
- time to maturity
- option's price.
Top
Output Data
Refer to the attached screen shot
You can cross check the results using CBOE volatility free service.
http://www.cboe.com/tradtool/IVolService8.aspx
Top
Download
Click here to download the implied option volatility calculator to your desktop.
Top
Posted on June 12, 2010
|