ET News & Sponsor Info
General Topics
Trading Instruments
Technical Topics
Brokerage Firms
Tools of the Trade
Trading for a Living
Community Lounge
Site Support

# Implied volatility calculation.

Discussion in 'Options' started by Grant, Oct 11, 2006.

1. ### Grant

Using Excel and via iteration, to calculate implied I compare the market price with a theoretical price. When there is convergence, I have the implied.

The method has room for improvement but I don't know how to set up the formula. Perhaps someone can help?

Currently, I start with an initial implied, eg 10%. If the theoretical is less than the market price, the implied is increased by eg, 0.01%, and vice versa (that's Latin) .

The procedure works but adjusting increments (by 0.01%) seems somewhat tortuous.

An improvement could be something like this:

Current:
Start with initial implied.
If theoretical is less than market, increase implied by X%
If theoretical is greater than market, decrease implied by X%

Modify to:

Start with initial implied.
A) If theoretical is less than market, increase implied by X% (50%?)
B) If theoretical is greater than market, decrease implied by X% (50%?)

Following A)
If theoretical is greater than market, decrease implied by 50% of the initial increase
Otherwise increase by 50% of initial

Following B), If theoretical is less than market, increase implied by 50% of the initial increase
Otherwise decrease by 50% of initial

This loop is repeated until convergence. The main point however is that the constant 50% adjustment leads to a more rapid convergence.

Unfortunately, I can't work out how to reproduce this directly on Excel, ie in the cells, rather than VBA. However, if a VBA solution can be readily implemented then it will certainly be considered.

Please note: Personally, VBA is as legible as Aramaic so please be precise.

Thank you for any advice.

Grant.

3. ### Grant

Profitaker,

That's excellent. Thank you, very much indeed.

You are a Gentleman.

Grant..

4. ### MajorUrsa

For those interested all that functionality and much much more is available in http://www.hoadley.net/options/calculators.htm
It's less fun maybe to buy it, but at least it'll work tomorrow

Ursa..

6. ### panzerman

Here is the method of bisection for finding IV in C++ by Bernt Odegaard.

#include <cmath>
#include "fin_recipes.h"
double option price implied volatility call black scholes bisections(const double& S,
const double& K,
const double& r,
const double& time,
const double& option price){
if (option price<0.99*(S&#8722;K*exp(&#8722;time*r))) { // check for arbitrage violations.
return 0.0; // Option price is too low if this happens
};
// simple binomial search for the implied volatility.
// relies on the value of the option increasing in volatility
const double ACCURACY = 1.0e&#8722;5; // make this smaller for higher accuracy
const int MAX ITERATIONS = 100;
const double HIGH VALUE = 1e10;
const double ERROR = &#8722;1e40;
// want to bracket sigma. rst nd a maximum sigma by nding a sigma
// with a estimated price higher than the actual price.
double sigma low=1e&#8722;5;
double sigma high=0.3;
double price = option price call black scholes(S,K,r,sigma high,time);
while (price < option price) {
sigma high = 2.0 * sigma high; // keep doubling.
price = option price call black scholes(S,K,r,sigma high,time);
if (sigma high>HIGH VALUE) return ERROR; // panic, something wrong.
};
for (int i=0;i<MAX ITERATIONS;i++){
double sigma = (sigma low+sigma high)*0.5;
price = option price call black scholes(S,K,r,sigma,time);
double test = (price&#8722;option price);
if (fabs(test)<ACCURACY) { return sigma; };
if (test < 0.0) { sigma low = sigma; }
else { sigma high = sigma; }
};
return ERROR;
};

7. ### billp

Just wondering. Do any of you all pay for ivolatility services or the free service is enough for you. Thanks

8. ### Grant

MajorUrsa and Stoxtrader,

Thank you for the references. Iâve done a basic check, and will examine thoroughly in due course.

From all the brief, but invaluable, suggestions so far I am somewhat overwhelmed by material. However, if knowledge is strengthâ¦

Stoxtrader,

I appreciate the trouble taken to provide your solution. Thank you.

Grant.

ET IS FREE BECAUSE OF THE FINANCIAL SUPPORT FROM THESE COMPANIES:
 24option Forex & CFD Trading AMP Global Clearing Futures and FX Trading GFF Brokers Low-Cost Futures Brokerage IC Markets True ECN for FX and CFDs Jigsaw Trading Advanced Trading Tools Lightspeed Trading Equities & Options Trading NinjaTrader Trading Software & Brokerage Optimus Futures Futures Trading Platforms and Order Routing Option Workshop Option Analysis Software PTMC Full Multi-Asset Trading Platform Rithmic Futures Trade Execution Platform SpreadProfessor Spread Trading Instruction TD Ameritrade Get the #1 trading app in the App Store TopstepTrader We Fund Traders TradersStudio System Development Platform Trading Technologies Trading Software Provider Tradovate Commision-Free Futures Trading