# supersharesensbybls

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

## Syntax

``PriceSens = supersharesensbybls(RateSpec,StockSpec,Settle,Maturity,StrikeLow,StrikeHigh)``
``PriceSens = supersharesensbybls(___,Name,Value)``

## Description

example

````PriceSens = supersharesensbybls(RateSpec,StockSpec,Settle,Maturity,StrikeLow,StrikeHigh)` computes price or sensitivities of supershare digital options using the Black-Scholes option pricing model.```

example

````PriceSens = supersharesensbybls(___,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

This example shows how to compute price and sensitivities of supershare digital options using a Black-Scholes model. Consider a supershare based on a portfolio of nondividend paying stocks with a lower strike of 350 and an upper strike of 450. The value of the portfolio on November 1, 2008 is 400. The risk-free rate is 4.5% and the volatility is 18%. Using this data, calculate the price and sensitivity of the supershare option on February 1, 2009.

```Settle = datetime(2008,11,1); Maturity = datetime(2009,2,1); Rates = 0.045; Basis = 1; Compounding = -1; % define the RateSpec RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,... 'EndDates', Maturity, 'Rates', Rates, 'Compounding', Compounding, 'Basis', Basis); % define the StockSpec AssetPrice = 400; Sigma = .18; StockSpec = stockspec(Sigma, AssetPrice); % define the high and low strike points StrikeLow = 350; StrikeHigh = 450; % calculate the price Pssh = supersharebybls(RateSpec, StockSpec, Settle, Maturity,... StrikeLow, StrikeHigh)```
```Pssh = 0.9411 ```
```% compute the delta and theta of the supershare option OutSpec = { 'delta';'theta'}; [Delta, Theta]= supersharesensbybls(RateSpec, StockSpec, Settle,... Maturity, StrikeLow, StrikeHigh, 'OutSpec', OutSpec)```
```Delta = -0.0010 ```
```Theta = -1.0102 ```

## 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 using a datetime array, string array, or date character vectors.

To support existing code, `supersharesensbybls` also accepts serial date numbers as inputs, but they are not recommended.

Maturity date for the basket option, specified as an `NINST`-by-`1` vector using a datetime array, string array, or date character vectors.

To support existing code, `supersharesensbybls` also accepts serial date numbers as inputs, but they are not recommended.

Low strike price values, specified as an `NINST`-by-`1` vector.

Data Types: `double`

High strike price values, specified as an `NINST`-by-`1` vector.

Data Types: `double`

### Name-Value Arguments

Specify optional pairs of arguments as `Name1=Value1,...,NameN=ValueN`, where `Name` is the argument name and `Value` is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose `Name` in quotes.

Example: ```[Gamma,Theta,Price] = supersharesensbybls(RateSpec,StockSpec,Settle,Maturity,StrikeLow,StrikeHigh,'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 for supershare option, returned as a `NINST`-by-`1` vector.

collapse all

### Supershare Option

A supershare option pays out a proportion of the assets underlying a portfolio if the asset lies between a lower and an upper bound at the expiry of the option.