Skip to Main Content Skip to Search
Product Documentation

gapsensbybls - Determine price and sensitivities of gap digital options using Black-Scholes model

Syntax

PriceSens = gapsensbybls(RateSpec, StockSpec, Settle,
Maturity, OptSpec, Strike, StrikeThreshold)
PriceSens = gapsensbybls(RateSpec, StockSpec, Settle,
Maturity, OptSpec, Strike, StrikeThreshold, OutSpec)

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.

StrikeThreshold

NINST-by-1 vector of strike values that determine if the option pays off.

OutSpec

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

  • NOUT-by-1 or 1-by-NOUT cell array of strings indicating the nature and order of the outputs for the function. Possible values are 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta', or 'All'.

    For example, OutSpec = {'Price'; 'Lamba'; 'Rho'} specifies that the output should be Price, Lambda, and Rho, in that order.

    To invoke from a function: [Price, Lambda, Rho] = gapsensbybls(..., 'OutSpec', {'Price', 'Lamba', 'Rho'})

    OutSpec = {'All'} specifies that the output should be Delta, Gamma, Vega, Lambda, Rho, Theta, and Price, in that order. This is the same as specifying OutSpec as OutSpec = {'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta', 'Price'};.

  • Default is OutSpec = {'Price'}.

Description

PriceSens = gapsensbybls(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike, StrikeThreshold) computes gap option prices using the Black-Scholes option pricing model.

PriceSens = gapsensbybls(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike, StrikeThreshold, OutSpec) includes an OutSpec argument defined as parameter/value pairs, and computes gap option prices and sensitivities using the Black-Scholes option pricing model.

PriceSens is a NINST-by-1 vector of expected option prices and sensitivities.

Examples

Consider a gap call and put options on a nondividend paying stock with a strike of 57 and expiring on January 1, 2008. On July 1, 2008 the stock is trading at 50. Using this data, compute the price and sensitivity of the option if the risk-free rate is 9%, the strike threshold is 50, and the volatility is 20%.

Create the RateSpec:

Settle = 'Jan-1-2008';
Maturity = 'Jul-1-2008';
Compounding = -1; 
Rates = 0.09;
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rates, 'Compounding', Compounding, 'Basis', 1);

Define the StockSpec:

AssetPrice = 50;
Sigma = .2;
StockSpec = stockspec(Sigma, AssetPrice);

Define the call and put options:

OptSpec = {'call'; 'put'};
Strike = 57;
StrikeThreshold = 50;

Calculate the price:

Pgap = gapbybls(RateSpec, StockSpec, Settle, Maturity, OptSpec,...
Strike, StrikeThreshold)

Pgap =

   -0.0053
    4.4866

Compute the gamma and delta:

OutSpec = {'gamma'; 'delta'};
[Gamma ,Delta] = gapsensbybls(RateSpec, StockSpec, Settle, Maturity,... 
OptSpec, Strike, StrikeThreshold, 'OutSpec', OutSpec)

Gamma =

    0.0724
    0.0724


Delta =

    0.2852
   -0.7148

See Also

gapbybls

  


Free Interactive Computational Finance CD

View demos and recorded presentations led by industry experts.

Now On Demand
Network with industry peers and learn the latest applications of the leading software product for computational finance.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS