映射金融工具工具箱工具、模型和价格的基于对象的框架的函数
金融工具工具箱™允许您使用基于函数的框架或替代的基于对象的框架来为金融工具定价。
在基于函数的框架中,使用嵌入式期权为债券定价的典型工作流如下所示。
创建一个
RateSpec
仪器使用intenvset
.% 0数据Settle = datetime(2018,9,15);类型=“零”;ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';ZeroDates = Settle + ZeroTimes;复利= -1;基= 1;仪器参数成熟度= datetime(2024,9,15);CouponRate = 0.035;罢工= 100;ExerciseDates = datetime(202,9,15);CallSchedule =时间表(演习日期,罢工,“VariableNames”, {“罢工计划”});周期= 1;% HW参数Vol = 0.01;Alpha = 0.1;TreeDates = Settle + calyears(1:10);RateSpec = intenvset(“复合”复合,startdate可以的解决,...“EndDates”ZeroDates,“利率”ZeroRates,“基础”、基础);
使用。创建Hull-White树对象
hwvolspec
,hwtimespec
,hwtree
.HWVolSpec = HWVolSpec (Settle, TreeDates, Vol,TreeDates, Alpha);HWTimeSpec = HWTimeSpec (Settle, TreeDates, 1);HWTree = HWTree (HWVolSpec, RateSpec, HWTimeSpec);OldPrice = optembndbyhw(HWTree,CouponRate,Settle,Maturity,“电话”、罢工、ExerciseDates“时间”期)
使用赫尔-怀特利率树为嵌入期权的债券定价
optembndbyhw
.OldPrice = optembndbyhw(HWTree,CouponRate,Settle,Maturity,“电话”、罢工、ExerciseDates“时间”期)
OldPrice = 109.4814
相比之下,在基于对象的金融工具工具箱工作流中,您可以使用工具、模型和定价器对象为工具定价:
创建一个
OptionEmbeddedFixedBond
仪器使用OptionEmbeddedFixedBond
.% 0数据Settle = datetime(2018,9,15);类型=“零”;ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';ZeroDates = Settle + ZeroTimes;复利= -1;基= 1;仪器参数成熟度= datetime(2024,9,15);CouponRate = 0.035;罢工= 100;ExerciseDates = datetime(202,9,15);CallSchedule =时间表(演习日期,罢工,“VariableNames”, {“罢工计划”});周期= 1;% HW参数Vol = 0.01;Alpha = 0.1;TreeDates = Settle + calyears(1:10);CallableBond = fininstrument(“OptionEmbeddedFixedBond”,“成熟”成熟,...“CouponRate”CouponRate,“时间”期,...“CallSchedule”CallSchedule,“名字”,“CallableBond”,“基础”、基础);
创建一个
ratecurve
对象使用ratecurve
.比率曲线(“零”、结算、ZeroDates ZeroRates,“基础”、基础);
创建一个
HullWhite
使用模型对象HullWhite
.HWModel = finmodel(“HullWhite”,“阿尔法”α,“σ”、卷);
创建一个
IRTree
price对象使用IRTree
.HWPricer = finpricer(“IRTree”,“模型”HWModel,“DiscountCurve”myRC,“TreeDates”TreeDates ');
为债券工具定价
价格
.NewPrice = price(hwprice, CallableBond)
NewPrice = 109.4814
请注意
即使使用相同的数据,基于函数的工作流和基于对象的工作流也可以返回不同的仪器价格。这种差异是因为现有的金融工具工具箱功能在内部使用datetime
和基于对象的框架使用yearfrac
用于日期处理。
有关基于功能的工具定价到基于对象的工具定价的映射,请参见: