Documentation

### This is machine translation

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

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

# cashsensbyls

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

## Syntax

``PriceSens = cashsensbyls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,Payoff)``
``PriceSens = cashsensbyls(___,Name,Value)``

## Description

example

````PriceSens = cashsensbyls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,Payoff)` computes the price or sensitivities for cash-or-nothing European digital options using the Black-Scholes option pricing model.```

example

````PriceSens = cashsensbyls(___,Name,Value)` specifies options using one or more name-value pair arguments in addition to the input arguments in the previous syntax.```

## 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 October 1, 2008. Assume that on January 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 = 2×1 -0.0050 0.0050 ```
```Theta = 2×1 -2.2489 1.8139 ```
```Price = 2×1 7.6716 1.9965 ```

## Input Arguments

collapse all

Interest-rate term structure (annualized and continuously compounded), specified by the `RateSpec` obtained from `intenvset`. For information on the interest-rate specification, see `intenvset`.

Data Types: `struct`

Stock specification for the underlying asset. For information on the stock specification, see `stockspec`.

`stockspec` handles several types of underlying assets. For example, for physical commodities the price is `StockSpec.Asset`, the volatility is `StockSpec.Sigma`, and the convenience yield is `StockSpec.DividendAmounts`.

Data Types: `struct`

Settlement or trade date for the basket option, specified as an `NINST`-by-`1` vector of serial date numbers or date character vectors.

Data Types: `double` | `char` | `cell`

Maturity date for the basket option, specified as an `NINST`-by-`1` vector of serial date numbers or date character vectors.

Data Types: `double` | `char` | `cell`

Definition of the option as `'call'` or `'put'`, specified as an `NINST`-by-`1` vector.

Data Types: `char` | `cell`

Strike price value, specified as an `NINST`-by-`1` vector.

Data Types: `double`

Payoff values (or the amount to be paid at expiration), specified as an `NINST`-by-`1` vector.

Data Types: `double`

### Name-Value Pair Arguments

Specify optional comma-separated pairs of `Name,Value` arguments. `Name` is the argument name and `Value` is the corresponding value. `Name` must appear inside quotes. You can specify several name and value pair arguments in any order as `Name1,Value1,...,NameN,ValueN`.

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

Define outputs, specified as the comma-separated pair consisting of `'OutSpec'` and a `NOUT`- by-`1` or a `1`-by-`NOUT` cell array of character vectors with possible values of `'Price'`, `'Delta'`, `'Gamma'`, `'Vega'`, `'Lambda'`, `'Rho'`, `'Theta'`, and `'All'`.

`OutSpec = {'All'}` specifies that the output is `Delta`, `Gamma`, `Vega`, `Lambda`, `Rho`, `Theta`, and `Price`, in that order. This is the same as specifying `OutSpec` to include each sensitivity.

Example: ```OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}```

Data Types: `char` | `cell`

## Output Arguments

collapse all

Expected prices or sensitivities (defined using `OutSpec`) for cash-or-nothing option, returned as a `NINST`-by-`1` vector.