Documentation Center

  • Trial Software
  • Product Updates

impvbybjs

Determine implied volatility using Bjerksund-Stensland 2002 option pricing model

Syntax

Volatility = impvbybjs(RateSpec, StockSpec, Settle,
Maturity, OptSpec, Strike, OptPrice, 'Name1', Value1...)

Arguments

RateSpec

The annualized continuously compounded rate term structure. For information on the interest rate specification, see intenvset.

StockSpec

Stock specification. See stockspec.

Settle

NINST-by-1 vector of settlement or trade dates.

Maturity

NINST-by-1 vector of maturity dates.

OptSpec

NINST-by-1 cell array of strings 'call' or 'put'.

Strike

NINST-by-1 vector of strike price values.

OptPrice

NINST-by-1 vector of American option prices from which the implied volatility of the underlying asset are derived.

    Note:   All optional inputs are specified as matching parameter name/parameter value pairs. The parameter name is specified as a character string, followed by the corresponding parameter value. You can specify parameter name/parameter value pairs in any order; names are case-insensitive and partial string matches are allowed provided no ambiguities exist.

Limit

(Optional) 1-by-2 positive vector representing the lower and upper bound of the implied volatility search interval. Default is [0.1 10], or 10% to 1000% per annum.

Tolerance

(Optional) Positive scalar implied volatility termination tolerance. Default is 1e-6.

Description

Volatility = impvbybjs(RateSpec, StockSpec, Settle,
Maturity, OptSpec, Strike, OptPrice, 'Name1', Value1...)
computes implied volatility using the Bjerksund-Stensland 2002 option pricing model.

Volatility is a NINST-by-1 vector of expected implied volatility values. If no solution is found, a NaN is returned.

    Note:   impvbybjs computes implied volatility of American options with continuous dividend yield using the Bjerksund-Stensland option pricing model.

Examples

expand all

Compute the Implied Volatility Using the Bjerksund-Stensland 2002 Option Pricing Model

This example shows how to compute implied volatility using the Bjerksund-Stensland 2002 option pricing model. Consider three American call options with exercise prices of $100 that expire on July 1, 2008. The underlying stock is trading at $100 on January 1, 2008 and pays a continuous dividend yield of 10%. The annualized continuously compounded risk-free rate is 10% per annum and the option prices are $4.063, $6.77 and $9.46. Using this data, calculate the implied volatility of the stock using the Bjerksund-Stensland 2002 option pricing model.

AssetPrice = 100;
Settle = 'Jan-1-2008';
Maturity = 'Jul-1-2008';
Strike = 100;
DivAmount = 0.1;
Rate = 0.1;

% define the RateSpec and StockSpec
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rate, 'Compounding', -1, 'Basis', 1);

StockSpec = stockspec(NaN, AssetPrice, {'continuous'}, DivAmount);

OptSpec = {'call'};
OptionPrice = [4.063;6.77;9.46];

ImpVol =  impvbybjs(RateSpec, StockSpec, Settle, Maturity, OptSpec,...
Strike, OptionPrice)
ImpVol =

    0.1500
    0.2501
    0.3500

The implied volatility is 15% for the first call, and 25% and 35% for the second and third call options.

References

Bjerksund, P. and G. Stensland, Closed-Form Approximation of American Options, Scandinavian Journal of Management, 1993, Vol. 9, Suppl., pp. S88-S99.

Bjerksund, P. and G. Stensland, Closed Form Valuation of American Options, Discussion paper 2002 (http://brage.bibsys.no/nhh/bitstream/URN:NBN:no-bibsys_brage_22301/1/bjerksund%20petter%200902.pdf)

See Also

|

Was this topic helpful?