Specify basket stock structure using Longstaff-Schwartz model

## Syntax

``BasketStockSpec = basketstockspec(Sigma,AssetPrice,Quantity,Correlation)``
``BasketStockSpec = basketstockspec(___,Name,Value)``

## Description

example

````BasketStockSpec = basketstockspec(Sigma,AssetPrice,Quantity,Correlation)` creates a basket stock structure.```

example

````BasketStockSpec = basketstockspec(___,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

Find a basket option of three stocks. The stocks are currently trading at \$56, \$92 and \$125 with annual volatilities of 20%, 12% and 15%, respectively. The basket option contains 25% of the first stock, 40% of the second stock, and 35% of the third. The first stock provides a continuous dividend of 1%, while the other two provide no dividends. The correlation between the first and second asset is 30%, between the second and third asset 11%, and between the first and third asset 16%. Use this data to create the `BasketStockSpec` structure:

```AssetPrice = [56;92;125]; Sigma = [0.20;0.12;0.15]; % Create the Correlation matrix. Correlation matrices are symmetric and % have ones along the main diagonal. NumInst = 3; Corr = zeros(NumInst,1); Corr(1,2) = .30; Corr(2,3) = .11; Corr(1,3) = .16; Corr = triu(Corr,1) + tril(Corr',-1) + diag(ones(NumInst,1), 0); % Define dividends DivType = cell(NumInst,1); DivType{1}='continuous'; DivAmounts = cell(NumInst,1); DivAmounts{1} = 0.01; Quantity = [0.25; 0.40; 0.35]; BasketStockSpec = basketstockspec(Sigma, AssetPrice, Quantity, Corr, ... 'DividendType', DivType, 'DividendAmounts', DivAmounts)```
```BasketStockSpec = struct with fields: FinObj: 'BasketStockSpec' Sigma: [3x1 double] AssetPrice: [3x1 double] Quantity: [3x1 double] Correlation: [3x3 double] DividendType: {3x1 cell} DividendAmounts: {3x1 cell} ExDividendDates: {3x1 cell} ```

Examine the `BasketStockSpec` structure.

`BasketStockSpec.Correlation`
```ans = 3×3 1.0000 0.3000 0.1600 0.3000 1.0000 0.1100 0.1600 0.1100 1.0000 ```

Find a basket option of two stocks. The stocks are currently trading at \$60 and \$55 with volatilities of 30% per annum. The basket option contains 50% of each stock. The first stock provides a cash dividend of \$0.25 on May 1, 2009 and September 1, 2009. The second stock provides a continuous dividend of 3%. The correlation between the assets is 40%. Use this data to create the structure `BasketStockSpec`:

```AssetPrice = [60;55]; Sigma = [0.30;0.30]; % Create the Correlation matrix. Correlation matrices are symmetric and % have ones along the main diagonal. Correlation = [1 0.40;0.40 1]; % Define dividends NumInst = 2; DivType = cell(NumInst,1); DivType{1}='cash'; DivType{2}='continuous'; DivAmounts = cell(NumInst,1); DivAmounts{1} = [0.25 0.25]; DivAmounts{2} = 0.03; ExDates = cell(NumInst,1); ExDates{1} = {'May-1-2009' 'Sept-1-2009'}; Quantity = [0.5; 0.50]; BasketStockSpec = basketstockspec(Sigma, AssetPrice, Quantity, Correlation, ... 'DividendType', DivType, 'DividendAmounts', DivAmounts, 'ExDividendDates',ExDates)```
```BasketStockSpec = struct with fields: FinObj: 'BasketStockSpec' Sigma: [2x1 double] AssetPrice: [2x1 double] Quantity: [2x1 double] Correlation: [2x2 double] DividendType: {2x1 cell} DividendAmounts: {2x1 cell} ExDividendDates: {2x1 cell} ```

Examine the `BasketStockSpec` structure.

`BasketStockSpec.DividendType`
```ans = 2x1 cell {'cash' } {'continuous'} ```

## Input Arguments

collapse all

Annual price volatility of the underlying security, specified as an `NINST`-by-`1` vector in decimals.

Data Types: `double`

Underlying asset price values at time 0, specified as a `NINST`-by-`1` vector.

Data Types: `double`

Quantities of the instruments contained in the basket, specified as an `NINST`-by-`1` vector.

Data Types: `double`

Correlation values, specified as an `NINST`-by-`1` matrix.

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: ```BasketStockSpec = basketstockspec(Sigma,AssetPrice,Quantity,Correlation,'DividendType',DivType,'DividendAmounts',DivAmounts)```

Dividend amounts for basket instruments, specified as the comma-separated pair consisting of `'DividendAmounts'` and an `NINST`-by-`1` cell array. Each element of the cell array is a `1`-by-`NDIV` row vector of cash dividends or a scalar representing a continuous annualized dividend yield for the corresponding instrument.

Data Types: `double`

Stock dividend type, specified as the comma-separated pair consisting of `'DividendType'` and an `NINST`-by-`1` cell array of character vectors specifying each stock's dividend type. Dividend type must be either `cash` for actual dollar dividends or `continuous` for continuous dividend yield.

Data Types: `char` | `cell`

Ex-dividend dates for the basket instruments, specified as the comma-separated pair consisting of `'ExDividendDates'` and an `NINST`-by-`1` cell array specifying the ex-dividend dates for the basket instruments. Each row is a `1`-by-`NDIV` matrix of ex-dividend dates for `cash` type. For rows that correspond to basket instruments with `continuous` dividend type, the cell is empty. If none of the basket instruments pay `continuous` dividends, do not specify `ExDividendDates`.

Data Types: `cell`

## Output Arguments

collapse all

Structure encapsulating the properties of a basket stock structure, returned as a structure.

## Version History

Introduced in R2009b