Excel 计算首期付息日不固定的有价证券的收益率;ODDFYIELD函数

如果需要计算首期付息日不固定的有价证券的收益率,可通过“ODDFYIELD”函数实现。ODDFYIELD函数的语法为:=ODDFYIELD (settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, basis)。

对于指定条件下的债券,计算首期付息日不固定的有价证券的收益率,具体操作如下。

01 在“B1:B9”单元格区域中依次输入证券的成交日、到期日、发行日、首期付息日、付息利率、价格、清偿价值、年付息次数以及日计数基准类型。

02 在单元格中输入公式:=ODDFYIELD(B1,B2,B3,B4, B5,B6,B7,B8,B9),然后按下“Enter”键确认即可。

alt

Excel 计算连续期间内现金流的修正内部收益率:MIRR函数

如果需要计算某一连续期间内现金流的修正内部收益率,可通过“MIRR”函数实现。MIRR函数的语法为:=MIRR (values, finance_rate, reinvest_rate),其中各参数的含义介绍如下。

※ values:一个数组或对包含数字的单元格的引用,代表着各期的一系列支出(负值)及收入(正值)。

※ finance:现金流中使用的资金支付的利率。

※ rate:年利率。

※ reinvest_rate:将现金流再投资的收益率。

下面给定资产原值和三年的收益额,计算三年后现金流的修正收益率。

01 在“B1:B4”单元格区域中分别输入资产原值,以及第一年到第三年的收益,在“B5”单元格中输入年利率,在“B6”单元格中输入再投资的收益率。

02 在单元格中输入公式:=MIRR(B1:B4,B5,B6),然后按下“Enter”键确认即可。

alt

Excel 计算一组现金流的内部收益率:IRR函数

如果需要计算由数值代表的一组现金流的内部收益率,可通过“IRR”函数实现。IRR函数的语法为:=IRR (values, guess),各参数的含义介绍如下。

※ values:为数组或单元格的引用,包含用来计算返回的内部收益率的数字。

※ guess:为对函数IRR计算结果的估计值。

下面分别举例计算投资n年后不包含估计值和包含估计值的内部收益率。

计算投资四年后的内部收益率

01 在“B1:B5”单元格区域中分别输入初期成本和第一年到第四年的净收入。

02 在单元格中输入公式:=IRR(B1:B5),按下“Enter”键确认即可。

alt

计算两年后的内部收益率(需包含估计值)

01 在“B1:B3”单元格区域中分别输入初期成本和第一年到第二年的净收入,在“B4”单元格中输入一个估计值。

02 在需要显示结果的单元格中输入公式:=IRR(B1:B3,B4),按下“Enter”键确认即可。

alt

Excel 计算现金流内部收益率:XIRR函数详解

XIRR函数用于计算一组现金流的内部收益率,这些现金流不一定定期发生。如果要计算一组定期现金流的内部收益率,则需要使用函数IRR。XIRR函数的语法如下:


XIRR(values,dates,guess)

其中,values参数为与dates中的支付时间相对应的一系列现金流。首期支付是可选的,并与投资开始时的成本或支付有关。如果第1个值是成本或支付,则它必须是负值。所有后续支付都基于365天/年贴现。系列中必须包含至少一个正值和一个负值。dates参数为与现金流支付相对应的支付日期表。第1个支付日期代表支付表的开始,其他日期应迟于该日期,但可按任何顺序排列。应使用DATE函数输入日期,或者将函数作为其他公式或函数的结果输入。例如,使用函数DATE(2008,5,23)输入2008年5月23日。如果日期以文本形式输入,则会出现问题。guess参数为对函数XIRR计算结果的估计值。下面通过实例详细讲解该函数的使用方法与技巧。

打开“XIRR函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-59所示。该工作表记录了现金流的值与支付时间,要求根据给定的数据计算其内部收益率。具体的计算步骤如下。

选中A8单元格,在编辑栏中输入公式“=XIRR(A2:A6,B2:B6,0.1)”,然后按“Enter”键返回,即可计算出现金流的内部收益率,如图19-60所示。

图19-59 原始数据

图19-60 计算现金流内部收益率

函数XIRR要求至少有一个正现金流和一个负现金流,否则函数XIRR返回错误值“#NUM!”。如果dates参数中的任一数值不是合法日期,函数XIRR返回错误值“#VALUE”。如果dates参数中的任一数字先于开始日期,函数XIRR返回错误值“#NUM!”。如果values参数和dates参数所含数值的数目不同,函数XIRR返回错误值“#NUM!”。多数情况下,不必为函数XIRR的计算提供guess参数值,如果省略,guess参数值假定为0.1(10%)。函数XIRR与净现值函数XNPV密切相关。函数XIRR计算的收益率即为函数XNPV=0时的利率。Excel使用迭代法计算函数XIRR。通过改变收益率(从guess开始),不断修正计算结果,直至其精度小于0.000001%。如果函数XIRR运算100次,仍未找到结果,则返回错误值“#NUM!”。

Excel 计算到期付息年收益:YIELDMAT函数详解

YIELDMAT函数用于计算到期付息的有价证券的年收益率。YIELDMAT函数的语法如下:


YIELDMAT(settlement,maturity,issue,rate,pr,basis)

其中,settlement参数为证券的结算日,结算日是在发行日之后,证券卖给购买者的日期。maturity参数为有价证券的到期日,到期日是有价证券有效期截止时的日期。issue参数为有价证券的发行日,以时间序列号表示。rate参数为有价证券在发行日的利率。pr参数为面值¥100的有价证券的价格。basis参数为日计数基准类型。下面通过实例详细讲解该函数的使用方法与技巧。

已知某债券的结算日、到期日、发行日、息票半年利率、价格等信息,要求计算在这些条件下债券的收益率。打开“YIELDMAT函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-57所示。具体的计算步骤如下。

选中A9单元格,在编辑栏中输入公式“=YIELDMAT(A2,A3,A4,A5,A6,A7)”,然后按“Enter”键返回,即可计算出债券的收益率,如图19-58所示。

图19-57 原始数据

图19-58 收益率计算结果

如果settlement参数、maturity参数或issue参数不是合法日期,函数YIELDMAT返回错误值“#VALUE!”。如果参数rate<0或参数pr≤0,函数YIELDMAT返回错误值“#NUM!”。如果参数basis<0或参数basis>4,函数YIELDMAT返回错误值“#NUM!”。如果参数settlement≥maturity参数,函数YIELDMAT返回错误值#NUM!。

Excel 计算已贴现债券年收益:YIELDDISC函数

YIELDDISC函数用于计算折价发行的有价证券的年收益率。YIELDDISC函数的语法如下:


YIELDDISC(settlement,maturity,pr,redemption,basis)

其中,settlement参数为证券的结算日,结算日是在发行日之后,证券卖给购买者的日期。maturity参数为有价证券的到期日,到期日是有价证券有效期截止时的日期。pr参数为面值¥100的有价证券的价格。redemption参数为面值¥100的有价证券的清偿价值。basis参数为日计数基准类型。下面通过实例详细讲解该函数的使用方法与技巧。

已知某债券的结算日、到期日、价格、清偿价值等信息,要求计算在这些条件下债券的收益率。打开“YIELDDISC函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-55所示。具体的计算步骤如下。

选中A8单元格,在编辑栏中输入公式“=YIELDDISC(A2,A3,A4,A5,A6)”,然后按“Enter”键返回,即可计算出债券的收益率,如图19-56所示。

图19-55 原始数据

债券收益率计算结果

图19-56 债券收益率计算结果

如果settlement参数或maturity参数不是有效日期,函数YIELDDISC返回错误值“#VALUE!”。如果参数pr≤0或参数redemption≤0,函数YIELDDISC返回错误值“#NUM!”。如果参数basis<0或参数basis>4,函数YIELDDISC返回错误值“#NUM!”。如果参数settlement≥maturity参数,函数YIELDDISC返回错误值“#NUM!”。

Excel 计算定期支付利息的债券收益:

YIELD函数用于计算定期支付利息的债券的收益率。YIELD函数的语法如下:


YIELD(settlement,maturity,rate,pr,redemption,frequency,basis)

其中,settlement参数为证券的结算日,结算日是在发行日之后,证券卖给购买者的日期。maturity参数为有价证券的到期日,到期日是有价证券有效期截止时的日期。rate参数为有价证券的年息票利率。pr参数为面值¥100的有价证券的价格。redemption参数为面值¥100的有价证券的清偿价值。frequency参数为年付息次数,如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis参数为日计数基准类型。下面通过实例详细讲解该函数的使用方法与技巧。

已知某债券的结算日、到期日、息票利率、价格、清偿价值、支付方式等信息,要求计算在这些条件下债券的收益率。打开“YIELD函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-53所示。具体的计算步骤如下。

选中A10单元格,在编辑栏中输入公式“=YIELD(A2,A3,A4,A5,A6,A7,A8)”,然后按“Enter”键返回,即可计算出债券的收益率,如图19-54所示。

图19-53 原始数据

图19-54 计算债券的收益率

如果settlement参数或maturity参数不是合法日期,函数YIELD返回错误值“#VALUE!”。如果参数rate<0,函数YIELD返回错误值“#NUM!”。如果参数pr≤0或参数redemption≤0,函数YIELD返回错误值“#NUM!”。如果frequency参数不为1、2或4,函数YIELD返回错误值“#NUM!”。如果参数basis<0或参数basis>4,函数YIELD返回错误值“#NUM!”。如果参数settlement≥maturity参数,函数YIELD返回错误值“#NUM!”。

如果在清偿日之前只有一个或是没有付息期间,函数YIELD的计算公式为:

式中:

A=付息期的第1天到结算日之间的天数(应计天数)。

DSR=结算日与清偿日之间的天数。

E=付息期所包含的天数。

如果在redemption参数之前尚有多个付息期间,则通过100次迭代来计算函数YIELD。基于函数PRICE中给出的公式,并使用牛顿迭代法不断修正计算结果,直到在给定的收益率下的计算价格逼近于实际价格。

Excel 计算国库券收益率:TBILLYIELD函数

TBILLYIELD函数用于计算国库券的收益率。TBILLYIELD函数的语法如下:


TBILLYIELD(settlement,maturity,pr)

其中,settlement参数为国库券的结算日,即在发行日之后,国库券卖给购买者的日期。maturity参数为国库券的到期日,到期日是国库券有效期截止时的日期。pr参数为面值¥100的国库券的价格。下面通过实例详细讲解该函数的使用方法与技巧。

已知国库券的结算日、到期日、每¥100面值的价格,要求计算在这些条件下国库券的等效收益率。打开“TBILLYIELD函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-51所示。具体的计算步骤如下。

选中A6单元格,在编辑栏中输入公式“=TBILLYIELD(A2,A3,A4)”,然后按“Enter”键返回,即可计算出国库券的等效收益率,如图19-52所示。

图19-51 原始数据

图19-52 计算国库券收益率

如果settlement参数或maturity参数不是合法日期,函数TBILLYIELD返回错误值“#VALUE”。如果参数pr≤0,则函数TBILLYIELD返回错误值“#NUM!”。如果参数settlement≥maturity参数或maturity在settlement一年之后,函数TBILLYIELD返回错误值“#NUM!”。函数TBILLYIELD的计算公式如下:

式中:

DSM=结算日与到期日之间的天数。如果结算日与到期日相隔超过一年,则无效。

Excel 计算末一期为奇数的债券收益:ODDLYIELD函数

ODDLYIELD函数用于计算末期付息日不固定的有价证券(长期或短期)的收益率。ODDLYIELD函数的语法如下:


ODDLYIELD(settlement,maturity,last_interest,rate,pr,redemption,frequency,basis)

其中,settlement参数为证券的结算日,结算日是在发行日之后,证券卖给购买者的日期。maturity参数为有价证券的到期日,到期日是有价证券有效期截止时的日期。last_interest参数为有价证券的末期付息日。rate参数为有价证券的利率。pr参数为有价证券的价格。redemption参数为面值¥100的有价证券的清偿价值。frequency参数为年付息次数,如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis参数为日计数基准类型。下面通过实例详细讲解该函数的使用方法与技巧。

已知某债券的结算日、到期日、末期付息日、息票利率、价格、清偿价值等信息,要求计算对于上述条件下的债券,末期付息日不固定的有价证券的收益率。打开“ODDLYIELD函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-47所示。具体的计算步骤如下。

选中A11单元格,在编辑栏中输入公式“=ODDLYIELD(A2,A3,A4,A5,A6,A7,A8,A9)”,然后按“Enter”键返回,即可计算出末期付息日不固定的有价证券的收益率,如图19-48所示。

图19-47 原始数据

图19-48 计算末期付息日不固定的收益率

如果settlement参数、maturity参数或last_interest参数不是合法日期,函数ODDLYIELD返回错误值“#VALUE!”。如果参数rate<0或参数pr≤0,函数ODDLYIELD返回错误值“#NUM!”。如果参数basis<0或参数basis>4,函数ODDLYIELD返回错误值“#NUM!”。必须满足下列日期条件,否则,函数ODDLYIELD返回错误值“#NUM!”:


maturity>settlement>last_interest

Excel 计算第一期为奇数的债券收益:ODDFYIELD函数

ODDFYIELD函数用于计算首期付息日不固定的有价证券(长期或短期)的收益率。ODDFYIELD函数的语法如下:


ODDFYIELD(settlement,maturity,issue,fi rst_coupon,rate,pr,redemption,frequency,basis)

其中,settlement参数为有价证券的结算日,结算日是有价证券结算日是在发行日之后,有价证券卖给购买者的日期。maturity参数为有价证券的到期日,到期日是有价证券有效期截止时的日期。issue参数为有价证券的发行日。first_coupon参数为有价证券的首期付息日。rate参数为有价证券的利率。pr参数为有价证券的价格。redemption参数指的是面值¥100的有价证券的清偿价值。frequency参数为年付息次数,如果按年支付,frequency=1;按半年期支付,frequency=2;按季支付,frequency=4。basis参数为要使用的日计数基准类型。下面通过实例详细讲解该函数的使用方法与技巧。

已知某债券的结算日、到期日、发行日、首期付息日、息票利率、价格、清偿价值等信息,要求计算在这些条件下的债券首期付息日不固定的有价证券的收益率。打开“ODDFYIELD函数.xlsx”工作簿,切换至“Sheet1”工作表,本例的原始数据如图19-45所示。具体的计算步骤如下。

选中A12单元格,在编辑栏中输入公式“=ODDFYIELD(A2,A3,A4,A5,A6,A7,A8,A9,A10)”,然后按“Enter”键返回,即可计算出首期付息日不固定的有价证券的收益率,如图19-46所示。

图19-45 原始数据

图19-46 计算收益率

如果settlement参数、maturity参数、issue参数或first_coupon参数不是合法日期,函数ODDFYIELD返回错误值“#VALUE!”。如果参数rate<0或参数pr≤0,函数ODDFYIELD返回错误值“#NUM!”。如果参数basis<0或参数basis>4,函数ODDFYIELD返回错误值“#NUM!”。必须满足下列日期条件,否则,函数ODDFYIELD返回错误值“#NUM!”。


maturity>fi rst_coupon>settlement>issue

Excel使用迭代法计算函数ODDFYIELD。该函数基于ODDFPRICE中的公式进行牛顿迭代演算。在100次迭代过程中,收益率不断变化,直到按给定收益率导出的估计价格接近实际价格。