Clear Filters
Clear Filters

Cannot find implied volatility for a put option.

5 views (last 30 days)
I want to find implied volatility for an american put option by using impvbybaw.It works with a call but not with a put.
%% EXERCISE 2
% Calculate implied volatility using BAW model
%define settle and maturity date
Settle = 'Sep-8-2021';
Maturity = 'Dec-17-2021';
RateSpec = intenvset('Rates',r,'StartDate',Settle,'EndDates',Maturity,'Compounding',-1,'Basis',1)
StockSpec = stockspec(NaN,S,{'continuous'},y)
OptSpec = {'call'}
OptionPrice = [2.52];
ImpVol = impvbybaw(RateSpec,StockSpec,Settle,Maturity,OptSpec,K,OptionPrice)

Answers (2)

Dennis Jung
Dennis Jung on 10 Oct 2021
Hi Jana,
I don't have a profound background in this type of work but I played around with the function and found that adjusting the rates value for the intenvset changes output of impvbybaw. I modified the example code from the MATLAB. Check the comments I made there.
%Modified from the example from https://www.mathworks.com/help/fininst/impvbybaw.html
AssetPrice = 100;
Settle = 'Jan-1-2017';
Maturity = 'Jul-1-2017';
Strike = 100;
DivAmount = 0.1;
Rates = 0.15;%I increased the Rates from 0.05 to 0.15 and it worked for 'put' option; for 'call' option works when it is decreased to 0.05
OptSpec = {'put'};
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rates, 'Compounding', -1, 'Basis', 1);
StockSpec = stockspec(0.2, AssetPrice, {'continuous'}, DivAmount);
OptionPrice = [0.01:0.5:15]';
ImpVol = impvbybaw(RateSpec, StockSpec, Settle, Maturity, OptSpec,Strike,OptionPrice);

Roberto Specchio
Roberto Specchio on 11 Oct 2021
I noticed the same problem and found the same "solution" by modifying the rate value, but I don't have an explanation for this. It seems that the rate value for a put option should be set "higher", but I don't see any theoretical basis for this. Does anyone have any suggestions ?

Categories

Find more on Weather and Atmospheric Science in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!