How the Options Greeks Vega value is used in Options Trading to calculate the potential effects of volatility?
#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-K*exp(-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-5; // make this smaller for higher accuracy
const int MAX_ITERATIONS = 100;
const double HIGH_VALUE = 1e10;
const double ERROR = -1e40;
// want to bracket sigma. first find a maximum sigma by finding a sigma
// with a estimated price higher than the actual price.
double sigma_low=1e-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-option_price);
if (fabs(test)<ACCURACY) { return sigma; };
if (test < 0.0) { sigma_low = sigma; }
else { sigma_high = sigma; }
};
return ERROR;
};
I have always found it funny with Vega that it measures how much the premium will change when the IV changes, but the IV is actually extracted from the Market Price of the option (using a Black-Scholes type model). So option premium changes because IV changed (but I noticed that IV changed because premium changed)... something circular about it
Well, it's not really true. If you have to price an option in isolation (e.g. on an asset that has no liquid options market), you would use the best guess of the expected volatility as an input. Same goes for other pricing parameters, e.g. if you are pricing a call spread in isolation, you would guess the skew etc.I have always found it funny with Vega that it measures how much the premium will change when the IV changes, but the IV is actually extracted from the Market Price of the option (using a Black-Scholes type model). So option premium changes because IV changed (but I noticed that IV changed because premium changed)... something circular about it
That's because, contrary to what most believe, IV is an input in the pricing model not an output.
Option market makers use it as a variable input, while all the other inputs are more or less fixed, meaning he can't adjust it... it's a given. So they use their IV (-curve) to get a market accordingly price for the options. IV = input; Price = output.
Retail sees it reversed. They see the price as a given an the IV as an output... but technically it's the other way around.
Remember, options are based on probabilities tied to the underlying price. Those probabilities are based on the (expected) volatility of the underlying.
It depends and is very not straightforward. Most OMMs that you would trade with are closer to HFT stock traders rather than vol traders.How do OMMs get their IV curves (or surfaces) in the first place? Do they estimate it based on realized volatility or other isolated modeling?