Specify basket stock structure using Longstaff-Schwartz model

creates a basket stock structure.`BasketStockSpec`

= basketstockspec(`Sigma`

,`AssetPrice`

,`Quantity`

,`Correlation`

)

specifies options using one or more name-value pair arguments in addition to the
input arguments in the previous syntax.`BasketStockSpec`

= basketstockspec(___,`Name,Value`

)

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 array*
{'cash' }
{'continuous'}

`Sigma`

— Annual price volatility of the underlying securityvector in decimals

Annual price volatility of the underlying security, specified as an
`NINST`

-by-`1`

vector in decimals.

**Data Types: **`double`

`AssetPrice`

— Underlying asset price values at time 0vector

Underlying asset price values at time 0, specified as a
`NINST`

-by-`1`

vector.

**Data Types: **`double`

`Quantity`

— Quantities of the instruments contained in the basketvector

Quantities of the instruments contained in the basket, specified as an
`NINST`

-by-`1`

vector.

**Data Types: **`double`

`Correlation`

— Correlation valuesmatrix

Correlation values, specified as an
`NINST`

-by-`1`

matrix.

**Data Types: **`double`

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`

.

```
BasketStockSpec =
basketstockspec(Sigma,AssetPrice,Quantity,Correlation,'DividendType',DivType,'DividendAmounts',DivAmounts)
```

`'DividendAmounts'`

— Dividend amounts for basket instrumentsrow vector

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`

`'DividendType'`

— Stock dividend typecell array of character vectors

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`

`'ExDividendDates'`

— Ex-dividend dates for the basket instrumentscell array

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`

`BasketStockSpec`

— Structure encapsulating the properties of a basket stock structurestructure

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

`basketbyju`

| `basketbyls`

| `basketsensbyju`

| `basketsensbyls`

| `intenvset`

| `stockspec`

A modified version of this example exists on your system. Do you want to open this version instead?

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

Select web siteYou can also select a web site from the following list:

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

- América Latina (Español)
- Canada (English)
- United States (English)

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)