# assetbybls

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

## Syntax

``Price = assetbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike)``

## Description

example

````Price = assetbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike)` computes asset-or-nothing European digital options using the Black-Scholes option pricing model.```

## Examples

collapse all

Consider two asset-or-nothing put options on a nondividend paying stock with a strike of 95 and 93 and expiring on January 30, 2009. On November 3, 2008 the stock is trading at 97.50. Using this data, calculate the price of the asset-or-nothing put options if the risk-free rate is 4.5% and the volatility is 22%. First, create the `RateSpec`.

```Settle = 'Nov-3-2008'; Maturity = 'Jan-30-2009'; Rates = 0.045; Compounding = -1; RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,... 'EndDates', Maturity, 'Rates', Rates, 'Compounding', Compounding)```
```RateSpec = struct with fields: FinObj: 'RateSpec' Compounding: -1 Disc: 0.9893 Rates: 0.0450 EndTimes: 0.2391 StartTimes: 0 EndDates: 733803 StartDates: 733715 ValuationDate: 733715 Basis: 0 EndMonthRule: 1 ```

Define the `StockSpec`.

```AssetPrice = 97.50; Sigma = .22; StockSpec = stockspec(Sigma, AssetPrice)```
```StockSpec = struct with fields: FinObj: 'StockSpec' Sigma: 0.2200 AssetPrice: 97.5000 DividendType: [] DividendAmounts: 0 ExDividendDates: [] ```

Define the put options.

```OptSpec = {'put'}; Strike = [95;93];```

Calculate the price.

`Paon = assetbybls(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike)`
```Paon = 2×1 33.7666 26.9662 ```

## 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`

Pay-off strike value, specified as an `NINST`-by-`1` vector.

Data Types: `double`

## Output Arguments

collapse all

Expected prices for asset-or-nothing option, returned as a `NINST`-by-`1` vector.

## Version History

Introduced in R2009a