交换
交换
仪对象
描述
创建和定价交换
工具对象用于一个或多个交换工具,使用以下工作流:
使用
fininstrument
要创建一个交换
一个或多个Swap工具的工具对象。使用
ratecurve
的曲线模型交换
仪器对象或用途finmodel
要指定HullWhite
,BlackKarasinski
,BlackDermanToy
,或LinearGaussian2F
模型。选择一种定价方法。
有关此工作流的更多信息,请参见开始使用基于对象的框架为金融工具定价的工作流程.
如需了解更多有关a的可用型号和定价方法的信息交换
仪器,看选择仪器,模型和价格.
创建
语法
描述
创建一个SwapInstrument
= fininstrument (InstrumentType
,'成熟
“maturity_date,”LegRate
”,leg_rate)交换
对象用于一个或多个Swap工具InstrumentType
并设置属性所需的名称-值对参数成熟
而且LegRate
.
的交换
工具支持香草掉期、摊销掉期和远期掉期。您可以使用交换
单一货币互换工具,而非跨货币互换工具。有关a的更多信息交换
仪器,看更多关于.
设置可选属性在前面的语法中使用所需的参数以外的其他名称-值对。例如,SwapInstrument
= fininstrument (___,名称,值
)SwapInstrument = fininstrument("Swap",'Maturity',datetime(2019,1,30),'LegRate',[0.06 0.12],'LegType',["fixed","fixed"],'Basis',1,'Notional',100,'StartDate',datetime(2016,1,30),' daycountadjuststedcashflow ',true,'BusinessDayConvention',"follow",'ProjectionCurve',利率曲线,'Name',"swap_instrument")
创建一个交换
到期日期为2019年1月30日的期权。可以指定多个名称-值对参数。
输入参数
InstrumentType
- - - - - -仪器类型
带值的字符串“交换”
|值为的字符串数组“交换”
|带值的字符向量“交换”
|值的字符向量的单元格数组“交换”
仪器类型,指定为值为的字符串“交换”
,值为的字符向量“交换”
,一个NINST
——- - - - - -1
值为的字符串数组“交换”
,或NINST
——- - - - - -1
值的字符向量的单元格数组“交换”
.
数据类型:字符
|细胞
|字符串
指定必需参数对和可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:SwapInstrument = fininstrument("Swap",'Maturity',datetime(2019,1,30),'LegRate',[0.06 0.12],'LegType',["fixed","fixed"],'Basis',1,'Notional',100,'StartDate',datetime(2016,1,30),' daycountadjuststedcashflow ',true,'BusinessDayConvention',"follow",'ProjectionCurve',利率曲线,'Name',"swap_instrument")
交换
名称-值对实参
成熟
- - - - - -互换到期日
datetime数组|字符串数组|日期字符向量
交换到期日期,指定为逗号分隔的对,由“成熟”
标量或者anNINST
——- - - - - -1
Vector,使用日期时间数组、字符串数组或日期字符向量。
要支持现有代码,交换
也接受序列号作为输入,但不建议使用。
如果使用日期字符向量或字符串,格式必须由datetime
因为成熟
属性存储为日期时间。
LegRate
- - - - - -腿率(十进制)
矩阵
以十进制表示的腿率,指定为逗号分隔的对,由“LegRate”
和一个NINST
——- - - - - -2
矩阵。每一行可以定义为以下之一:
(CouponRate传播)
(fixed-float)(CouponRate传播)
(float-fixed)[CouponRate CouponRate]
(惯性)(传播扩散)
(float-float)
CouponRate
是十进制年利率。传播
是参考汇率上以小数表示的基点数。第一列表示接收腿,第二列表示支付腿。
数据类型:双
交换
名称-值对实参
LegType
- - - - - -腿型
(“固定”、“浮动”)
对于每种仪器(默认)|带有值的字符向量的单元格数组{'固定','固定'}
,{“固定”,“浮动”}
,{“浮动”,“固定”}
,或{“浮动”,“浮动”}
|带有值的字符串数组(“固定”,“固定”)
,(“固定”、“浮动”)
,(“浮动”,“固定”)
,或(“浮动”、“浮动”)
ProjectionCurve
- - - - - -用于预测浮动现金流的利率曲线
ratecurve.empty
(默认)|标量ratecurve
对象|向量的ratecurve
对象
用于预测浮动现金流的利率曲线,指定为逗号分隔的对,由“ProjectionCurve”
一个标量ratecurve
对象或NINST
——- - - - - -1
向量的ratecurve
对象。您必须使用ratecurve
.如果远期曲线与贴现曲线不同,则使用此可选输入。
数据类型:对象
重置
- - - - - -每年支付的频率
(2 - 2)
(默认)|的数值0
,1
,2
,3.
,4
,6
,或12
|矩阵
每年支付的频率,用逗号分隔的对表示,由“重置”
标量或者aNINST
——- - - - - -2
矩阵如果重置
对于每个分支是不同的),使用以下值之一:0
,1
,2
,3.
,4
,6
,或12
.
数据类型:双
基础
- - - - - -日计数基础代表每条腿的基础
[0 0]
(实际/实际)(默认)|整数的0
来13
日计数基础,表示每条腿的基础,指定为逗号分隔的对,由“基础”
和一个NINST
——- - - - - -1
矩阵(或NINST
——- - - - - -2
矩阵如果基础
每条腿都不一样)。
0 - actual/实际的
1 - 30/360 (sia)
2 -实际/360
3 -实际/365
4 - 30/360 (psa)
5 - 30/360 (isda)
6 - 30/360(欧洲)
7 -实际/365(日文)
8 -实际/实际(ICMA)
9 -实际/360 (ICMA)
10 -实际/365 (ICMA)
11 - 30/360e (icma)
12 -实际/365 (ISDA)
13路,252路
有关更多信息,请参见基础.
数据类型:双
名义
- - - - - -名义本金金额或本金价值表
One hundred.
(默认)|标量数值|数值向量|时间表
名义本金金额或本金价值表,以逗号分隔的对表示,由“名义上”
一个标量数字或者anNINST
——- - - - - -1
数字矢量或时间表使用标量或向量表示vanilla交换
摊销的文书和时间表交换
乐器。
名义
接受一个标量作为一个本金(或一个1
——- - - - - -2
矩阵如果名义
每条腿都不一样)还是时间表
对于主值表。对于时间表,时间表的第一列是日期,第二列是有关的名义主值。日期表示主值有效的最后一天。
请注意
如果您正在创建一个或多个交换
仪器和使用都有时刻表,该时刻表规范适用于所有的仪器交换
仪器。名义
不接受NINST
——- - - - - -1
将时间表作为输入的单元格数组。
数据类型:时间表
|双
LatestFloatingRate
- - - - - -浮腿的最新浮动率
如果没有指定,那么ratecurve
必须包含以下信息(默认)|标量数值|向量
浮动腿的最新浮动率,指定为逗号分隔的对,由“LatestFloatingRate”
一个标量数字或者anNINST
——- - - - - -1
数值向量。
LatestFloatingRate
是一个NINST
——- - - - - -1
矩阵(或NINST
——- - - - - -2
矩阵如果LatestFloatingRate
每条腿都不一样)。
数据类型:双
ResetOffset
- - - - - -汇率设定滞后
[0 0]
(默认)|向量
速率设置的延迟,指定为逗号分隔的对,由“ResetOffset”
和一个NINST
——- - - - - -2
矩阵。
数据类型:双
DaycountAdjustedCashFlow
- - - - - -标记以根据实际期间日计数调整现金流
假
(默认)|的逻辑值真正的
或假
|的逻辑值的向量真正的
或假
标记以根据实际的期间日计数调整现金流,指定为逗号分隔的对,由“DaycountAdjustedCashFlow”
和一个NINST
——- - - - - -1
矩阵(或NINST
——- - - - - -2
矩阵如果AdjustCashFlowsBasis
不同的逻辑),值为真正的
或假
.
数据类型:逻辑
BusinessDayConvention
- - - - - -工作日约定
“实际”
(默认)|字符串|字符串数组|特征向量|字符向量的单元格数组
工作日约定,指定为逗号分隔的对,由“BusinessDayConvention”
和字符串(或NINST
——- - - - - -2
字符串数组BusinessDayConvention
的值)或字符向量(或NINST
——- - - - - -2
字符向量的单元格数组BusinessDayConvention
每条腿都不一样)。营业日约定的选择决定了如何处理非营业日。非营业日被定义为周末加上任何其他不营业的日期(例如,法定假日)。值:
“实际”
-非营业日被有效地忽略。非营业日的现金流假定在实际日分配。“关注”
-非营业日的现金流假定在下一个营业日分配。“modifiedfollow”
-非营业日的现金流假定在下一个营业日分配。但是,如果下一个工作日在不同的月份,则采用上一个工作日。“以前”
-非营业日的现金流假定在前一个营业日分配。“modifiedprevious”
-非营业日的现金流假定在前一个营业日分配。但是,如果上一个工作日在不同的月份,则采用下一个工作日。
数据类型:字符
|细胞
|字符串
假期
- - - - - -用于计算工作日的假日
NaT
(默认)|datetime数组|字符串数组|日期字符向量
假日用于计算工作日,指定为逗号分隔的对,由“假期”
日期使用NINST
——- - - - - -1
日期时间的向量,日期字符向量的单元格数组,或日期字符串数组。例如:
H = holidays(datetime('today'),datetime(2025,12,15));Swap = fininstrument("Swap",'Maturity',datetime(2025,12,15),'LegRate',[0.06 20],'Holidays',H)
要支持现有代码,交换
也接受序列号作为输入,但不建议使用。
EndMonthRule
- - - - - -生成日期的月末规则标志成熟
月末的日期是30天或更少的月份吗
(真正的真实)
(效果)(默认)|符合逻辑的,值为真正的
或假
|值为的逻辑向量真正的
或假
生成日期的月末规则标志成熟
一个月的月底日期是否为30天或更少的一个月的月底日期,指定为逗号分隔的对,由“EndMonthRule”
的逻辑值真正的
或假
使用一个NINST
——- - - - - -1
矩阵(或NINST
——- - - - - -2
矩阵如果EndMonthRule
每条腿都不一样)。
如果你设置
EndMonthRule
来假
在美国,软件会忽略这一规则,即付款日期总是当月的同一天。如果你设置
EndMonthRule
来真正的
在美国,该软件会设置支付规则,这意味着支付日期总是当月的最后一天。
数据类型:逻辑
StartDate可以
- - - - - -开始交换日期
解决
日期(默认)|datetime数组|字符串数组|日期字符向量
开始日期交换,指定为逗号分隔的对,由StartDate可以的
标量或者anNINST
——- - - - - -1
Vector,使用日期时间数组、字符串数组或日期字符向量。
要支持现有代码,交换
也接受序列号作为输入,但不建议使用。
使用StartDate可以
为远期掉期定价,即从未来日期开始的掉期。
如果使用日期字符向量或字符串,格式必须由datetime
因为StartDate可以
属性存储为日期时间。
的名字
- - - - - -自定义仪表名称
”“
(默认)|字符串|字符串数组|特征向量|字符向量的单元格数组
用户自定义的仪器名称,指定为逗号分隔的对,由“名字”
标量字符串或者字符向量或者anNINST
——- - - - - -1
字符向量或字符串数组的单元格数组。
数据类型:字符
|细胞
|字符串
属性
成熟
- - - - - -到期日
标量datetime|日期时间的向量
到期日期,作为标量datetime或NINST
——- - - - - -1
日期时间的向量。
数据类型:datetime
LegRate
- - - - - -腿率
矩阵
腿率,归为一NINST
——- - - - - -2
十进制值的矩阵,每一行定义为以下之一:
(CouponRate传播)
(fixed-float)(CouponRate传播)
(float-fixed)[CouponRate CouponRate]
(惯性)(传播扩散)
(float-float)
数据类型:双
LegType
- - - - - -腿型
(“固定”、“浮动”)
对于每种仪器(默认)|带有值的字符串数组(“固定”,“固定”)
,(“固定”、“浮动”)
,(“浮动”,“固定”)
,或(“浮动”、“浮动”)
类型,作为带有值的字符串数组返回(“固定”,“固定”)
,(“固定”、“浮动”)
,(“浮动”,“固定”)
,或(“浮动”、“浮动”)
.
数据类型:字符串
ProjectionCurve
- - - - - -用于产生未来现金流的利率曲线
ratecurve.empty
(默认)|标量ratecurve
对象|向量的ratecurve
对象
用于预测未来现金流的利率曲线ratecurve
对象或NINST
——- - - - - -1
向量的ratecurve
对象。
数据类型:对象
重置
- - - - - -每年为每个交换重置频率
(2 - 2)
(默认)|向量
每年为每个交换重置频率,作为标量或NINST
——- - - - - -2
矩阵。
数据类型:双
基础
- - - - - -天数计算基准
[0 0]
(实际/实际)(默认)|整数的0
来13
以日计为基础,归为一NINST
——- - - - - -1
或者一个NINST
——- - - - - -2
矩阵。
数据类型:双
ResetOffset
- - - - - -汇率设定滞后
[0 0]
(默认)|矩阵
速率设置滞后,返回为NINST
——- - - - - -2
或者一个NINST
——- - - - - -2
矩阵。
数据类型:双
名义
- - - - - -名义本金金额或本金价值表
One hundred.
(默认)|标量数值|数值向量|时间表
名义本金,作为标量数字或NINST
——- - - - - -1
数字矢量或时间表
数据类型:双
|时间表
LatestFloatingRate
- - - - - -下次浮动付款的利率
如果没有指定,那么ratecurve
必须包含以下信息(默认)|标量数值|数值向量
下一个浮动支付的利率,在最后一个重置日期设置,返回为标量数字或NINST
——- - - - - -1
数字向量或NINST
——- - - - - -2
如果LatestFloatingRate
每条腿都不一样。
数据类型:双
DaycountAdjustedCashFlow
- - - - - -标记以根据实际期间日计数调整现金流
假
(默认)|的逻辑值真正的
或假
|的逻辑值的向量真正的
或假
标志来根据实际的期间日计数调整现金流,返回为NINST
——- - - - - -1
矩阵(或NINST
——- - - - - -2
矩阵如果AdjustCashFlowsBasis
不同的逻辑),值为真正的
或假
.
数据类型:逻辑
BusinessDayConvention
- - - - - -工作日约定
“实际”
(默认)|字符串|字符串数组
业务日约定,作为字符串或对象返回NINST
——- - - - - -2
字符串数组BusinessDayConvention
每条腿都不一样。
数据类型:字符
|细胞
|字符串
假期
- - - - - -用于计算工作日的假日
NaT
(默认)|日期时间
假日用于计算营业日,返回为NINST
——- - - - - -1
日期时间的向量。
数据类型:datetime
EndMonthRule
- - - - - -生成日期的月末规则标志成熟
月末的日期是30天或更少的月份吗
(真正的真实)
(效果)(默认)|符合逻辑的,值为真正的
或假
|值为的逻辑向量真正的
或假
生成日期的月末规则标志成熟
是否返回有30天或更少天的一个月的月底日期NINST
——- - - - - -1
矩阵(或NINST
——- - - - - -2
矩阵如果EndMonthRule
每条腿都不一样。
数据类型:逻辑
StartDate可以
- - - - - -开始交换日期
解决
日期(默认)|标量datetime|日期时间的向量
开始日期交换,作为标量datetime或NINST
——- - - - - -1
日期时间的向量。
数据类型:datetime
的名字
- - - - - -自定义仪表名称
”“
(默认)|字符串|字符串数组
用户定义的乐器名称,作为标量字符串或NINST
——- - - - - -1
字符串数组。
数据类型:字符串
对象的功能
现金流 |
计算现金流FixedBond ,FloatBond ,交换 ,联邦铁路局 ,STIRFuture ,OISFuture ,OvernightIndexedSwap ,或存款 仪器 |
parswaprate |
计算面值交换率交换 仪器 |
例子
利用利率曲线和贴现率的香草掉期工具
这个例子展示了香草定价的工作流交换
仪器,当你使用ratecurve
和一个折扣
定价方法。
创建ratecurve对象
创建一个ratecurve
对象使用ratecurve
对于潜在的利率曲线交换
乐器。
Settle = datetime(2019,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 ZeroRates)
类型:“零”复合:-1基数:0日期:[10x1 datetime]利率:[10x1 double]结算:15-Sep-2019 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
创建交换
仪对象
使用fininstrument
制作香草交换
仪对象。
交换= fininstrument(“交换”,“成熟”datetime(2024、9、15),“LegRate”,[0.022 0.019],“LegType”,[“浮动”,“固定”],“ProjectionCurve”myRC,“名字”,“swap_instrument”)
Swap = Swap with properties: LegRate: [0.0220 0.0190] LegType: ["float" "fixed"] Reset: [2 2] Basis: [0 0] Notional: 100 LatestFloatingRate: [NaN NaN] ResetOffset: [0 0] DaycountAdjustedCashFlow: [0 0] ProjectionCurve: [1x2 ratecurve] BusinessDayConvention: ["actual" "actual"] Holidays: NaT EndMonthRule: [1 1] StartDate: NaT Maturity: 15- september -2024 Name: "swap_instrument"
创建折扣
定价的人对象
使用finpricer
要创建一个折扣
对象,并使用ratecurve
对象的“DiscountCurve”
名称-值对参数。
outPricer = finpricer“折扣”,“DiscountCurve”myRC)
outPricer =带有属性的折扣:DiscountCurve: [1x1利率曲线]
价格交换
仪器
使用价格
计算香草的价格和敏感度交换
乐器。
[价格,outPR] =价格(outPricer, Swap,[“所有”])
价格= 7.2279
结果:[1x2 table] PricerData: []
outPR。结果
ans =1×2表价格DV01 ______ _________ 7.2279 -0.046631
利用利率曲线和贴现率为多种香草掉期工具定价
这个例子展示了为多个香草定价的工作流交换
当你使用仪器时ratecurve
和一个折扣
定价方法。
创建ratecurve对象
创建一个ratecurve
对象使用ratecurve
对于潜在的利率曲线交换
乐器。
Settle = datetime(2019,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 ZeroRates)
类型:“零”复合:-1基数:0日期:[10x1 datetime]利率:[10x1 double]结算:15-Sep-2019 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
创建交换
仪对象
使用fininstrument
制作香草交换
工具对象用于三个Swap工具。
交换= fininstrument(“交换”,“成熟”datetime([2024、9、15;2025、9、15;2026、9、15]),“LegRate”,[0.022 0.019],“LegType”,[“浮动”,“固定”],“ProjectionCurve”myRC,“名字”,“swap_instrument”)
交换=3×1对象LegRate LegType Reset Basis Notional LatestFloatingRate ResetOffset daycountadjuststedcashflow ProjectionCurve BusinessDayConvention Holidays EndMonthRule StartDate到期名称
创建折扣
定价的人对象
使用finpricer
要创建一个折扣
对象,并使用ratecurve
对象的“DiscountCurve”
名称-值对参数。
outPricer = finpricer“折扣”,“DiscountCurve”myRC)
outPricer =带有属性的折扣:DiscountCurve: [1x1利率曲线]
价格交换
仪器
使用价格
计算香草的价格和敏感度交换
仪器。
[价格,outPR] =价格(outPricer, Swap,[“所有”])
价格=3×17.2279 9.9725 13.0798
outPR =1×3对象1x3 priceresult数组的属性
outPR。结果
ans =1×2表价格DV01 ______ _________ 7.2279 -0.046631
ans =1×2表价格DV01 ______ _________ 9.9725 -0.054393
ans =1×2表价格DV01 _____ _________ 13.08 -0.061381
利用利率曲线和贴现率的价格摊销掉期工具
这个例子展示了为摊销定价的工作流交换
仪器,当你使用ratecurve
和一个折扣
定价方法。
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
对于潜在的利率曲线交换
乐器。
Settle = 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 ZeroRates)
类型:“零”复利:-1基数:0日期:[10x1 datetime]利率:[10x1 double]结算:01- january -2019 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
创建交换
仪对象
使用fininstrument
建立平摊交换
仪对象。
成熟度= datetime(2024,1,1);ADates = datetime([2020,1,1;2024年,1,1);本金= [100;85);名义的=时间表(日期,校长);交换= fininstrument(“交换”,“成熟”成熟,“LegRate”[0.035, 0.01],“重置”[1],“名义上”名义上,“名字”,“swap_instrument”)
Swap =有属性的交换:LegRate: [0.0350 0.0100] LegType: ["fixed" "float"] Reset: [1 1] Basis: [0 0] Notional: [2x1 schedule] LatestFloatingRate: [NaN NaN] ResetOffset: [0 0] DaycountAdjustedCashFlow: [0 0] ProjectionCurve: [0x0 ratecurve] BusinessDayConvention: ["actual" "actual"] Holidays: NaT EndMonthRule: [1 1] StartDate: NaT Maturity: 01-一月-2024 Name: "swap_instrument"
创建折扣
定价的人对象
使用finpricer
要创建一个折扣
对象,并使用ratecurve
对象的“DiscountCurve”
名称-值对参数。
outPricer = finpricer“折扣”,“DiscountCurve”myRC)
outPricer =带有属性的折扣:DiscountCurve: [1x1利率曲线]
价格交换
仪器
使用价格
计算摊销的价格和敏感性交换
乐器。
[价格,outPR] =价格(outPricer, Swap,[“所有”])
价格= 5.7183
结果:[1x2 table] PricerData: []
outPR。结果
ans =1×2表价格DV01 ______ ________ 5.7183 0.044672
基于Hull-White模型和IRTree定价器的香草互换定价工具
这个例子展示了香草定价的工作流交换
仪器,当你使用HullWhite
模型和IRTree
定价方法。
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
对于潜在的利率曲线交换
乐器。
Settle = datetime(2020,1,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 ZeroRates)
类型:" 0 "复合:-1基数:0日期:[10x1 datetime]利率:[10x1 double]结算:15-Jan-2020 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
创建交换
仪对象
使用fininstrument
制作香草交换
仪对象。
LegType = [“浮动”,“固定”];交换= fininstrument(“交换”,“成熟”datetime(2030、9、15),“LegRate”(0.022 - 0.019),“LegType”LegType,“ProjectionCurve”myRC,“名字”,“swap_instrument”)
Swap = Swap with properties: LegRate: [0.0220 0.0190] LegType: ["float" "fixed"] Reset: [2 2] Basis: [0 0] Notional: 100 LatestFloatingRate: [NaN NaN] ResetOffset: [0 0] DaycountAdjustedCashFlow: [0 0] ProjectionCurve: [1x2 ratecurve] BusinessDayConvention: ["actual" "actual"] Holidays: NaT EndMonthRule: [1 1] StartDate: NaT Maturity: 15- sepu -2030 Name: "swap_instrument"
创建HullWhite
模型对象
使用finmodel
要创建一个HullWhite
模型对象。
HullWhiteModel = finmodel(“HullWhite”,“α”, 0.032,“σ”, 0.04)
HullWhiteModel = HullWhite属性:Alpha: 0.0320 Sigma: 0.0400
计算交换
工具现金流量日期
使用cfdates
计算现金流。
CFdates = CFdates(结算,互换。成熟,交换.重置(1), Swap.Basis(1))
CFdates =1将datetime第1至5列第11至15列15- mar -2025 15- sep -2025 15- mar -2026 15- sep -2026 15- mar -2027第16至20列15- sep -2027 15- mar -2028 15- sep -2028 15- mar -2029 15- sep -2029第21至22列15- mar -2030 15- sep -2030
创建IRTree
定价的人对象
使用finpricer
创建一个IRTree
对象,并使用ratecurve
对象的“DiscountCurve”
名称-值对参数。
HWTreePricer = finpricer(“IRTree”,“模型”HullWhiteModel,“DiscountCurve”myRC,“TreeDates”, CFdates ')
HWTreePricer = HWBKTree,属性:Tree: [1x1 struct] TreeDates: [22x1 datetime] Model: [1x1 finmodel. properties][1x1利率曲线]
价格交换
仪器
使用价格
计算香草的价格和敏感度交换
乐器。
[Price, outPR] = Price (HWTreePricer, Swap,“所有”)
价格= 24.3727
outPR = priceresult属性:结果:[1x4表]PricerData: [1x1结构]
outPR。结果
ans =1×4表价格三角洲伽马织女星 ______ ______ _______ __________ 24.373 820.67 -8790.5 8.5265平台以及
使用线性高斯2f模型和IRMonteCarlo定价器的香草互换价格工具
这个例子展示了香草定价的工作流交换
仪器在使用LinearGaussian2F
模型和IRMonteCarlo
定价方法。
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
.
Settle = datetime(2020,1,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 ZeroRates)
类型:" 0 "复合:-1基数:0日期:[10x1 datetime]利率:[10x1 double]结算:15-Jan-2020 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
创建交换
仪对象
使用fininstrument
要创建一个交换
仪对象。
LegType = [“浮动”,“固定”];交换= fininstrument(“交换”,“成熟”datetime(2030、9、15),“LegRate”(0.022 - 0.019),“LegType”LegType,“ProjectionCurve”myRC,“名字”,“swap_instrument”)
Swap = Swap with properties: LegRate: [0.0220 0.0190] LegType: ["float" "fixed"] Reset: [2 2] Basis: [0 0] Notional: 100 LatestFloatingRate: [NaN NaN] ResetOffset: [0 0] DaycountAdjustedCashFlow: [0 0] ProjectionCurve: [1x2 ratecurve] BusinessDayConvention: ["actual" "actual"] Holidays: NaT EndMonthRule: [1 1] StartDate: NaT Maturity: 15- sepu -2030 Name: "swap_instrument"
创建LinearGaussian2F
模型对象
使用finmodel
要创建一个LinearGaussian2F
模型对象。
线性高斯2fmodel = finmodel(“LinearGaussian2F”,“α”, 0.07,“Sigma1”, 0.01,“Alpha2”, 0.5,“Sigma2”, 0.006,“相关”, -0.7)
LinearGaussian2F model = LinearGaussian2F with properties: Alpha1: 0.0700 Sigma1: 0.0100 Alpha2: 0.5000 Sigma2: 0.0060 Correlation: -0.7000
创建IRMonteCarlo
定价的人对象
使用finpricer
创建一个IRMonteCarlo
对象,并使用ratecurve
对象的“DiscountCurve”
名称-值对参数。
outPricer = finpricer“IRMonteCarlo”,“模型”LinearGaussian2FModel,“DiscountCurve”myRC,“SimulationDates”ZeroDates)
[] DiscountCurve: [1x1 rate ecurve] SimulationDates: [15- july -2020 - 15- january -2021 - 15- january -2022…型号:[1x1 finmodel。]LinearGaussian2F]
价格交换
仪器
使用价格
计算价格和灵敏度交换
乐器。
[价格,outPR] =价格(outPricer,Swap,[“所有”])
价格= 23.6657
outPR = priceresult属性:结果:[1x4表]PricerData: [1x1结构]
outPR。结果
ans =1×4表价格三角洲伽马织女星 ______ ______ _______ ______ 23.666 819.11 -8748.9 0 0
更多关于
交换
一个交换是双方之间的契约,要求双方交换未来的现金流。
香草掉期由浮动利率利率腿和固定利率利率腿组成。
摊销互换
一个与摊销计划表互换偿还部分本金(票面价值),连同息票支付。
带有摊销计划的掉期被用来管理利率风险,并作为现金流管理工具。对于这种特定类型的掉期,名义金额会随着时间的推移而减少。这意味着,不仅浮动资产的利息支付会减少,固定资产的利息支付也会减少。使用名义
名称-值对参数支持摊销计划。
远期互换
在一个远期利率掉期在美国,固定利率贷款在未来指定的日期转换为浮动利率贷款。
的StartDate可以
名称-值对参数支持向前交换的未来日期。
版本历史
在R2020a中引入MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。