期权定价结构
简介
MATLAB®选项
结构为大多数定价功能提供了额外的输入。的选项
结构
介绍了定价函数如何使用利率树计算仪器价格。
确定命令窗口与仪器价格一起显示的附加信息。
告诉定价函数在定价障碍期权时使用哪种方法。
定价期权结构主要用于基于利率的金融衍生品的定价。然而,BarrierMethod
结构中的字段也允许您在股权障碍期权定价中使用它。
您可以在可选选项中提供定价选项选项
参数传递给定价函数。(见,例如,bondbyhjm
,bdtprice
,barrierbycrr
,barrierbyeqp
,或barrierbyitt
.)
默认的结构
如果不指定选项
参数时,该函数使用默认结构。若要观察默认结构,请使用derivset
不带任何参数。
选择= derivset
选项=诊断:'off'警告:'on' ConstRate: 'on' BarrierMethod: 'unenhanced'
的选项
Structure有四个字段:诊断
,警告
,ConstRate
,BarrierMethod
.
诊断领域
诊断
指示修改树后是否显示附加信息。该选项的默认值为“关闭”
.如果诊断
被设置为“上”
而且ConstRate
被设置为“关闭”
,定价函数显示为定价目的而生成的树的最后一层的节点数等信息。
预警领域
警告
指示当输入树不足以准确为仪器定价时是否显示警告消息。该选项的默认值为“上”
.如果两个ConstRate
而且警告
是“上”
,如果输入投资组合中的任何工具在树日期之间有现金流日期,则会显示一个警告。如果ConstRate
是“关闭”
,警告
是“上”
,如果修改树以匹配投资组合中工具的现金流日期,则会显示一个警告。
ConstRate领域
ConstRate
指示是否应假定树日期之间的利率为常数。默认情况下,该选项为“上”
,这并不是一个没有套利的假设。因此,定价函数返回树日期之间具有现金流的工具的近似价格。只在树节点上有现金流的工具不受这个选项的影响,并返回精确的(无套利的)价格。当ConstRate
是“关闭”
,定价函数查找投资组合中所有工具的现金流日期。如果这些现金流与树的日期不完全一致,则生成一个新的树并用于定价。这棵新树具有与输入树相同的波动率和初始利率规格,但包含投资组合中至少有一种工具具有现金流的每个日期的树节点。请记住,树中的节点数量与树日期的数量成指数增长。因此,设置ConstRate
“关闭”
极大地增加了计算机的内存和处理器需求。
BarrierMethod领域
当使用二叉树为障碍期权定价时,当树节点与障碍级别不一致时,可能需要许多树步骤才能获得准确的结果。与BarrierMethod
字段中,该工具箱提供了一种增强方法,可以提高结果的准确性,而不必使用大型树。
的BarrierMethod
字段可以设置为“unenhanced”
(默认)或的插值函数
.如果您指定“unenhanced”
,不进行校正计算。否则,如果指定的插值函数
,该工具箱通过在屏障边界上的节点之间进行插值来提供增强的估值。
你在最后一个输入参数中指定屏障方法,选项
的函数barrierbycrr
,barrierbyeqp
,barrierbyitt
,crrprice
,eqpprice
,ittprice
,crrsens
,eqpsens
,或ittsens
.选项
是你用功能创建的结构吗derivset
.使用derivset
,您指定是使用增强的方法还是非增强的方法。
有关该算法的更多信息,请参见Derman, E., I. Kani, D. Ergener和I. Bardhan的《带有障碍的期权的增强数值方法》。金融分析师期刊,(1995年11月- 12月),第65-74页。
自定义结构
控件传递属性名/属性值对,从而自定义Options结构derivset
函数。
例如,考虑Options结构ConstRate
“关闭”
而且诊断
“上”
.
选择= derivset (“ConstRate”,“关闭”,“诊断”,“上”)
Options = Diagnostics: 'on' Warnings: 'on' conate: 'off' BarrierMethod: 'unenhanced'
若要从Options结构中获取特定属性的值,请使用derivget
.
CR = derivget(选项,“ConstRate”)
CR =了
现在观察设置的效果ConstRate
“关闭”
.从HJM树中获取树日期。
TreeDates = [HJMTree.TimeSpec.ValuationDate;...HJMTree.TimeSpec.Maturity]
TreeDates = 730486 730852 731217 731582 731947
datedisp (TreeDates)
01- 01- 2000 01- 01- 2001 01- 01- 2002 01- 01- 2003 01- 01- 2004
所有的仪器HJMInstSet
所有债券每年都有一次现金流,除了第二种债券,其期限为2。这种债券每年有两次现金流,每一次现金流都落在树日之间。您可以从投资组合中提取该债券,通过设置来比较其价格的差异ConstRate
来“上”
而且“关闭”
.
BondPort = instselect (HJMInstSet,“指数”2);instdisp (BondPort)
结清到期日基准…1 Bond 0.04 01- 01- 2000 01- 01- 2004 2 NaN…
首先给债券定价ConstRate
“上”
(默认)。
格式长[BondPrice, BondPriceTree] = hjmprice(HJMTree, BondPort)
警告:并不是所有的现金流都与树一致。结果将是近似的。BondPrice = 97.52801411736377 BondPriceTree = FinObj: 'HJMPriceTree' PBush: {1x5 cell} AIBush: {[0] [1x1x2 double]…[1x4x2 double] [1x8 double]} tObs: [0 1 2 3 4]
现在重新计算债券设置的价格ConstRate
“关闭”
.
OptionsNoCR = derivset (“若干”,“关闭”)
OptionsNoCR =诊断:'off'警告:'on'构造:'off'
[BondPriceNoCR, BondPriceTreeNoCR] = hjmprice(HJMTree,...BondPort OptionsNoCR)
警告:并不是所有的现金流都与树一致。重建树。BondPriceNoCR = 97.53342361674437 BondPriceTreeNoCR = FinObj: 'HJMPriceTree' PBush: {1x9 cell} AIBush: {1x9 cell} tObs: [0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]
正如上次警告中所指出的,由于债券的现金流与树日期不一致,因此生成了一个新的树来为债券定价。这种定价方法返回更准确的结果,因为它保证了过程是无套利的。它还需要更长的计算时间和更多的内存。的则
价格树结构的字段表示增加的内存使用量。BondPriceTree.tObs
只有五个元素,而BondPriceTreeNoCR.tObs
有九个。虽然这看起来差别不大,但它对最后一个节点中的状态数量有很大影响。
大小(BondPriceTree.PBush{结束})
Ans = 1 8
大小(BondPriceTreeNoCR.PBush{结束})
Ans = 1 128
通过检查价格树,差异变得更加明显树状视图
.
treeview (BondPriceTree BondPort)
treeview (BondPriceTreeNoCR BondPort)
所有= [Delta ./ Price, Gamma ./ Price, Vega ./ Price, Price]
全部= -2.76 10.43 0.00 98.72 -3.56 16.64 -0.00 97.53 -166.18 13235.59 700.96 0.05 -2.76 10.43 0.00 98.72 -0.01 0.03 0 100.55 46.95 1090.63 14.91 6.28 -969.85 173969.77 1926.72 0.05 -76.39 287.00 0.00 3.690
另请参阅
instasian
|instbarrier
|instcompound
|instlookback
|instoptstock