Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

cashsensbybls

Determine price or sensitivities of cash-or-nothing digital options using Black-Scholes model

Syntax

PriceSens = cashsensbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,Payoff)
PriceSens = cashsensbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,Payoff,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 character vectors with values of 'call' or 'put'.

Strike

NINST-by-1 vector of strike price values.

Payoff

NINST-by-1 vector of payoff values or the amount to be paid at expiration.

OutSpec

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

  • NOUT-by-1 or 1-by-NOUT cell array of character vectors 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'; 'Lambda'; 'Rho'} specifies that the output should be Price, Lambda, and Rho, in that order.

    To invoke from a function: [Price, Lambda, Rho] = cashsensbybls(..., 'OutSpec', {'Price', 'Lambda', '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 = cashsensbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,Payoff) computes cash-or-nothing option prices using the Black-Scholes option pricing model.

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

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

Examples

collapse all

Consider a European call and put cash-or-nothing options on a futures contract with an exercise price of $90, and a fixed payoff of $10 that expires on January 1, 2009. Assume that on October 1, 2008 the contract trades at $110, and has a volatility of 25% per annum and the risk-free rate is 4.5% per annum. Using this data, calculate the price and sensitivity of the call and put cash-or-nothing options on the futures contract. First, create the RateSpec:

Settle = 'Jan-1-2008';
Maturity = 'Oct-1-2008';
Rates = 0.045;
Compounding = -1;  
Basis = 1;
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rates, 'Compounding', Compounding, 'Basis', Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9668
            Rates: 0.0450
         EndTimes: 0.7500
       StartTimes: 0
         EndDates: 733682
       StartDates: 733408
    ValuationDate: 733408
            Basis: 1
     EndMonthRule: 1

Define the StockSpec.

AssetPrice = 110;
Sigma = .25;
DivType = 'Continuous';
DivAmount = Rates;
StockSpec = stockspec(Sigma, AssetPrice, DivType, DivAmount)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.2500
         AssetPrice: 110
       DividendType: {'continuous'}
    DividendAmounts: 0.0450
    ExDividendDates: []

Define the call and put options.

OptSpec = {'call'; 'put'};
Strike = 90;
Payoff = 10;

Compute the gamma, theta, and price.

OutSpec = { 'gamma';'theta';'price'};
[Gamma, Theta, Price] = cashsensbybls(RateSpec, StockSpec,...
Settle, Maturity, OptSpec, Strike, Payoff, 'OutSpec', OutSpec)
Gamma = 

   -0.0050
    0.0050

Theta = 

   -2.2489
    1.8139

Price = 

    7.6716
    1.9965

Introduced in R2009a

Was this topic helpful?