itttree
Build implied trinomial stock tree
Description
builds an implied trinomial (ITT) stock tree.ITTTree = itttree(StockSpec,RateSpec,TimeSpec,StockOptSpec)
Note
Alternatively, you can use the AssetTree
object to price equity instruments. For more information, see Get Started with Workflows Using Object-Based Framework for Pricing Financial Instruments.
Examples
Assume that the interest rate is fixed at 8% annually between the valuation date of the tree (January 1, 2006) until its maturity.
Rate = 0.08; ValuationDate = '01-01-2006'; EndDate = '01-01-2008'; RateSpec = intenvset('StartDates', ValuationDate, 'EndDates', EndDate, ... 'ValuationDate', ValuationDate, 'Rates', Rate, 'Compounding', -1);
To build an ITTTree, create the StockSpec, TimeSpec,
and StockOptSpec structures.
Sigma = 0.20; AssetPrice = 50; DividendType = 'cash'; DividendAmounts = [0.50; 0.50; 0.50; 0.50]; ExDividendDates = {'03-Jan-2007'; '01-Apr-2007'; '05-July-2007';'01-Oct-2007'} StockSpec = stockspec(Sigma, AssetPrice, DividendType, ... DividendAmounts, ExDividendDates); ValuationDate = '01-01-2006'; EndDate = '01-01-2008'; NumPeriods = 4; TimeSpec = itttimespec(ValuationDate, EndDate, NumPeriods);
Build a StockOptSpec structure.
Settle = '01/01/06'; Maturity = ['07/01/06'; '07/01/06'; '07/01/06'; '07/01/06'; '01/01/07'; '01/01/07'; '01/01/07'; '01/01/07'; '07/01/07'; '07/01/07'; '07/01/07'; '07/01/07'; '01/01/08'; '01/01/08'; '01/01/08'; '01/01/08']; Strike = [113; 101; 100; 88; 128; 112; 100; 78; 144; 112; 100; 69; 162; 112; 100; 61]; OptPrice =[ 0; 4.807905472659144; 1.306321897011867; 0.048039195057173; 0; 2.310953054191461; 1.421950392866235; 0.020414826276740; 0; 5.091986935627730; 1.346534812295291; 0.005101325584140; 0; 8.047628153217246; 1.219653432150932; 0.001041436654748]; OptSpec = { 'call'; 'call'; 'put'; 'put'; 'call'; 'call'; 'put'; 'put'; 'call'; 'call'; 'put'; 'put'; 'call'; 'call'; 'put'; 'put'}; StockOptSpec = stockoptspec(OptPrice, Strike, Settle, Maturity, OptSpec);
Use itttree to build the ITTTree structure.
Note, in this example, the extrapolation warnings are turned on. These
warnings are a consequence of having to extrapolate to find the option
price of the tree nodes. In this example, the set of inputs options
was too narrow for the shift in the tree nodes introduced by the disturbance
used to calculate the sensitivities. As a consequence extrapolation
for some of the nodes was needed.
warning('on', 'fininst:itttree:Extrapolation'); ITTTree = itttree(StockSpec, RateSpec, TimeSpec, StockOptSpec)
Warning: The option set specified in StockOptSpec was too narrow for the generated tree.
This made extrapolation necessary. Below is a list of the options that were outside of
the range of those specified in StockOptSpec.
Option Type: 'call' Maturity: 02-Jul-2006 Strike=60.7466
Option Type: 'put' Maturity: 02-Jul-2006 Strike=50.0731
Option Type: 'put' Maturity: 02-Jul-2006 Strike=41.3344
Option Type: 'call' Maturity: 01-Jan-2007 Strike=73.8592
Option Type: 'call' Maturity: 01-Jan-2007 Strike=60.8227
Option Type: 'put' Maturity: 01-Jan-2007 Strike=50.1492
Option Type: 'put' Maturity: 01-Jan-2007 Strike=41.4105
Option Type: 'put' Maturity: 01-Jan-2007 Strike=34.2559
Option Type: 'call' Maturity: 02-Jul-2007 Strike=88.8310
Option Type: 'call' Maturity: 02-Jul-2007 Strike=72.9081
Option Type: 'call' Maturity: 02-Jul-2007 Strike=59.8715
Option Type: 'put' Maturity: 02-Jul-2007 Strike=49.1980
Option Type: 'put' Maturity: 02-Jul-2007 Strike=40.4594
Option Type: 'put' Maturity: 02-Jul-2007 Strike=33.3047
Option Type: 'put' Maturity: 02-Jul-2007 Strike=27.4470
Option Type: 'call' Maturity: 01-Jan-2008 Strike=107.2895
Option Type: 'call' Maturity: 01-Jan-2008 Strike=87.8412
Option Type: 'call' Maturity: 01-Jan-2008 Strike=71.9183
Option Type: 'call' Maturity: 01-Jan-2008 Strike=58.8817
Option Type: 'put' Maturity: 01-Jan-2008 Strike=48.2083
Option Type: 'put' Maturity: 01-Jan-2008 Strike=39.4696
Option Type: 'put' Maturity: 01-Jan-2008 Strike=32.3150
Option Type: 'put' Maturity: 01-Jan-2008 Strike=26.4573
Option Type: 'put' Maturity: 01-Jan-2008 Strike=21.6614
> In itttree>InterpOptPrices at 675
In itttree at 277
ITTTree =
FinObj: 'ITStockTree'
StockSpec: [1x1 struct]
StockOptSpec: [1x1 struct]
TimeSpec: [1x1 struct]
RateSpec: [1x1 struct]
tObs: [0 0.500000000000000 1 1.500000000000000 2]
dObs: [732678 732860 733043 733225 733408]
STree: {1x5 cell}
Probs: {[3x1 double] [3x3 double] [3x5 double] [3x7 double]}
Input Arguments
Tree time layout specification, specified by the TimeSpec obtained
from itttimespec. The TimeSpec defines
the observation dates of the ITT tree. See itttimespec for
information on the tree structure.
Data Types: struct
Option stock specification, specified by the StockOptSpec obtained
from stockoptspec. See stockoptspec for information on creating
a stock specification.
Data Types: struct
Output Arguments
ITT trinomial tree, returned as a structure specifying the time layout for the tree.
More About
The Implied Trinomial (ITT) stock tree is used to price options and other derivatives by representing the potential future prices of an underlying asset over discrete time intervals.
The HW stock tree is useful for pricing interest-rate derivatives and managing interest-rate risk. The binomial tree structure allows for a straightforward representation of potential future interest rates, making it useful for pricing interest-rate derivatives and risk management.
Version History
Introduced in R2007a
See Also
intenvset | ittprice | stockspec | itttimespec | stockoptspec
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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- 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)