从一组零条曲线价键
[
价格从一组零条曲线的键。价格
,DirtyPrice
,CFlowAmounts
,CFlowDates
] = bondbyzero(RateSpec
,优惠券比例
,解决
,到期
)bondbyzero
香草债券,加大息债券和摊销债券价格单位计算。
[
增加了额外的名称 - 值对的参数。价格
,DirtyPrice
,CFlowAmounts
,CFlowDates
] = bondbyzero(___,名称,值
)
用零利率曲线为4%的债券定价。
加载deriv.mat
,它提供了ZeroRateSpec
中,利率期限结构,以价债券需要。
加载deriv.mat;CouponRate = 0.04;定居=' 01 - 1月- 2000;成熟度='01 -Jan-2004';价格= bondbyzero(ZeroRateSpec,CouponRate,定居,成熟度)
价格= 97.5334
价格单步利用市场数据息债券。
定义的利率期限结构数据。
率= [0.035;0.042147;0.047345;0.052707];ValuationDate =“扬1-2010”;startdate可以= ValuationDate;EndDates = {“扬1-2011”;“扬1-2012”;“扬1-2013”;“扬1-2014”};复合= 1;
创建RateSpec
。
RS = intenvset('ValuationDate',ValuationDate,'StartDates'startdate可以,…“EndDates”,EndDates,“利率”率,“复利”,复利)
RS =同场的结构:FinObj: 'RateSpec'复合:1光盘:[4x1双]率:[4x1双]结束时间:[4x1双]开始日期:[4x1双]结束日期:[4x1双]开始日期:734139价值日期:734139基础:0结束月规则:1
创建阶梯债券工具。
定居='01 -Jan-2010';成熟= {' 01 - 1月- 2011;' 01 - 1月- 2012;' 01 - 1月- 2013;' 01 - 1月- 2014};CouponRate = {{' 01 - 1月- 20120.0425;' 01 - 1月- 20140.0750}};周期= 1;
计算阶梯式息票债券的价格。
PZERO = bondbyzero(RS,CouponRate,沉降,成熟度,周期)
PZERO =4×1100.7246 100.0945 101.5900 102.0820
按摊销时间表对债券定价脸
输入参数来定义调度。
定义的利率期限结构数据。
率= 0.065;ValuationDate =“1 - 1月- 2011”;startdate可以= ValuationDate;EndDates =“1月,2017年”;复合= 1;
创建RateSpec
。
RateSpec = intenvset('ValuationDate',ValuationDate,'StartDates'startdate可以,…“EndDates”,EndDates,“利率”率,“复利”,复利)
RateSpec =同场的结构:FinObj: 'RateSpec' 混配:1光盘:0.6853价格:0.0650 EndTimes:6个StartTimes:0 EndDates:736696个StartDates:734504 ValuationDate:734504个基础:0 EndMonthRule:1
创建和价格摊销债券工具。债券拥有7%的票面利率,期限为一年,并在到期1月 - 2017年。
CouponRate = 0.07;定居=“1 - 1月- 2011”;成熟度=“1月,2017年”;周期= 1;面= {{“1月,2015年”100;'1月-2016'90;“1月,2017年”80}};Price = bondbyzero(利率,优惠券,结算,到期,“时间”,…期,'面对'脸)
价格= 102.3155
比较与香草债券价格的结果。
PriceVanilla = bondbyzero(RateSpec,CouponRate,沉降,成熟度,周期)
PriceVanilla = 102.4205
对摊销债券和普通债券同时定价。
面= {{“1月,2015年”100;'1月-2016'90;“1月,2017年”80};100};PriceBonds = bondbyzero(RateSpec,CouponRate,沉降,成熟度,“时间”,…期,'面对'脸)
PriceBonds =2×1102.3155 102.4205
当第一次发行的债券,可与定价bondbyzero
在这一天通过设置解决
日期至发行日期。稍后,如果债券需要在发行日期和到期日之间的某一天进行交易,其新价格可以通过更新解决
日期,还有RateSpec
输入。
请注意,债券的价格是由其剩余的现金流和零利率期限结构决定的,这两者都可以随着债券的到期而改变。而bondbyzero
自动更新相对于债券的剩余资金流向新解决
日期,你必须提供一个新的RateSpec
投入,以反映新的零利率期限结构的新解决
日期。
使用以下债券信息。
IssueDate = datenum(“20 - 2014年5月- - - - - -”);CouponRate = 0.01;成熟= datenum(“20 - 2019年5月- - - - - -”);
确定可能20 - 2014年债券价格。
Settle1 = datenum(“20 - 2014年5月- - - - - -”);ZeroDates1 = datemnth(Settle1,12 * [1 2 3 5 7 10 20]');ZeroRates1 = [0.23 0.63 1.01 1.60 2.01 2.27 2.79]'/ 100;RateSpec1 = intenvset('开始日期'Settle1,“EndDates”ZeroDates1,“利率”,ZeroRates1);[Price1, ~, CFlowAmounts1, CFlowDates1] = bondbyzero(RateSpec1,…CouponRate,Settle1,成熟,“IssueDate”,IssueDate);Price1
价格1 = 97.1899
确定10月 - 2015年债券价格。
Settle2 = datenum ('10 -Aug-2015');ZeroDates2 = datemnth(Settle2,12 * [1 2 3 5 7 10 20]');ZeroRates2 = [0.40 0.73 1.09 1.62 1.98 2.24 2.58]'/ 100;RateSpec2 = intenvset('开始日期',Settle2,“EndDates”ZeroDates2,“利率”,ZeroRates2);[Price2,〜,CFlowAmounts2,CFlowDates2] = bondbyzero(RateSpec2,…CouponRate Settle2,成熟,“IssueDate”,IssueDate);Price2
Price2 = 98.9384
若要使用两条不同的曲线为三种债券定价,请定义RateSpec
:
StartDates =01日〜4月-2016';EndDates = [01日〜4月 - 2017' 年;01日〜4月-2018';01日〜4月,2019';01日〜4月-2020']。率= [[0.0356; 0.041185; 0.04489; 0.047741],[0.0325; 0.0423; 0.0437; 0.0465]];RateSpec = intenvset(“利率”率,'StartDates'startdate可以,…“EndDates”,EndDates,“复利”,1)
RateSpec =同场的结构:FinObj: 'RateSpec' 配混:1张光盘:[4×2双]价格:[4×2双] EndTimes:[4X1双] StartTimes:[4X1双] EndDates:[4X1双] StartDates:736421 ValuationDate:736421基础:0 EndMonthRule:1
给3只债券同样的价格到期
和不同的优惠券。
定居=01日〜4月-2016';成熟度=01日〜4月-2020';价格= bondbyzero(RateSpec,[0.025; 0.028; 0.035],沉降,成熟度)
价格=3×292.0766 92.4888 93.1680 93.5823 95.7145 96.1338
AdjustCashFlowsBasis
要调整现金根据应计量流,使用可选的输入参数AdjustCashFlowsBasis
当调用bondbyzero
。
使用下面的数据来定义利率期限结构和创建RateSpec
。
率= 0.065;ValuationDate =“1 - 1月- 2011”;startdate可以= ValuationDate;EndDates =“1月,2017年”;复合= 1;RateSpec = intenvset('ValuationDate',ValuationDate,'StartDates'startdate可以,…“EndDates”,EndDates,“利率”,价格,“复利”、复合);CouponRate = 0.07;定居=“1 - 1月- 2011”;成熟度=“1月,2017年”;周期= 1;面= {{“1月,2015年”100;'1月-2016'90;“1月,2017年”80}};
使用cfamounts
并通过循环基础
的0
来13
使用可选的参数AdjustCashFlowsBasis
确定定于结算利息的现金流金额。
AdjustCashFlowsBasis = TRUE;CFlowAmounts = cfamounts(CouponRate,沉降,成熟度,“时间”期,'基础',0:13,“AdjustCashFlowsBasis”,AdjustCashFlowsBasis)
CFlowAmounts =14×70 7.0000 7.0000 7.0000 7.0000 7.0000 107.0000 0 7.0000 7.0000 7.0000 7.0000 7.0000 107.0000 0 7.0972 7.1167 7.0972 7.0972 7.0972 107.1167 0 7.0000 7.0192 7.0000 7.0000 7.0000 107.0192 0 7.0000 7.0000 7.0000 7.0000 7.0000 107.0000 0 7.0000 7.0000 7.0000 7.0000 7.0000 107.0000 0 7.0000 7.0000 7.0000 7.0000 7.0000 107.0000 07.0000 7.0000 7.0000 7.0000 7.0000 107.0000 7.0000 0 7.0000 7.0000 7.0000 7.0000 107.0000 7.0972 0 7.1167 7.0972 7.0972 7.0972 107.1167⋮
请注意,现金流量金额已经根据进行了调整基础
。
使用所述输入参数价A香草键AdjustCashFlowsBasis
。
PriceVanilla = bondbyzero(RateSpec,CouponRate,沉降,成熟度,“时间”期,'基础',0:13,“AdjustCashFlowsBasis”,AdjustCashFlowsBasis)
PriceVanilla =14×1102.4205 102.4205 102.9216 102.4506 102.4205 102.4205 102.4205 102.4205 102.4205 102.9216⋮
RateSpec
-利率结构息结构,指定使用intenvset
创建RateSpec
年化零利率期限结构。
数据类型:结构
优惠券比例
-债券票面利率债券票面利率,指定为NINST
-通过-1
小数年率或NINST
-通过-1
单元阵列,其中每个元素是一个NumDates
-通过-2
单元阵列。的第一列NumDates
-通过-2
单元阵列是日期,第二栏是相关的速率。日期表示最后一天,票面利率是有效的。
数据类型:双
|细胞
解决
-结算日到期
-到期日到期日,指定为aNINST
-通过-1
表示每个债券到期日序列日期数字或日期字符向量的向量。
数据类型:烧焦
|双
指定可选的用逗号分隔的对名称,值
参数。名称
是参数的名称和价值
是对应的值。名称
必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N
。
价格= bondbyzero (RateSpec CouponRate、结算、成熟,“时期”,4,“脸”,10000年)
“时间”
-每年的优惠券2
每年(默认)|向量年票,指定为逗号分隔的对组成“时间”
和一个NINST
-通过-1
向量。值期
是1
,2
,3
,4
,6
,12
。
数据类型:双
'基础'
-日计数基准0
(实际/实际)(默认)|从整0
来13
仪器的天数的基础上,指定为逗号分隔的一对组成的'基础'
和一个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 =实际/实际(ICMA)
9 =实际/ 360(ICMA)
10 =实际/ 365(ICMA)
11 = 30/360E (ICMA)
12 =实际/365 (ISDA)
13 =总线/ 252
欲了解更多信息,请参阅基础。
数据类型:双
'EndMonthRule'
-结束一个月的发生日期时,规则标志到期
月底的日期是30天还是更少天1
(有效)(默认)|非负整数[0,1]
结束一个月的发生日期时,规则标志到期
由具有30个或更少天结束每月日期了一个月,指定为逗号分隔的一对组成的'EndMonthRule'
和一个非负整数[0
,1
] 用一个NINST
-通过-1
向量。
0
=忽略的规则,这意味着支付日期始终是该月的数字相同的日子。
1
=上设置的规则,这意味着支付日期始终是当月的最后一天实际。
数据类型:合乎逻辑
“IssueDate”
-债券发行日期债券发行日期,指定为逗号分隔的对组成“IssueDate”
和一个NINST
-通过-1
向量使用串行非负日期数字或日期字符向量。
数据类型:双
|烧焦
'FirstCouponDate'
-不定期首次优惠日期不规则的首次优惠券日期,指定为逗号分隔的对组成'FirstCouponDate'
和一个NINST
-通过-1
向量使用串行非负日期数字或日期字符向量。
数据类型:双
|烧焦
'LastCouponDate'
-不规则最后付息日不规则最后优惠券的日期,指定为逗号分隔的一对组成的'LastCouponDate'
和一个NINST
-通过-1
向量使用串行非负日期数字或日期字符向量。
数据类型:双
|烧焦
'开始日期'
-支付的正向起始日期解决
日期(默认)|序列日期数|日期特征向量'面对'
-面值One hundred.
(默认)|非负值的标量|非负值的单元格数组面值,指定为逗号分隔的一对组成的'面对'
和一个NINST
-通过-1
非负面值或标量NINST
-通过-1
单元阵列,其中每个元素是一个NumDates
-通过-2
单元阵列。的第一列NumDates
-通过-2
单元格数组是日期,第二列是相关的面值。日期表示面值有效的最后一天。
数据类型:细胞
|双
“选项”
-衍生品定价选项定价选项衍生物,指定为逗号分隔的一对组成的“选项”
和一个被创造出来的结构derivset
。
数据类型:结构
“AdjustCashFlowsBasis”
-标志以调整现金流根据实际周期天数假
(默认)|的价值0
(假)或1
(真正)标记根据实际期间日计数调整现金流,指定由逗号分隔的对组成“AdjustCashFlowsBasis”
和一个NINST
-通过-1
值为的逻辑向量0
(假)或1
(真正)。
数据类型:合乎逻辑
'BusinessDayConvention'
-营业日惯例实际
(默认)|特征向量|字符向量的单元阵列工作日公约,指定为逗号分隔的一对组成的'BusinessDayConvention'
和字符向量或ñ
-通过-1
(要么NINST
-通过-2
如果BusinessDayConvention
每个分支是不同的)业务日约定字符向量的单元数组。选择营业日约定将决定如何处理非营业日。非营业日是指周末加上任何其他非营业日(例如法定假日)。值:
实际
-非工作时间实际上被忽略。在非营业日下降的现金流量被认为是在实际日期分配的。
跟随
- 现金流量在非营业日那年秋天被假定为对下一个工作日发布。
modifiedfollow
- 现金流量在非营业日那年秋天被假定为对下一个工作日发布。但是,如果下一个工作日是不同的一个月,前一营业日改为采用。
以前
-假设在非营业日的现金流量是在上一个营业日分配的。
modifiedprevious
-假设在非营业日的现金流量是在上一个营业日分配的。但是,如果一个营业日是在不同的月份,下一个工作日改为采用。
数据类型:烧焦
|细胞
“假日”
-用于计算业务的假期holidays.m
(默认)|MATLAB®日期数字在计算工作日内使用节假日,指定为逗号分隔的一对组成的“假日”
并使用MATLAB日期数字NHolidays
-通过-1
向量。
数据类型:双
价格
- 固定利率债券的价格浮动利率债券的价格,返回为(NINST
)由(曲线的数NUMCURVES
)基体。每一列产生于零条曲线中的一个。
DirtyPrice
- 肮脏的债券价格肮脏的债券价格(清洁+应计利息),返回为NINST
- 逐NUMCURVES
矩阵。每一列产生于零条曲线中的一个。
CFlowAmounts
-现金流量现金流量金额,返回为NINST
- 逐NUMCFS
的现金矩阵对于每个键流动。
CFlowDates
-现金流量日期现金流日期,返回为NINST
- 逐NUMCFS
矩阵每张债券的付款日期。
“香草息票债券”是一种证券,代表在指定时间内偿还借款并定期支付利息的义务。
债券的发行人,使定期支付的利息,直到债券到期。在到期日,发行人支付给债券所欠的本金金额(面值)和最后支付利息的持有人。
甲升压和降压键是债务证券与预定优惠券结构随着时间的推移。
用这些仪器中,优惠券增加粘结的寿命期间在特定的时间(步骤向上)或减少(步骤向下)。
摊销债券被视为一种资产,贴息金额摊销利息费用超过债券的生活。
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。