1、第 10 章 财 务 函 数财务运算是 Excel 的 一 个 重 要 应 用 方 向 , 这 在 Excel 函 数 中 也 有 体 现 。 Excel 中的财务 函数包含数量众多的函数。根据实际应用,财务函数主要包括有价证券函数、投资函数、 本 金 和 利 息 函 数 、 折 旧 函 数 和 转 换 函 数 等 。 在 本 章 中 , 将 对 每 类 函 数 进 行 详 细 讲 解 , 并 给 出具体的例子进行分析。10.1 有 价 证 券 函 数在 Excel 的 财 务 函 数 中 , 有 价 证 券 函 数 的 功 能 是 计 算 证 券 的 收 益 。 这 类 函 数 有 许 多
2、相 似 之 处 , 例 如 , 函 数 的 主 要 参 数 包 括 利 息 率 、 收 益 率 、 价 格 、 成 交 日 、 发 行 日 和 证 券 价 值 等 。 同 时 , 有 价 证 券 函 数 还 有 相 同 的 日 计 数 标 准 , 该 计 数 标 准 主 要 用 来 计 算 证 券 的 收 益 期 限,用参数 basis 来 表 示 。 为 了 方 便 本 小 节 的 讲 解 , 首 先 列 出 这 些 共 同 的 参 数 含 义 。以 ACCRINT 函 数 为 例 , 该 函 数 的 主 要 功 能 是 计 算 定 期 付 息 有 价 证 券 的 应 计 利 息 。 其 对
3、应的函数表达式为:ACCRINT(issue,first_interest,settlement,rate,par,frequency,basis)下面详细讲解其参数的含义: 参数 issue 表 示 证 券 的 发 行 日 ; 参数 first_interest 表 示 证 券 的 起 息 日 ; 参数 settlement 表示证券 的成交日(在发行日之后,投资者购买证券的日期) ; 参数 rate 表 示 证 券 的 年 息 票 利 率 ; 参数 par 表 示 证 券 的 票 面 价 值 ; 参数 frequency 表示年付息次数; 参数 basis 表 示 日 计 数 基 准 类
4、型 。在 Excel 中 , 所 有 有 价 证 券 函 数 中 , 其 参 数 的 含 义 和 上 面 的 参 数 类 似 , 在 具 体 讲 解 函 数的时候,就不再重复表述。10.1.1 ACCRINT 函数:计算应付利息【 功 能 说 明 】 有 价 证 券 的 计 息 方 式 有 定 期 分 期 计 息 和 一 次 性 计 息 两 种 , 该 函 数 计 算 采 用定期分期付息方式时的应计利息。【语法表达式】 ACCRINT(issue, first_interest, settlement, rate, par, frequency, basis,calc_method)【使用说明
5、】 该函数中的所有日期都是用 DATE 函 数 输 入 的 有 效 日 期 。 Microsoft Excel 是以可 计算的序列号的形式存储日期的。 1900 年 1 月 1 日的序列号为 1, 那么 2008 年 1月 1 日 的 序 列 号 是 39448, 因 为 它 距 1900 年 1 月 1 日有 39448 天。 settlement 表示结算日的日期。 使用函数时, 其值必须晚于发行日的日期 , 否则返 回错误值 #NUM! 。 frequency 表示付息次数。使用函数时,其值必须是 1、2 或 4 中的一个,其他值 都 会 产 生 错 误 #NUM!。 日计数基准类型的值
6、必须是 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)”, 计 算 债 券
7、 的 到期收益,得到的结果如图 10.2 所 示 。图 10.1 债券的基础信息 图 10.2 计算债券的到期利息【 应 用 说 明 】 ACCRINT 函数可以计算每年、半年或每季度的应计利息。10.1.2 ACCRINTM 函数:计算应计利息【 功 能 说 明 】 有 价 证 券 的 计 息 方 式 有 定 期 计 息 和 一 次 性 计 息 两 种 。 该 函 数 计 算 采 用 一 次性付息方式时应计的利息。【 语 法 表 达 式 】 ACCRINTM( issue, settlement, rate, par, basis)【使用说明】 结算日的日期必须晚于发行日的日期,否则函数将返
8、回错误值 #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)”, 计 算 债 券 的 应 计 利 息 。 得到的结
9、果如图 10.4 所 示 。图 10.3 基础债券信息 图 10.4 计 算 应 计 利 息【 应 用 说 明 】 ACCRINTM 可 以 计 算 任 意 有 价 证 券 的 利 息 。10.1.3 COUPDAYBS、 COUPDAYS 和 COUPDAYSNC 函数:计算 债券的天数信息【功能说明】 COUPDAYBS 函数的功能是计算有价证券当前付息期内截止到成交日的 天 数 。 COUPDAYS 函 数 的 功 能 是 计 算 证 券 成 交 日 所 在 的 那 一 付 息 期 的 天 数 。COUPDAYSNC 函数的功能是计算有价证券从购买日到下一付息日之间的天数。【语法表达式】
10、 COUPDAYBS( settlement, maturity, frequency, basis) COUPDAYS( settlement, maturity, frequency, basis) COUPDAYSNC( settlement, maturity, frequency, basis)【使用说明】 到 期 日 的 日 期 值 要 晚 于 结 算 日 的 日 期 , 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数 frequency 的值必须是 1、 2 或 4 中 的 一 个 。 使 用 其 他 任 何 值 均 会 产 生 错 误#NUM!。 参数 basis
11、的 值 必 须 是 0、 1、 2、 3 或 4 中 的 一 个 。 如 果 省 略 该 参 数 , 那 么 默 认 其 值为 0。【实际应用】某投资结构在 2009 年 6 月 5 日 购 买 了 某 债 券 , 债 券 的 到 期 日 是 2009 年 10 月 15 日, 按 半 年 付 息 , 以 US( NASD) 30/360 为 日 计 数 基 准 。 根 据 上 面 的 信 息 , 投 资 结 构 可 以 计 算 债券的各种天数信息,如图 10.5 所 示 。图 10.5 关于债券的基础信息天数信息的计算具体步骤如下:( 1) 在 单 元 格 B6 中 输 入 函 数 表 达
12、式 “=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 计
13、算债券的天数信息【 应 用 说 明 】 COUPDAYS 函数计算的是包括成交日在内的付息期的天数,它是根据 参数 maturity 的日期来计算的,计算区间是到期日的前 1 天 倒 推 每 一 个 付 息 期 。10.1.4 COUPNCD 和 COUPPCD 函数: 计算下个和上个付息日的 日期【 功 能 说 明 】 COUPNCD 函 数 的 功 能 是 计 算 有 价 证 券 购 买 日 之 后 的 下 一 个 付 息 的 日 期 , 返 回 一 个 日 期 形 式 的 数 值 。 COUPPCD 函数的功能是计算证券在购买日之前最近的付 息日的日期,和 COUPNCD 函数是相对应的
14、函数。【语法表达式】 COUPNCD( settlement, maturity, frequency, basis) COUPPCD( settlement, maturity, frequency, basis)【使用说明】 到 期 日 的 日 期 值 要 晚 于 成 交 日 的 日 期 , 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数 frequency 的值可以是 1、 2 或 4 中 的 任 意 值 。 如 果 使 用 其 他 任 何 数 值 均 会 产 生 错 误 #NUM!。 参数 basis 的 值 可 以 是 0、 1、 2、 3 或 4 中 的 一 个 值 。
15、 如 果 省 略 该 参 数 , 那 么 默 认 其值为 0。 设 置 要 存 放 计 算 结 果 的 单 元 格 的 格 式 , 将 其 内 容 格 式 设 置 为 日 期 , 否 则 返 回 的 是 日期的序列号。【实际应用】某投资机构在 2009 年 6 月 15 日购买了某债券,债券的到期日为 2012 年 8 月 5 日, 按 半 年 付 息 , 以 “实 际 天 数 /实 际 天 数 ”作 为 日 计 数 基 准 。 根 据 债 券 的 信 息 , 投 资 机 构 需 要 计算债券的上一个和下一个付息日,如图 10.9 所示。图 10.9 关于债券的基础信息其计算的具体步骤如下:(
16、 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.5 COUPNUM 函数:计算利息应付次数【 功 能
17、说 明 】 计 算 有 价 证 券 从 购 买 日 至 到 期 日 之 间 的 总 的 付 息 次 数 。 如 果 返 回 的 结 果 不是整数,那么需要向上舍入为最接近的整数。【 语 法 表 达 式 】 COUPNUM( settlement, maturity, frequency, basis)【使用说明】 到 期 日 的 日 期 值 要 晚 于 成 交 日 的 日 期 , 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数 frequency 的值可以是 1、 2 或 4 中 的 任 意 一 个 值 。 如 果 使 用 其 他 值 , 函 数 均 会 返 回 错 误 值 #NU
18、M!。 参数 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 计算付息次数【 应 用 说 明
19、】 COUPNUM 函 数 根 据 付 息 方 式 , 计 算 出 某 一 证 券 的 总 的 付 息 次 数 。10.1.6 DISC 函数:计算有价证券的贴现率【功能说明】计算有价证券的贴现率。【 语 法 表 达 式 】 DISC( settlement, maturity, pr, redemption, basis)【参数说明】 Pr: 票 面 价 值 为 ¥ 100 的 有 价 证 券 的 价 格 。 使 用 函 数 时 , 其 值 必 须 大 于 0。 Redemption: 票 面 价 值 为 ¥ 100 的 有 价 证 券 的 清 偿 价 值 , 其 值 必 须 大 于 0。【
20、使用说明】 该函数中的所有日期都是用 DATE 函 数 输 入 的 有 效 合 法 日 期 。 Microsoft Excel 是 以可计算的序列号的形式存储日期的, 1900 年 1 月 1 日的序 列号为 1, 那 么 2008年 1 月 1 日 的 序 列 号 是 39448, 因 为 它 距 1900 年 1 月 1 日有 39448 天。 到 期 日 的 日 期 值 要 晚 于 成 交 日 的 日 期 值 , 否 则 函 数 将 返 回 错 误 值 #NUM!。 日计数基准类型 basis 的 值 可 以 是 0、 1、 2、 3 或 4 中 的 任 意 一 个 。 如 果 省 略
21、该 参 数,那么默认其值为 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 计算债券的贴现率【 应 用 说 明 】 当 用 户 的 债 券 没 有 到 期 , 而 去 兑 换 现
22、 金 。 因 为 没 有 到 期 , 所 以 用 户 需 要 贴付给银行一定的利息才能取出现金,这种利息的比率就是贴现率。10.1.7 DURATION 函数:计算有价证券的久期【 功 能 说 明 】 计 算 票 面 价 值 为 ¥ 100 的定期付息的有价证券的修正期限。【 语 法 表 达 式 】 DURATION( settlement, maturity, coupon, yld, frequency, basis)【参数说明】 Coupon: 一 个数值, 代表有价证券的年息票利率。 使用函数时 , 其值必须大于 0。 Yld: 一 个 数 值 , 代 表 有 价 证 券 的 年 收
23、益 率 , 也 就 是 反 映 收 益 情 况 好 坏 的 。 使 用 函数时,其值必须大于 0。【使用说明】 该函数中的所有日期都是用 DATE 函 数 输 入 的 有 效 合 法 日 期 。 Microsoft Excel 是 以可计算的序列号的形式存储日期的, 1900 年 1 月 1 日的序 列号为 1, 那 么 2008年 1 月 1 日 的 序 列 号 是 39448, 因 为 它 距 1900 年 1 月 1 日有 39448 天。 到 期 日 的 日 期 值 要 晚 于 成 交 日 的 日 期 , 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数 frequency
24、的值可以是 1、 2 或 4 中 的 任 意 一 个 。 使 用 其 他 值 函 数 均 会 返 回 错 误 #NUM!。 参数 basis 的 值 可 以 是 0、 1、 2、 3 或 4 中 的 任 意 一 个 。 如 果 省 略 该 参 数 , 那 么 默 认其值为 0。【实际应用】某投资机构在 2009 年 8 月 5 日购买了息票利率为 6.85%的 债 券 , 债 券 的 到 期 日 期 为2012 年 11 月 15 日, 按 半年期支付利息。 债券的收益率为 8.45%, 以 “US(N ASD) 30/360”为日计数基准,基础数据表格如图 10.16 所示。在单元格 B8
25、中输入表达式 “=DURATION(B1,B2,B3,B4,B5,B6)”, 计算该债券的久期, 结果如图 10.17 所示。图 10.16 基础数据信息 图 10.17 计算债券的久期【 应 用 说 明 】 修 正 期 限 是 指 , 证 券 在 收 益 率 变 动 的 情 况 下 的 年 持 续 时 间 。 反 映 的 是 证 券价格对收益率的敏感程度。10.1.8 INTRATE 函数:计算证券的利率【功能说明】计算一次性付息的有价证券的利率。【 语 法 表 达 式 】 INTRATE(settlement, maturity, investement, redemption, basi
26、s)【参数说明】 investement: 表 示 投 资 额 。 redem ption: 表 示 有 价 证 券 到 期 时 的 清 偿 价 值 。【使用说明】 参数 settlement 和 maturity 是用 DATE 函数输入的日期值,或者是将函数作为其 他公式或函数的结果输入。 Excel 将 日 期 存 储 为 可 计 算 的 序 列 数 。 Excel 默认 1900 年 1 月 1 日 的 序 列 号 为 1。 证券的结算日是购买者购买者购买证券的日期, 而到期日则表示证券有效期截止 的日期。 参数 settlement、 maturity 和 basis 的 值 必 须
27、 是 整 数 , 否 则 将 被 截 尾 取 整 。 参数 settlement 和 maturity 表示的日期必须是合法有效的日期,否则函数将返回 错误值 #VALUE!。 参数 investement 和 redemption 的 值 必 须 为 大 于 0 的数,否则函数将返回错误值#NUM!。 参数 basis 必 须是 0、1、 2、3 和 4 中一 个数值,否则函数将返回错误值#N UM! 。 证 券 的 结 算 日 不 能 大 于 证 券 的 到 期 日 的 日 期 , 否 则 函 数 将 返 回 错 误 值 #NUM!。【实际应用】某投资机构在 2009 年 7 月 5 日
28、购 买 了 价 值 为 150000 元 的 债 券 , 债 券 在 2010 年 11 月15 日 到 期 , 且 到 期 时 将 会 获 得 159500 元 , 以 “实 际 天 数 /实 际 天 数 ”为 日 计 数 基 准 , 计 算 该债券的利率。在单元格 B7 中输 入函数表达式“=INTRA TE(B1,B2,B3,B4,B5)”,得 到该债券的利率,如图 10.18 所示。图 10.18 计算债券的利率【 应 用 说 明 】 INTRATE 函数主要用来计算一次性付息证券的利率。10.1.9 MDURATION 函数:计算有价债券的修正久期【功能说明】计算面值 100 的 有
29、 价 证 券 的 Macauley 修正期限。【 语 法 表 达 式 】 MDURATION(settlement,maturity,coupon,yld,frequency,basis)【参数说明】 Coupon: 一 个数值, 代表有价证券的年息票利率。 使用函数时 , 其值必须大于 0。 Yld: 一 个 数 值 , 代 表 有 价 证 券 的 年 收 益 率 , 也 就 是 反 映 收 益 情 况 好 坏 的 。 使 用 函数时,其值必须大于 0。【使用说明】 到 期 日 的 日 期 值 要 晚 于 成 交 日 的 日 期 , 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数
30、 frequency 的值可以是 1、 2 或 4 中 的 任 意 一 个 。 使 用 其 他 值 函 数 均 会 返 回 错 误 #NUM!。 参数 basis 的 值 可 以 是 0、 1、 2、 3 或 4 中 的 任 意 一 个 。 如 果 省 略 该 参 数 , 那 么 默 认其值为 0。【实际应用】某投资机构在 2009 年 8 月 5 日购买了息票利率为 6.85%的 债 券 , 债 券 的 到 期 日 期 为2012 年 11 月 15 日, 按 半年期支付利息。 债券的收益率为 8.45%, 以 “US(N ASD) 30/360”为日计数基准,基础数据表格如图 10.19
31、所示。在单元格 B8 中输入函数表达 式 “=MDURATION(B1,B2,B3,B4,B5,B6)”, 计 算该债券 的修正久期,如图 10.20 所示。图 10.19 基础数据表格 图 10.20 计算债券的修正久期【应用说明】在实际应用中,修正久期的计算公式如下10.1.10 ODDFPRICE 和 ODDLPRICE 函数: 计算有价证券的价格【 功 能 说 明 】 ODDFPRICE 函数的功能是计算首期付息日不固定的面值¥100 的 有 价 证 券 的 价 格 ; ODDLPRICE 函数的功能是计算末期付息日不固定,且面值是 ¥100 的有价 证券(长期或短期)的价格。【语法表
32、达式】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: 表
33、 示 面 值 ¥ 100 的 有 价 证 券 的 清 偿 价 值 。 Last_ interest: 表 示 有 价 证 券 的 最 后 一 期 的 付 息 日 期 。【使用说明】 参数 settlement、 maturity 和 first_ coupon 是 由 DATE 函数输入的有效日期。如果 日期以文本形式输入,那么函数将返回错误值。 参数 settlement、 maturity 和 basis 的 值 必 须 为 整 数 , 否 则 将 被 截 尾 取 整 。 参数 rate 的 值 必 须 大 于 等 于 0, 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数 ba
34、sis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。 参数 frequency 必须是 1、 2 和 4 中 的 一 个 数 值 。 ODDFPRICE 函 数 中 的 几 个 日 期 参 数 需 满 足 的 条 件 是 : matrrityfirst_ couponsettlementissue, 否 则 函 数 将 返 回 错 误 值 。 ODDLPRICE 函 数 函 数 中 日 期 参 数 需 满 足 的 条 件 是 : matrritysettlementlast_ interest, 否 则 函 数 将 返 回 错 误 值 。【实际应用】某投资
35、机构 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 基础数据表格根据上
36、面的基础数据,具体的求解步骤如下:(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 求 解 末 期 付 息 不 固 定 的 债 券 价 格
37、【 应 用 说 明 】 ODDFPRICE 函 数 主 要 用 来 计 算 首 期 付 息 日 不 固 定 的 有 价 证 券 的 价 格 。ODDLPRICE 函数主要用来计算末期付息日不固定的有价证券的价格。10.1.11 ODDFYIELD 和 ODDLYIELD 函数:计算证券的收益率【功能说明】 如果有价证券的第一期的付息日不固定, 那么可以用 ODDFYIELD 函数 计 算 该 证 券 的 收 益 率 。 如 果 某 证 券 的 末 期 付 息 日 不 固 定 , 不 论 证 券 是 长 期 还 是 短 期 的 , 那 么都可以用 ODDLYIELD 函数计算该证券的收益率。【语
38、法表达式】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 的 数 值 , 表 示 有 价 证 券
39、 的 价 格 。 last_ interest: 表示证券最后一期的付息日期。 也就是, 最后的一个付息日的日期。 redemption: 表 示 面 值 ¥ 100 的 有 价 证 券 的 清 偿 价 值 。【使用说明】 参数 settlement、 maturity 和 first_ coupon 是 由 DATE 函数输入的有效日期。如果 日期以文本形式输入,那么函数将返回错误值。 参数 settlement、 maturity 和 basis 的 值 必 须 为 整 数 , 否 则 将 被 截 尾 取 整 。 参数 pr 和 rate 的 值 必 须 大 于 等 于 0, 否 则 函
40、数 将 返 回 错 误 值 #NUM!。 参数 basis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NUM!。 参数 frequency 必须是 1、 2 和 4 中 的 一 个 数 值 。 Excel 使 用 迭 代 法 计 算 函 数 ODDFYIELD。 该 函 数 基 于 ODDFPRICE 中的公式进行 迭 代 运 算 。 在 100 次 迭 代 过 程 中 , 收 益 率 不 断 变 化 , 直 到 按 给 定 的 收 益 率 计 算 出的价格接近实际价格。【实际应用】某投资结构在 2008 年 10 月 15 日 购 买 了 两 种 债 券 , 债
41、 券 的 到 期 日 为 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 基础信息表格根据上面的基础数据,具体的求解步骤
42、如下:(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 求解末期付息日不固定债券的收益率【 应 用 说 明 】 ODDFYI
43、ELD 函 数 主 要 用 来 首 期 付 息 日 不 固 定 的 有 价 证 券 的 收 益 率 。ODDLYIELD 函数主要用来计算末期付息日不固定的证券的收益率。10.1.12 PRICE 函数:计算定期付息的有价证券价格【 功 能 说 明 】 计 算 定 期 付 息 的 面 值 ¥ 100 的 有 价 证 券 的 价 格 。 定 期 付 息 , 也 就 是 , 在 每个付息期内的一个固定的日期支付利息。【 语 法 表 达 式 】 PRICE(settlement, maturity, rate, yld, redemption, frequency, basis)【参数说明】 yld
44、: 一 个 大 于 0 的 数 值 , 表 示 有 价 证 券 的 年 收 益 率 。 redemption: 表 示 面 值 ¥ 100 的 有 价 证 券 的 清 偿 价 值 。【使用说明】 参数 settlement 和 maturity 是由 DATE 函数输入的有效日期。如果日期以文本形 式输入,那么函数将返回错误值。 参数 frequency 和 basis 的 值 必 须 为 整 数 , 否 则 将 被 截 尾 取 整 。 参数 rate 的 值 必 须 大 于 等 于 0, 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数 basis 的值必须是 0、1、2、3 或
45、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,B
46、6,B7)”, 计 算 该 债 券 的 价 格 , 结果如图 10.27 所示。图 10.27 计算债券价格【 应 用 说 明 】 PRICE 可以计算定期付息的证券、基金和股票的价值。10.1.13 PRICEDISC 函数:计算折价发行的有价证券价格【 功 能 说 明 】 计 算 折 价 发 行 的 面 值 ¥ 100 的 有 价 证 券 的 价 格 。 折 价 , 顾 名 思 义 , 就 是 发行价格是在原价的基础上扣去一定的折扣的价格。【 语 法 表 达 式 】 PRICEDISC(settlement, maturity, discount, redemption, basis)【参
47、数说明】 discount: 一 个 大 于 0 的 数 值 。 表 示 证 券 的 贴 现 率 。 也 就 是 , 我 们 平 时 称 的 折 扣 。 redemption: 表 示 面 值 ¥ 100 的 有 价 证 券 的 清 偿 价 值 。【使用说明】 参数 settlement 和 maturity 是由 DATE 函数输入的有效日期。如果日期以文本形 式输入,那么函数将返回错误值。 参数 rate 的 值 必 须 大 于 等 于 0, 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数 basis 的值必须是 0、1、2、3 或 4 中的一个数值,否则函数将返回错误值#NU
48、M!。 参数 discount 和 redemption 的 值 必 须 大 于 0, 否 则 函 数 将 返 回 错 误 值 #NUM!。 参数 settlement 的 日 期 要 早 于 maturity 的日期。【实际应用】某投资机构在 2008 年 10 月 15 日 购 买 了 某 面 值 为 100 的 债 券 , 债 券 的 到 期 日 为 2012年 3 月 15 日 , 债 券 的 贴 现 率 为 4.35%, 以 “US( NASD) 30/360”为 日 计 数 基 准 。 投 资 者 需要计算该债券的价格。在单元格 B7 中 输 入 函 数 表 达 式 “=PRICE
49、DISC(B1,B2,B3,B4,B5)”, 计 算 该 折 价 债 券 的价格,结果如图 10.28 所示。图 10.28 计算折价债券的价格【 应 用 说 明 】 PRICEDISC 主 要 用 来 计 算 折 价 发 行 的 有 价 证 券 的 实 际 价 值 。10.1.14 PRICEMAT 函数:计算到期付息的有价证券价格【 功 能 说 明 】 计 算 到 期 付 息 的 面 值 ¥ 100 的 有 价 证 券 的 价 格 。【 语 法 表 达 式 】 PEICEMAT(settlement, maturity, issue, rate, yld, basis)【参数说明】 yld: 大 于 0 的数值,表示有价证券的年收益率。 redemption: 表 示 面 值 ¥ 100 的 有 价 证 券 的 清 偿 价 值 。【使用说明】 参数 settlement、 maturity 和 issue 是由 DATE 函数输入的有效日期。如果日期以 文本形式输入,那么函数将返回错误值。 参数 rate 和 yld 的 值 必 须 大 于 等 于 0, 否 则 函