主要内容

仪对象

自从R2020a

描述

创建和价格仪对象为一个或多个帽工具使用此工作流:

  1. 使用fininstrument创建一个为一个或多个帽仪器仪表对象。

  2. 使用finmodel指定一个HullWhite,BlackKarasinski,BlackDermanToy,黑色的,正常的,BraceGatarekMusiela,SABRBraceGatarekMusiela,或LinearGaussian2F模型仪对象。

  3. 选择定价方法。

    • 当使用一个HullWhite,BlackKarasinski,BlackDermanToy,黑色的,或正常的模型,使用finpricer为一个或多个定价仪器和指定:

      • 一个正常的定价的人在使用正常的模型。

      • 一个黑色的定价的人在使用黑色的模型。

      • 一个HullWhite定价的人在使用HullWhite模型。

      • 一个IRTree定价的人在使用BlackKarasinskiBlackDermanToy模型。

    • 当使用一个HullWhite,BlackKarasinski,BraceGatarekMusiela,SABRBraceGatarekMusiela,或LinearGaussian2F模型,使用finpricer指定一个IRMonteCarlo一个或多个的定价方法仪器。

此工作流的更多信息,请参阅开始使用工作流使用基于对象的金融工具定价的框架

有关可用的模型和定价方法的更多信息仪器,看选择工具、模型和定价的人

创建

描述

例子

CapOpt= fininstrument (InstrumentType”,罢工“strike_value,”成熟”,maturity_date)创建一个对象通过指定一个或多个帽工具InstrumentType并设置属性所需的参数名称-值对罢工成熟

仪器支持香草和均摊帽。金宝app

例子

CapOpt= fininstrument (___,名称,值)设置可选属性除了需要使用额外的名称-值对参数在前面的语法。例如,CapOpt = fininstrument(“帽”,“罢工”,0.65,“成熟”,datetime(2019, 30),“重置”,4,“校长”,100年,“ResetOffset”, 1,“基础”,1,“DaycountAdjustedCashFlow”,的确,“BusinessDayConvention”、“关注”、“ProjectionCurve”, ratecurve_object,“名字”,“cap_option”)创建一个选择罢工为0.65。您可以指定多个参数名称-值对。

输入参数

全部展开

仪器类型,指定为一个字符串的值“帽子”一个特征向量的值“帽子”,一个NINST——- - - - - -1字符串数组的值“帽子”,或者一个NINST——- - - - - -1单元阵列特征向量的值“帽子”

数据类型:字符|细胞|字符串

名称-值参数

指定必需和可选双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:CapOpt = fininstrument(“帽”,“罢工”,0.65,“成熟”,datetime(2019, 30),“重置”,4,“校长”,100年,“ResetOffset”, 1,“基础”,1,“DaycountAdjustedCashFlow”,的确,“BusinessDayConvention”、“关注”、“ProjectionCurve”, ratecurve_object,“名字”,“cap_option”)

要求名称-值对的观点

全部展开

帽子价格,指定为逗号分隔组成的“罢工”和一个标量非负十进制值或一个NINST——- - - - - -1非负数字向量。

数据类型:

帽到期日,指定为逗号分隔组成的“ExerciseDate”和一个标量或一个NINST——- - - - - -1使用datetime向量数组,字符串数组,或日期特征向量。

支持现金宝app有的代码,还接受连续日期数据作为输入,但不推荐。

如果你使用日期字符向量或字符串,必须识别的格式datetime因为成熟属性存储为一个datetime。

可选名称-值对的观点

全部展开

重置频率每年支付,指定为逗号分隔组成的“重置”和一个标量数值或者一个NINST——- - - - - -1数值向量。

数据类型:

天计算基础上,指定为逗号分隔组成的“基础”和一个标量整数或一个NINST——- - - - - -1整数向量与下列值:

  • 0 -实际/实际

  • 1 - 30/360 (SIA)

  • 2 -实际/ 360

  • 3 -实际/ 365

  • 4 - 30/360 (PSA)

  • 5 - 30/360 (ISDA)

  • 6 - 30/360(欧洲)

  • 实际/ 7 - 365(日本)

  • 8 -实际/实际(国际)

  • 9 -实际/ 360(国际)

  • 实际/ 10 - 365(国际)

  • 11 - 30/360E(国际)

  • 实际/ 12 - 365 (ISDA)

  • 13 -总线/ 252

有关更多信息,请参见基础

数据类型:

本金或主值计划,指定为逗号分隔组成的“校长”和一个标量数值或者一个NINST——- - - - - -1数值向量或一个时间表。

主要接受一个时间表,第一列是日期和第二列是相关的主值。显示日期的最后一天,主值是有效的。

请注意

如果你创建一个或多个仪器和使用时间表,时间表规范适用于所有的仪器。主要不接受一个NINST——- - - - - -1单元阵列的时间表作为输入。

数据类型:|时间表

滞后率设置,指定为逗号分隔组成的“ResetOffset”和一个标量数值或者一个NINST——- - - - - -1数值向量。

数据类型:

国旗调整根据实际现金流周期数天,指定为逗号分隔组成的“DaycountAdjustedCashFlow”和一个标量或一个NINST——- - - - - -1向量和的值真正的

数据类型:逻辑

工作日约定指定为逗号分隔组成的“BusinessDayConvention”和一个标量字符串或字符或一个向量NINST——- - - - - -1单元阵列特征向量的工作日约定或字符串数组。选择工作日约定确定非商业的天是如何处理的。被定义为周末+其他非商业的天,企业不开放(例如,法定假日)。值:

  • “实际”-非商业的天实际上是忽视了。现金流,落在非业务天认为是分布的实际日期。

  • “关注”——现金流,落在一个非商业的天是假定为分布在以下营业日。

  • “modifiedfollow”——现金流,落在一个非商业的天是假定为分布在以下营业日。然而,如果在另一个月,以下营业日采用前一营业日。

  • “以前”——现金流,落在一个非商业的天是假定为分布在前一个营业日。

  • “modifiedprevious”——现金流,落在一个非商业的天是假定为分布在前一个营业日。然而,如果前一营业日是在另一个月,采用以下营业日。

数据类型:字符|细胞|字符串

假期用于计算工作日,指定为逗号分隔组成的“假期”和日期使用一个NINST——- - - - - -1向量的datetime数组,字符串数组,或日期特征向量。例如:

H =假期(datetime(今天),datetime (2025、12、15));CapOpt = fininstrument(“帽”,“罢工”,100年,“成熟”,datetime(2025、12、15),“假期”,H)

支持现金宝app有的代码,还接受连续日期数据作为输入,但不推荐。

率曲线用于预测未来的现金流,指定为逗号分隔组成的“ProjectionCurve”和一个标量ratecurve对象或一个NINST——- - - - - -1向量的ratecurve对象。必须创建这些对象使用ratecurve。使用这个可选输入如果远期曲线不同于折扣曲线。

数据类型:对象

为更多的乐器之一,用户定义的名称指定为逗号分隔组成的“名字”和一个标量字符串或字符或一个向量NINST——- - - - - -1单元阵列特征向量数组或字符串。

数据类型:字符|细胞|字符串

属性

全部展开

期权执行价格的价值,作为一个标量返回或非负价值NINST——- - - - - -1向量的非负价值。

数据类型:

帽到期日,作为一个标量datetime或返回NINST——- - - - - -1向量的日期时间。

数据类型:datetime

重置频率每年支付,作为标量数值或返回NINST——- - - - - -1数值向量。

数据类型:

天计算基础上,作为一个标量返回整数或一个NINST——- - - - - -1向量的整数。

数据类型:

本金或主体价值的时间表,作为标量数值或返回NINST——- - - - - -1数字矢量本金数额或时间表主值的时间表。

数据类型:|时间表

滞后率设置,作为标量数值或返回NINST——- - - - - -1数值向量。

数据类型:

国旗调整根据实际现金流周期数天,作为一个标量逻辑或返回NINST——- - - - - -1向量和的值真正的

数据类型:逻辑

业务一天约定,作为一个标量字符串或一个返回NINST——- - - - - -1字符串数组。

数据类型:字符串

假期用于计算工作日,作为一个返回NINST——- - - - - -1向量的日期时间。

数据类型:datetime

率曲线用于预测未来的现金流,作为一个标量返回ratecurve对象或一个NINST——- - - - - -1向量的ratecurve对象。

数据类型:对象

仪器的用户定义的名称,或作为一个标量返回字符串NINST——- - - - - -1字符串数组。

数据类型:字符串

例子

全部折叠

这个例子显示了香草工作流价格仪器在使用HullWhite模型和HullWhite定价方法。

创建仪对象

使用fininstrument创建一个仪对象。

CapOpt = fininstrument (“帽子”,“罢工”,0.02,“成熟”datetime (2019 1 30),“重置”4“校长”,100,“基础”8“名字”,“cap_option”)
CapOpt =帽与属性:罢工:0.0200成熟度:30 - 2019年1月——ResetOffset: 0重置:4基础:8校长:100 ProjectionCurve: [0 x0 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT的名字:“cap_option”

创建HullWhite模型对象

使用finmodel创建一个HullWhite模型对象。

HullWhiteModel = finmodel (“HullWhite”,“α”,0.62,“σ”,0.99)
HullWhiteModel = HullWhite属性:α:0.6200σ:0.9900

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= 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 = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve属性:类型:“零”组合:1基础:0日期:x1 datetime[10]利率:x1双[10]解决:15 - 9 - 2018 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建HullWhite定价的人对象

使用finpricer创建一个HullWhite定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“分析”,“模型”HullWhiteModel,“DiscountCurve”myRC)
outPricer = HullWhite属性:DiscountCurve: [1 x1 ratecurve]模型:[1 x1 finmodel.HullWhite]

价格仪器

使用价格来计算的价格乐器。

价格=价格(outPricer CapOpt)
价格= 2.9366

这个例子展示了工作流价格多种香草仪器在使用HullWhite模型和HullWhite定价方法。

创建仪对象

使用fininstrument创建一个仪对象三帽仪器。

CapOpt = fininstrument (“帽子”,“罢工”,0.02,“成熟”datetime([2019年,1、30;2019年,2、30;2019年,3、30),“重置”4“校长”,100;200;300年),“基础”8“名字”,“cap_option”)
CapOpt =3×1对象3 x1帽数组属性:攻击成熟ResetOffset重置基础主要ProjectionCurve DaycountAdjustedCashFlow BusinessDayConvention节日名称

创建HullWhite模型对象

使用finmodel创建一个HullWhite模型对象。

HullWhiteModel = finmodel (“HullWhite”,“α”,0.62,“σ”,0.99)
HullWhiteModel = HullWhite属性:α:0.6200σ:0.9900

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= 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 = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve属性:类型:“零”组合:1基础:0日期:x1 datetime[10]利率:x1双[10]解决:15 - 9 - 2018 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建HullWhite定价的人对象

使用finpricer创建一个HullWhite定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“分析”,“模型”HullWhiteModel,“DiscountCurve”myRC)
outPricer = HullWhite属性:DiscountCurve: [1 x1 ratecurve]模型:[1 x1 finmodel.HullWhite]

价格仪器

使用价格计算价格仪器。

价格=价格(outPricer CapOpt)
价格=3×12.9366 7.4694 17.7915

这个例子显示了香草工作流价格当你使用工具正常的模型和正常的定价方法。

创建ratecurve对象

创建一个ratecurve对象使用ratecurve基础利率曲线乐器。

解决= 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 = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve属性:类型:“零”组合:1基础:0日期:x1 datetime[10]利率:x1双[10]解决:15 - 9 - 2018 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建仪对象

使用fininstrument创建一个仪对象。

CapOpt = fininstrument (“帽子”,“成熟”datetime (2022、9、15),“罢工”,0.04,“ProjectionCurve”myRC)
CapOpt =帽与属性:罢工:0.0400成熟度:15 - 9 - 2022 ResetOffset: 0重置:1基础:0校长:100 ProjectionCurve: [1 x1 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT的名字:“

创建正常的模型对象

使用finmodel创建一个正常的模型对象。

NormalModel = finmodel (“正常”,“波动”,0.01)
NormalModel =正常属性:波动率:0.0100

创建正常的定价的人对象

使用finpricer创建一个正常的定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“分析”,“DiscountCurve”myRC,“模型”NormalModel)
outPricer =正常的属性:DiscountCurve: [1 x1 ratecurve]转变:0模型:[1 x1 finmodel.Normal]

价格仪器

使用价格来计算的价格乐器。

价格(价格、outPR) = (outPricer CapOpt)
价格= 0.0701
outPR = priceresult属性:结果:[1 x1表]PricerData: []

这个例子展示了工作流的价格摊还当你使用工具黑色的模型和黑色的定价方法。

创建仪对象

使用fininstrument创建一个摊还仪对象。

CADates = [datetime(1) 2020年,9日;datetime (2023 9,1)];CAPrincipal = [100;85);校长=时间表(CADates CAPrincipal);CapOpt = fininstrument (“帽子”,“成熟”datetime (2023 9 1),“罢工”,0.015,“校长”校长,“名字”,“cap_amortizing_option”)
CapOpt =帽与属性:罢工:0.0150成熟度:01 - 2023年9月——ResetOffset: 0重置:1基础:0校长:[2 x1时间表]ProjectionCurve: [0 x0 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT的名字:“cap_amortizing_option”

创建黑色的模型对象

使用finmodel创建一个黑色的模型对象。

BlackModel = finmodel (“黑色”,“波动”,0.2)
BlackModel =黑与属性:波动率:0.2000转变:0

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime (2018 9, 1);类型=“零”;ZeroTimes = [calyears ([1 2 3 4 5 7 10])) ';ZeroRates = (0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168) ';ZeroDates = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates);

创建黑色的定价的人对象

使用finpricer创建一个黑色的定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“分析”,“模型”BlackModel,“DiscountCurve”myRC)
outPricer =黑与属性:模型:[1 x1 finmodel。黑色]DiscountCurve: [1 x1 ratecurve]

价格仪器

使用价格来计算的价格乐器。

价格=价格(outPricer CapOpt)
价格= 0.3897

这个例子显示了香草工作流价格仪器在使用HullWhite模型和一个IRTree定价方法。

创建仪对象

使用fininstrument创建一个仪对象。

CapOpt = fininstrument (“帽子”,“罢工”,0.02,“成熟”datetime (2020 1 30),“重置”4“校长”,100,“基础”8“名字”,“cap_option”)
CapOpt =帽与属性:罢工:0.0200成熟度:30 - 2020年1月——ResetOffset: 0重置:4基础:8校长:100 ProjectionCurve: [0 x0 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT的名字:“cap_option”

创建HullWhite模型对象

使用finmodel创建一个HullWhite模型对象。

HullWhiteModel = finmodel (“HullWhite”,“α”,0.01,“σ”,0.10)
HullWhiteModel = HullWhite属性:α:0.0100σ:0.1000

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= 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 = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve属性:类型:“零”组合:1基础:0日期:x1 datetime[10]利率:x1双[10]解决:15 - 9 - 2018 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建IRTree定价的人对象

使用finpricer创建一个IRTree定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

CapOpt CFdates = CFdates(结算。成熟,CapOpt。重置,CapOpt。基础);outPricer = finpricer (“IRTree”,“模型”HullWhiteModel,“DiscountCurve”myRC,“TreeDates”,CFdates ')
outPricer = HWBKTree属性:树:[1 x1 struct] TreeDates: [6 x1 datetime)模型:[1 x1 finmodel。HullWhite] DiscountCurve: [1 x1 ratecurve]

价格仪器

使用价格来计算的价格和敏感性乐器。

(价格、outPR) =价格(outPricer, CapOpt“所有”])
价格= 2.7733
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格三角洲伽马织女星交______ 2.7733 28.932 -49.227 31.655

这个例子显示了工作流价格仪器在使用LinearGaussian2F模型和一个IRMonteCarlo定价方法。

创建仪对象

使用fininstrument创建一个仪对象。

CapOpt = fininstrument (“帽子”,“成熟”datetime (2022、9、15),“罢工”,0.01,“重置”2,“名字”,“cap_option”)
CapOpt =帽与属性:罢工:0.0100成熟度:15 - 9 - 2022 ResetOffset: 0重置:2基础:0校长:100 ProjectionCurve: [0 x0 ratecurve] DaycountAdjustedCashFlow: 0 BusinessDayConvention:“实际”假期:NaT的名字:“cap_option”

创建LinearGaussian2F模型对象

使用finmodel创建一个LinearGaussian2F模型对象。

LinearGaussian2FModel = finmodel (“LinearGaussian2F”,“α”,0.07,“Sigma1”,0.01,“Alpha2”,0.5,“Sigma2”,0.006,“相关”,-0.7)
LinearGaussian2FModel = LinearGaussian2F属性:α1:0.0700 Sigma1: 0.0100 Alpha2: 0.5000 Sigma2: 0.0060相关性:-0.7000

创建ratecurve对象

创建一个ratecurve对象使用ratecurve

解决= datetime (2019、1、1);类型=“零”;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 = + ZeroTimes定居;myRC = ratecurve (“零”、结算、ZeroDates ZeroRates)
myRC = ratecurve属性:类型:“零”组合:1基础:0日期:x1 datetime[10]利率:x1双[10]解决:01 - 1月- 2019 InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“以前”

创建IRMonteCarlo定价的人对象

使用finpricer创建一个IRMonteCarlo定价的人对象和使用ratecurve对象的“DiscountCurve”名称-值对的论点。

outPricer = finpricer (“IRMonteCarlo”,“模型”LinearGaussian2FModel,“DiscountCurve”myRC,“SimulationDates”ZeroDates)
outPricer = G2PPMonteCarlo属性:NumTrials: 1000 RandomNumbers: [] DiscountCurve: [1 x1 ratecurve] SimulationDates:[01 - 7月- 2019年01 - 1月- 2020年01 - 1月- 2021年01 - 1月- 2022年01 - 1月- 2023年01 - 1月- 2024年01 - 1月- 2026年01 - 1月- 2029年01 - 1月- 2039年01 - 1月- 2049]模型:[1 x1 finmodel.LinearGaussian2F]

价格仪器

使用价格来计算的价格和敏感性乐器。

(价格、outPR) =价格(outPricer, CapOpt“所有”])
价格= 1.2156
outPR = priceresult属性:结果:[1 x4表]PricerData: [1 x1 struct]
outPR.Results
ans =1×4表价格三角洲伽马织女星交_____ ___________ 126.5 - -157.38 1.2156 - 131.37 11048

更多关于

全部展开

版本历史

介绍了R2020a

全部展开