Excel财务函数.docx
第 10 章财务函数财务运算是 Excel 的一个重要应用方向,这在 Excel 函数中也有体现。Excel 中的财务 函数包含数量众多的函数。根据实际应用,财务函数主要包括有价证券函数、投资函数、 本金和利息函数、折旧函数和转换函数等。在本章中,将对每类函数进行详细讲解,并给 出具体的例子进行分析。10.1有价证券函数在 Excel 的财务函数中,有价证券函数的功能是计算证券的收益。这类函数有许多相 似之处,例如,函数的主要参数包括利息率、收益率、价格、成交日、发行日和证券价值 等。同时,有价证券函数还有相同的日计数标准,该计数标准主要用来计算证券的收益期 限,用参数 basis 来表示。为了方便本小节的讲解,首先列出这些共同的参数含义。以 ACCRINT 函数为例,该函数的主要功能是计算定期付息有价证券的应计利息。其 对应的函数表达式为:ACCRINT(issue,first_interest,settlement,rate,par,frequency,basis)下面详细讲解其参数的含义:参数 issue 表示证券的发行日; 参数 first_interest 表示证券的起息日;参数 settlement 表示证券的成交日(在发行日之后,投资者购买证券的日期);参数 rate 表示证券的年息票利率;参数 par 表示证券的票面价值;参数 frequency 表示年付息次数;参数 basis 表示日计数基准类型。在 Excel 中,所有有价证券函数中,其参数的含义和上面的参数类似,在具体讲解函 数的时候,就不再重复表述。10.1.1ACCRINT 函数:计算应付利息【功能说明】有价证券的计息方式有定期分期计息和一次性计息两种,该函数计算采 用定期分期付息方式时的应计利息。【语法表达式】ACCRINT(issue,first_interest,settlement,rate,par,frequency,basis,calc_method)【使用说明】该函数中的所有日期都是用 DATE 函数输入的有效日期。Microsoft Excel 是以可 计算的序列号的形式存储日期的。1900 年 1 月 1 日的序列号为 1,那么 2008 年 1月 1 日的序列号是 39448,因为它距 1900 年 1 月 1 日有 39448 天。settlement 表示结算日的日期。使用函数时,其值必须晚于发行日的日期,否则返 回错误值#NUM!。frequency 表示付息次数。使用函数时,其值必须是 1、2 或 4 中的一个,其他值 都会产生错误#NUM!。日计数基准类型的值必须是 0、1、2、3 或 4 中的一个。如果省略该参数,则默 认其值为 0。【实际应用】某投资机构在 2009 年 8 月 15 日购买了价值 30000 元的债券,债券的发行日是 2009年 6 月 5 日,起息日是 2009 年 9 月 15 日,息票利率为 7.8%,按季支付期付息。债券以 US(NASD)30/360 为日计数基准,基础数据表格如图 10.1 所示。在单元格 B9 中输入函数表达式“=ACCRINT(B1,B2,B3,B4,B5,B6,B7)”,计算债券的 到期收益,得到的结果如图 10.2 所示。图 10.1 债券的基础信息图 10.2 计算债券的到期利息【应用说明】ACCRINT 函数可以计算每年、半年或每季度的应计利息。10.1.2ACCRINTM 函数:计算应计利息【功能说明】有价证券的计息方式有定期计息和一次性计息两种。该函数计算采用一 次性付息方式时应计的利息。【语法表达式】ACCRINTM(issue,settlement,rate,par,basis)【使用说明】结算日的日期必须晚于发行日的日期,否则函数将返回错误值#NUM!。参数 basis 的值必须是 0、1、2、3 或 4 中的一个,如果省略该参数,那么默认其 值是 0。【实际应用】某投资结构购买了票面价值为 12000 元的债券,债券的发行日期是 2009 年 6 月 5 日,到期日是 2010 年 3 月 15 日,息票利率是 8.47%,债券以“实际天数/365”作为日计数基准,基础信息表格如图 10.3 所示。在单元格 B9 中输入函数“=ACCRINTM(B1,B2,B3,B4,B5)”,计算债券的应计利息。 得到的结果如图 10.4 所示。图 10.3 基础债券信息图 10.4 计算应计利息【应用说明】ACCRINTM 可以计算任意有价证券的利息。10.1.3 COUPDAYBS、COUPDAYS 和 COUPDAYSNC 函数:计算 债券的天数信息【功能说明】COUPDAYBS 函数的功能是计算有价证券当前付息期内截止到成交日的 天数。 COUPDAYS 函 数的功能 是计算证 券成交日 所在的那 一付息期 的天数 。 COUPDAYSNC 函数的功能是计算有价证券从购买日到下一付息日之间的天数。【语法表达式】 COUPDAYBS(settlement,maturity,frequency,basis) COUPDAYS(settlement,maturity,frequency,basis) COUPDAYSNC(settlement,maturity,frequency,basis)【使用说明】到期日的日期值要晚于结算日的日期,否则函数将返回错误值#NUM!。参数 frequency 的值必须是 1、2 或 4 中的一个。使用其他任何值均会产生错误#NUM!。参数 basis 的值必须是 0、1、2、3 或 4 中的一个。如果省略该参数,那么默认其 值为 0。【实际应用】某投资结构在 2009 年 6 月 5 日购买了某债券,债券的到期日是 2009 年 10 月 15 日, 按半年付息,以 US(NASD)30/360 为日计数基准。根据上面的信息,投资结构可以计算 债券的各种天数信息,如图 10.5 所示。图 10.5 关于债券的基础信息天数信息的计算具体步骤如下:(1)在单元格 B6 中输入函数表达式“=COUPDAYBS(B1,B2,B3,B4)”,计算债券在 付息期内到成交日的天数,如图 10.6 所示。(2)在单元格 B7 中输入函数表达式“=COUPDAYS(B1,B2,B3,B4)”,计算债券在成 交日所在的付息期天数,如图 10.7 所示。图 10.6 计算付息期内到成交日的天数 图 10.7 计算成交日所在的付息期天数(3)在单元格 B8 中输入函数表达式“=COUPDAYSNC(B1,B2,B3,B4)”,计算债券 成交日到下一付息日的天数;得到的结果如图 10.8 所示。图 10.8 计算债券的天数信息【应用说明】COUPDAYS 函数计算的是包括成交日在内的付息期的天数,它是根据 参数 maturity 的日期来计算的,计算区间是到期日的前 1 天倒推每一个付息期。10.1.4COUPNCD 和 COUPPCD 函数:计算下个和上个付息日的 日期【功能说明】COUPNCD 函数的功能是计算有价证券购买日之后的下一个付息的日 期,返回一个日期形式的数值。COUPPCD 函数的功能是计算证券在购买日之前最近的付 息日的日期,和 COUPNCD 函数是相对应的函数。【语法表达式】 COUPNCD(settlement,maturity,frequency,basis) COUPPCD(settlement,maturity,frequency,basis)【使用说明】到期日的日期值要晚于成交日的日期,否则函数将返回错误值#NUM!。参数 frequency 的值可以是 1、2 或 4 中的任意值。如果使用其他任何数值均会产 生错误#NUM!。参数 basis 的值可以是 0、1、2、3 或 4 中的一个值。如果省略该参数,那么默认 其值为 0。设置要存放计算结果的单元格的格式,将其内容格式设置为日期,否则返回的是 日期的序列号。【实际应用】某投资机构在 2009 年 6 月 15 日购买了某债券,债券的到期日为 2012 年 8 月 5 日, 按半年付息,以“实际天数/实际天数”作为日计数基准。根据债券的信息,投资机构需要 计算债券的上一个和下一个付息日,如图 10.9 所示。图 10.9 关于债券的基础信息其计算的具体步骤如下:(1)计算下一个付息日。在单元格 B6 中输入函数“=COUPNCD(B1,B2,B3,B4)”, 计算债券的下一个付息日,如图 10.10 所示。(1)计算上一个付息日。在单元格 B7 中输入函数“=COUPPCD(B1,B2,B3,B4)”, 计算债券的上一个付息日,如图 10.11 所示。图 10.10 计算下一个付息日图 10.11 计算上一个付息日【应用说明】使用 COUPNCD 函数计算下一付息日的功能,用户可以方便了解下一付 息日的日期。10.1.5COUPNUM 函数:计算利息应付次数【功能说明】计算有价证券从购买日至到期日之间的总的付息次数。如果返回的结果 不是整数,那么需要向上舍入为最接近的整数。【语法表达式】COUPNUM(settlement,maturity,frequency,basis)【使用说明】到期日的日期值要晚于成交日的日期,否则函数将返回错误值#NUM!。参数 frequency 的值可以是 1、2 或 4 中的任意一个值。如果使用其他值,函数均 会返回错误值#NUM!。参数 basis 的值可以是 0、1、2、3 或 4 中的任意一个值。如果省略该参数,那么默认其值为 0。【实际应用】某投资机构在 2009 年 6 月 15 日购买了某债券,债券的到期日为 2012 年 8 月 5 日,按半年付息,债券以“实际天数/实际天数”作为日计数基准,信息如图 10.12 所示。 在单元格 B6 中输入函数表达式“=COUPNUM(B1,B2,B3,B4),计算债券在成交日和到期日之间的付息次数,如图 10.13 所示。图 10.12 债券的基础信息图 10.13 计算付息次数【应用说明】COUPNUM 函数根据付息方式,计算出某一证券的总的付息次数。10.1.6DISC 函数:计算有价证券的贴现率【功能说明】计算有价证券的贴现率。【语法表达式】DISC(settlement,maturity,pr,redemption,basis)【参数说明】Pr:票面价值为¥100 的有价证券的价格。使用函数时,其值必须大于 0。Redemption:票面价值为¥100 的有价证券的清偿价值,其值必须大于 0。【使用说明】该函数中的所有日期都是用 DATE 函数输入的有效合法日期。Microsoft Excel 是 以可计算的序列号的形式存储日期的,1900 年 1 月 1 日的序列号为 1,那么 2008年 1 月 1 日的序列号是 39448,因为它距 1900 年 1 月 1 日有 39448 天。到期日的日期值要晚于成交日的日期值,否则函数将返回错误值#NUM!。日计数基准类型 basis 的值可以是 0、1、2、3 或 4 中的任意一个。如果省略该参 数,那么默认其值为 0。【实际应用】某投资人在 2009 年 6 月 5 日购买了价格为 96.45 的 100 元面值债券,债券的到期日期为 2010 年 11 月 15 日,清偿价值为 100 元以“实际天数/365”为日计数基准,基础数据表格如图 10.14 所示。在单元格 B7 中输入函数“=DISC(B1,B2,B3,B4,B5)”,计算债券的贴现率,如图 10.15所示。图 10.14 债券的基础信息图 10.15 计算债券的贴现率【应用说明】当用户的债券没有到期,而去兑换现金。因为没有到期,所以用户需要 贴付给银行一定的利息才能取出现金,这种利息的比率就是贴现率。10.1.7DURATION 函数:计算有价证券的久期【功能说明】计算票面价值为¥100 的定期付息的有价证券的修正期限。【语法表达式】DURATION(settlement,maturity,coupon,yld,frequency,basis)【参数说明】Coupon:一个数值,代表有价证券的年息票利率。使用函数时,其值必须大于 0。Yld:一个数值,代表有价证券的年收益率,也就是反映收益情况好坏的。使用 函数时,其值必须大于 0。【使用说明】该函数中的所有日期都是用 DATE 函数输入的有效合法日期。Microsoft Excel 是 以可计算的序列号的形式存储日期的,1900 年 1 月 1 日的序列号为 1,那么 2008年 1 月 1 日的序列号是 39448,因为它距 1900 年 1 月 1 日有 39448 天。到期日的日期值要晚于成交日的日期,否则函数将返回错误值#NUM!。参数 frequency 的值可以是 1、2 或 4 中的任意一个。使用其他值函数均会返回错 误#NUM!。参数 basis 的值可以是 0、1、2、3 或 4 中的任意一个。如果省略该参数,那么默 认其值为 0。【实际应用】某投资机构在 2009 年 8 月 5 日购买了息票利率为 6.85%的债券,债券的到期日期为2012 年 11 月 15 日,按半年期支付利息。债券的收益率为 8.45%,以“US(NASD)30/360”为日计数基准,基础数据表格如图 10.16 所示。在单元格 B8 中输入表达式“=DURATION(B1,B2,B3,B4,B5,B6)”,计算该债券的久期, 结果如图 10.17 所示。图 10.16 基础数据信息图 10.17 计算债券的久期【应用说明】修正期限是指,证券在收益率变动的情况下的年持续时间。反映的是证 券价格对收益率的敏感程度。10.1.8INTRATE 函数:计算证券的利率【功能说明】计算一次性付息的有价证券的利率。【语法表达式】INTRATE(settlement,maturity,investement,redemption,basis)【参数说明】 investement:表示投资额。redemption:表示有价证券到期时的清偿价值。【使用说明】参数 settlement 和 maturity 是用 DATE 函数输入的日期值,或者是将函数作为其 他公式或函数的结果输入。Excel 将日期存储为可计算的序列数。Excel 默认 1900 年 1 月 1 日的序列号为 1。证券的结算日是购买者购买者购买证券的日期,而到期日则表示证券有效期截止 的日期。 参数 settlement、maturity 和 basis 的值必须是整数,否则将被截尾取整。参数 settlement 和 maturity 表示的日期必须是合法有效的日期,否则函数将返回 错误值#VALUE!。参数 investement 和 redemption 的值必须为大于 0 的数,否则函数将返回错误值#NUM!。参数 basis 必须是 0、1、2、3 和 4 中一个数值,否则函数将返回错误值#NUM!。证券的结算日不能大于证券的到期日的日期,否则函数将返回错误值#NUM!。【实际应用】某投资机构在 2009 年 7 月 5 日购买了价值为 150000 元的债券,债券在 2010 年 11 月15 日到期,且到期时将会获得 159500 元,以“实际天数/实际天数”为日计数基准,计算 该债券的利率。在单元格 B7 中输入函数表达式“=INTRATE(B1,B2,B3,B4,B5)”,得到该债券的利率,如图 10.18 所示。图 10.18 计算债券的利率【应用说明】INTRATE 函数主要用来计算一次性付息证券的利率。10.1.9MDURATION 函数:计算有价债券的修正久期【功能说明】计算面值 100 的有价证券的 Macauley 修正期限。【语法表达式】MDURATION(settlement,maturity,coupon,yld,frequency,basis)【参数说明】Coupon:一个数值,代表有价证券的年息票利率。使用函数时,其值必须大于 0。Yld:一个数值,代表有价证券的年收益率,也就是反映收益情况好坏的。使用 函数时,其值必须大于 0。【使用说明】到期日的日期值要晚于成交日的日期,否则函数将返回错误值#NUM!。参数 frequency 的值可以是 1、2 或 4 中的任意一个。使用其他值函数均会返回错 误#NUM!。参数 basis 的值可以是 0、1、2、3 或 4 中的任意一个。如果省略该参数,那么默 认其值为 0。【实际应用】某投资机构在 2009 年 8 月 5 日购买了息票利率为 6.85%的债券,债券的到期日期为2012 年 11 月 15 日,按半年期支付利息。债券的收益率为 8.45%,以“US(NASD)30/360”为日计数基准,基础数据表格如图 10.19 所示。在单元格 B8 中输入函数表达式“=MDURATION(B1,B2,B3,B4,B5,B6)”,计算该债券 的修正久期,如图 10.20 所示。图 10.19 基础数据表格图 10.20 计算债券的修正久期【应用说明】在实际应用中,修正久期的计算公式如下10.1.10 ODDFPRICE 和 ODDLPRICE 函数:计算有价证券的价格【功能说明】ODDFPRICE 函数的功能是计算首期付息日不固定的面值¥100 的有价 证券的价格;ODDLPRICE 函数的功能是计算末期付息日不固定,且面值是¥100 的有价 证券(长期或短期)的价格。【语法表达式】ODDFPRICE(settlement,maturity,issue,first_ coupon,rate,yld,redemption,frequency, basis)ODDLPRICE(settlement,maturity,last_ interest,rate,yld,redemption,frequency,basis)【参数说明】first_ coupon:表示有价证券的第一个付息日的日期。yld:一个大于 0 的数值,表示有价证券的年收益率。redemption:表示面值¥100 的有价证券的清偿价值。Last_ interest:表示有价证券的最后一期的付息日期。【使用说明】 参数 settlement、maturity 和 first_ coupon 是由 DATE 函数输入的有效日期。如果 日期以文本形式输入,那么函数将返回错误值。 参数 settlement、maturity 和 basis 的值必须为整数,否则将被截尾取整。参数 rate 的值必须大于等于 0,否则函数将返回错误值#NUM!。参数 basis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。参数 frequency 必须是 1、2 和 4 中的一个数值。 ODDFPRICE 函数中 的几个 日 期参数 需 满足的 条 件是: matrrity>first_ coupon>settlement>issue,否则函数将返回错误值。 ODDLPRICE 函数函数中日期参数需满足的条件是:matrrity>settlement>last_ interest,否则函数将返回错误值。【实际应用】某投资机构 2008 年 10 月 15 日购买了两种债券,债券的到期日是 2012 年 3 月 15 日,发行日是 2008 年 9 月 15 日。第一种债券的首期付息日为 2009 年 3 月 15 日,第二种债券的末期付息日为 2008 年 8 月 15 日。债券的票面利率为 7.35%,年收益率为 4.85%。期末债券售价 105 元,按季付息,以“US(NASD)30/360”为日计数基准。现在需要分析两种债券的价格,基础信息表格如图 10.21 所示。图 10.21基础数据表格根据上面的基础数据,具体的求解步骤如下:(1)在单元格 B11 中输入数表达式“=ODDFPRICE(B1,B2,B3,B4,B5,B6,B7,B8,B9)”,计算首期付息日不固定的面值 100 的有价证券价格,结果如图 10.22 所示。(2)在单元格 B12 中输入数表达式“=ODDLPRICE(E1,E2,E3,E4,E5,E6,E7,E8)”,计算末期付息日不固定的面值 10 的有价证券价格,结果如图 10.23 所示。图 10.22 求解首期付息不固定的债券价格图 10.23 求解末期付息不固定的债券价格【应用说明】ODDFPRICE 函数主要用来计算首期付息日不固定的有价证券的价格。ODDLPRICE 函数主要用来计算末期付息日不固定的有价证券的价格。10.1.11 ODDFYIELD 和 ODDLYIELD 函数:计算证券的收益率【功能说明】如果有价证券的第一期的付息日不固定,那么可以用 ODDFYIELD 函数 计算该证券的收益率。如果某证券的末期付息日不固定,不论证券是长期还是短期的,那 么都可以用 ODDLYIELD 函数计算该证券的收益率。【语法表达式】ODDFYIELD(settlement,maturity,issue,first_ coupon,rate,pr,redemption,frequency, basis)ODDLYIELD(settlement,maturity,last_ interest,rate,pr,redemption,frequency,basis)【参数说明】first_ coupon:表示有价证券首期付息日。也就是,买进证券后第一次付息的日期。 使用函数时,该参数是由 DATE 函数输入的有效日期。pr:一个大于 0 的数值,表示有价证券的价格。last_ interest:表示证券最后一期的付息日期。也就是,最后的一个付息日的日期。redemption:表示面值¥100 的有价证券的清偿价值。【使用说明】 参数 settlement、maturity 和 first_ coupon 是由 DATE 函数输入的有效日期。如果 日期以文本形式输入,那么函数将返回错误值。 参数 settlement、maturity 和 basis 的值必须为整数,否则将被截尾取整。参数 pr 和 rate 的值必须大于等于 0,否则函数将返回错误值#NUM!。参数 basis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。参数 frequency 必须是 1、2 和 4 中的一个数值。 Excel 使用迭代法计算函数 ODDFYIELD。该函数基于 ODDFPRICE 中的公式进行迭代运算。在 100 次迭代过程中,收益率不断变化,直到按给定的收益率计算 出的价格接近实际价格。【实际应用】某投资结构在 2008 年 10 月 15 日购买了两种债券,债券的到期日为 2012 年 3 月 15日,发行日为 2008 年 9 月 15 日,第一种债券的首期付息日为 2009 年 3 月 15 日,第二种债券的末期付息日为 2008 年 8 月 15 日。债券的票面利率为 7.35%,期末债券可以返回 105 元,且债券按季付息,债券以“US(NASD)30/360”为日计数基准。两种债券的价格都 是 112.04 元,求解两种债券的年收益率,基础信息表格如图 10.24 所示。图 10.24 基础信息表格根据上面的基础数据,具体的求解步骤如下:(1)在单元格 B11 中输入数表达式“=ODDFYIELD(B1,B2,B3,B4,B5,B6,B7,B8,B9)”,计算首期付息日不固定的面值 100 的有价证券收益率,结果如图 10.25 所示。(2)在单元格 E10 中输入数表达式“=ODDLYIELD(E1,E2,E3,E4,E5,E6,E7,E8)”,计算末期付息日不固定的面值 100 的有价证券收益率,结果如图 10.26 所示。图 10.25 求解首期付息日不固定债券的收益率图 10.26 求解末期付息日不固定债券的收益率【应用说明】ODDFYIELD 函数主要用来首期付息日不固定的有价证券的收益率。ODDLYIELD 函数主要用来计算末期付息日不固定的证券的收益率。10.1.12PRICE 函数:计算定期付息的有价证券价格【功能说明】计算定期付息的面值¥100 的有价证券的价格。定期付息,也就是,在 每个付息期内的一个固定的日期支付利息。【语法表达式】PRICE(settlement,maturity,rate,yld,redemption,frequency,basis)【参数说明】yld:一个大于 0 的数值,表示有价证券的年收益率。redemption:表示面值¥100 的有价证券的清偿价值。【使用说明】参数 settlement 和 maturity 是由 DATE 函数输入的有效日期。如果日期以文本形 式输入,那么函数将返回错误值。参数 frequency 和 basis 的值必须为整数,否则将被截尾取整。参数 rate 的值必须大于等于 0,否则函数将返回错误值#NUM!。参数 basis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。参数 frequency 必须是 1、2 和 4 中的一个数值。【实际应用】某投资机构在 2008 年 10 月 15 日购买了某面值为 100 的债券,债券的到期日为 2012年 3 月 15 日,债券的半年票面利率为 4.78%,年收益率为 4.35%,且按季付息,以“US(NASD)30/360”为日计数基准。投资者需要计算该债券的价格。在单元格 B9 中输入函数“=PRICE(B1,B2,B3,B4,B5,B6,B7)”,计算该债券的价格, 结果如图 10.27 所示。图 10.27 计算债券价格【应用说明】PRICE 可以计算定期付息的证券、基金和股票的价值。10.1.13PRICEDISC 函数:计算折价发行的有价证券价格【功能说明】计算折价发行的面值¥100 的有价证券的价格。折价,顾名思义,就是 发行价格是在原价的基础上扣去一定的折扣的价格。【语法表达式】PRICEDISC(settlement,maturity,discount,redemption,basis)【参数说明】discount:一个大于 0 的数值。表示证券的贴现率。也就是,我们平时称的折扣。redemption:表示面值¥100 的有价证券的清偿价值。【使用说明】参数 settlement 和 maturity 是由 DATE 函数输入的有效日期。如果日期以文本形 式输入,那么函数将返回错误值。参数 rate 的值必须大于等于 0,否则函数将返回错误值#NUM!。参数 basis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。参数 discount 和 redemption 的值必须大于 0,否则函数将返回错误值#NUM!。 参数 settlement 的日期要早于 maturity 的日期。【实际应用】某投资机构在 2008 年 10 月 15 日购买了某面值为 100 的债券,债券的到期日为 2012年 3 月 15 日,债券的贴现率为 4.35%,以“US(NASD)30/360”为日计数基准。投资者 需要计算该债券的价格。在单元格 B7 中输入函数表达式“=PRICEDISC(B1,B2,B3,B4,B5)”,计算该折价债券 的价格,结果如图 10.28 所示。图 10.28 计算折价债券的价格【应用说明】PRICEDISC 主要用来计算折价发行的有价证券的实际价值。10.1.14PRICEMAT 函数:计算到期付息的有价证券价格【功能说明】计算到期付息的面值¥100 的有价证券的价格。【语法表达式】PEICEMAT(settlement,maturity,issue,rate,yld,basis)【参数说明】yld:大于 0 的数值,表示有价证券的年收益率。redemption:表示面值¥100 的有价证券的清偿价值。【使用说明】 参数 settlement、maturity 和 issue 是由 DATE 函数输入的有效日期。如果日期以 文本形式输入,那么函数将返回错误值。参数 rate 和 yld 的值必须大于等于 0,否则函数将返回错误值#NUM!。参数 basis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。 参数 settlement 的日期必须早于 maturity 的日期。【实际应用】某投资机构在 2008 年 10 月 15 日购买了某面值为 100 的债券,债券的发行日为 2008年 7 月 15 日,到期日为 2012 年 3 月 15 日,债券的半年票面利率为 4.25%,年收益率为 4.75%,债券以“US(NASD)30/360”为日计数基准。在单元格 B8 中输入函数表达式“=PRICEMAT(B1,B2,B3,B4,B5,B6)”,计算该债券的价格,结果如图 10.29 所示。图 10.29 计算债券价格【应用说明】PRICEMAT 函数主要用来计算到期付息的有价证券的价值。10.1.15YIELD 函数:计算有价证券的收益率【功能说明】如果证券为定期付息有价证券,那么可以用 YIELD 函数计算有价证券的收益率。有价证券的付息方式可以按年付息、按季度付息或按月付息。【语法表达式】YIELD(settlement,maturity,rate,pr,redemption,frequency,basis)【参数说明】pr:表示面值为¥100 的有价证券的价格。redemption:表示面值为¥100 的有价证券的清偿价值。【使用说明】参数 settlement 和 maturity 是由 DATE 函数输入的有效日期。如果日期以文本形 式输入的,那么函数将返回错误值。 参数 settlement、maturity、frequency 和 basis 的值必须为整数,否则将被截尾取 整。参数 rate 的值必须大于 0,否则函数将返回错误值#NUM!。参数 pr 和 redemption 的值必须大于等于 0,否则函数将返回错误值#NUM!。参数 frequency 必须是 1、2 或 4 中的一个数值,否则函数将返回错误值#NUM!。参数 basis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。证券的购买日期 settlement 需早于证券的到期日期 maturity,否则函数将返回错误 值#NUM!。【实际应用】某投资机构在 2008 年 10 月 15 日用价格 98 元购买了票面价值为 100 的债券,债券的到期日为 2012 年 3 月 15 日,票面半年利率为 4.25%,半年付息,以“US(NASD)30/360” 为日计数基准。在单元格 B9 中输入“=YIELD(B1,B2,B5,B3,B4,B6,B7)”,计算债券的收益率,得到 的结果如图 10.30 所示。图 10.30 计算收益率【应用说明】YIELD 函数主要用来计算定期付息证券的收益率。10.1.16YIELDDISC 函数:计算折价发行的证券的收益率【功能说明】计算折价发行的有价证券的年收益率。【语法表达式】YIELDDISC(settlement,maturity,pr,redemption,basis)【参数说明】pr:表示面值¥100 元的有价证券的价格。redemption:表示面值¥100 元的有价证券的清偿价值。【使用说明】参数 settlement 和 maturity 是由 DATE 函数输入的有效日期。如果日期以文本形 式输入,那么函数将返回错误值。 参数 settlement、maturity 和 basis 的值必须为整数,否则将被截尾取整。参数 pr 和 redemption 的值必须大于等于 0,否则函数将返回错误值#NUM!。参数 basis 的值可以是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。证券的购买日期需早于证券的到期日日期,否则函数将返回错误值#NUM!。【实际应用】某投资机构在 2008 年 10 月 15 日用价格 98 元购买了票面价值为 100 的债券,到期日是 2009 年 3 月 15 日,以“US(NASD)30/360”为日计数基准。在单元格 B7 中输入“=YIELDDISC(B1,B2,B3,B4,B5)”,计算债券的收益率,得到的 结果如图 10.31 所示。图 10.31 计算债券的收益率【应用说明】YIELDDISC 函数主要用来计算折价发行的有价证券的年收益率。10.1.17YIELDMAT 函数:计算有价证券的年收益率【功能说明】计算到期付息的有价证券的年收益率。【语法表达式】YIEL