basketstockspec
Specify basket stock structure using Longstaff-Schwartz model
Syntax
Description
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
)
Examples
Create a Basket Stock Structure for Three Stocks
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
Create a Basket Stock Structure for Two Stocks
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
Sigma
— Annual price volatility of the underlying security
vector 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 0
vector
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 basket
vector
Quantities of the instruments contained in the basket, specified as an
NINST
-by-1
vector.
Data Types: double
Correlation
— Correlation values
matrix
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)
DividendAmounts
— Dividend amounts for basket instruments
row 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 type
cell 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 instruments
cell 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
Output Arguments
BasketStockSpec
— Structure encapsulating the properties of a basket stock structure
structure
Structure encapsulating the properties of a basket stock structure, returned as a structure.
Version History
Introduced in R2009b
MATLAB Command
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.
Select a Web Site
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: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)