主要内容

期权定价结构

简介

MATLAB®选项结构为大多数定价功能提供了额外的输入。的选项结构

  • 介绍了定价函数如何使用利率树计算仪器价格。

  • 确定命令窗口与仪器价格一起显示的附加信息。

  • 告诉定价函数在定价障碍期权时使用哪种方法。

定价期权结构主要用于基于利率的金融衍生品的定价。然而,BarrierMethod结构中的字段也允许您在股权障碍期权定价中使用它。

您可以在可选选项中提供定价选项选项参数传递给定价函数。(见,例如,bondbyhjmbdtpricebarrierbycrrbarrierbyeqp,或barrierbyitt.)

默认的结构

如果不指定选项参数时,该函数使用默认结构。若要观察默认结构,请使用derivset不带任何参数。

选择= derivset
选项=诊断:'off'警告:'on' ConstRate: 'on' BarrierMethod: 'unenhanced'

选项Structure有四个字段:诊断警告ConstRate,BarrierMethod

诊断领域

诊断指示修改树后是否显示附加信息。该选项的默认值为“关闭”.如果诊断被设置为“上”而且ConstRate被设置为“关闭”,定价函数显示为定价目的而生成的树的最后一层的节点数等信息。

预警领域

警告指示当输入树不足以准确为仪器定价时是否显示警告消息。该选项的默认值为“上”.如果两个ConstRate而且警告“上”,如果输入投资组合中的任何工具在树日期之间有现金流日期,则会显示一个警告。如果ConstRate“关闭”,警告“上”,如果修改树以匹配投资组合中工具的现金流日期,则会显示一个警告。

ConstRate领域

ConstRate指示是否应假定树日期之间的利率为常数。默认情况下,该选项为“上”,这并不是一个没有套利的假设。因此,定价函数返回树日期之间具有现金流的工具的近似价格。只在树节点上有现金流的工具不受这个选项的影响,并返回精确的(无套利的)价格。当ConstRate“关闭”,定价函数查找投资组合中所有工具的现金流日期。如果这些现金流与树的日期不完全一致,则生成一个新的树并用于定价。这棵新树具有与输入树相同的波动率和初始利率规格,但包含投资组合中至少有一种工具具有现金流的每个日期的树节点。请记住,树中的节点数量与树日期的数量成指数增长。因此,设置ConstRate“关闭”极大地增加了计算机的内存和处理器需求。

BarrierMethod领域

当使用二叉树为障碍期权定价时,当树节点与障碍级别不一致时,可能需要许多树步骤才能获得准确的结果。与BarrierMethod字段中,该工具箱提供了一种增强方法,可以提高结果的准确性,而不必使用大型树。

BarrierMethod字段可以设置为“unenhanced”(默认)或的插值函数.如果您指定“unenhanced”,不进行校正计算。否则,如果指定的插值函数,该工具箱通过在屏障边界上的节点之间进行插值来提供增强的估值。

你在最后一个输入参数中指定屏障方法,选项的函数barrierbycrrbarrierbyeqpbarrierbyittcrrpriceeqppriceittpricecrrsenseqpsens,或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 =了

请注意

使用derivset而且derivget来构造Options结构。这些功能保证保持不变,而结构本身的实现可能在未来被修改。

现在观察设置的效果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

另请参阅

||||

相关的例子

更多关于

Baidu
map