bondCashflow

语法

bondCashflow(settlement, maturity, coupon, [frequency], [basis=1], [bondType=0])

详情

计算面值为 100 元的债券的现金流,支持固息债券,零息债券和贴现债券。返回 DOUBLE 类型的 vector 或 array vector。

参数

注意:如果输入参数中,部分为标量,其余为向量时,则会将标量当作与向量长度相同、所有元素值等于该标量的向量;且所有向量的长度必须一致。

settlement DATE 类型标量或向量,表示有价证券的结算日,即购买日期。

maturity DATE 类型标量或向量,表示有价证券的到期日(有价证券有效期截止时的日期)。

coupon 数值型标量或向量,非负数,表示有价证券的年息票利率。

frequency 可选参数,整型或 DURATION 类型的标量或向量,表示年付息频率。注意:

  • 若计算零息债券或者贴现债券,则无需填写该参数。

  • 若计算固息债券则必填该参数,可选值为:

    • 1 / 1y:每年支付 1 次(按年支付);

    • 2 / 6M:每年支付 2 次(按半年期支付);

    • 4 / 3M:每年支付 4 次(按季支付);

    • 12 / 1M:每年支付 12 次(按月支付)。

basis 可选参数,整型或 STRING 类型的标量或向量,与 settlement 等长,表示要使用的日计数基准类型。默认值为 1。可选值为:

Basis 日计数基准
0 / "Thirty360US" US (NASD) 30/360
1 / "ActualActual" (默认值) 实际/实际
2 / "Actual360" 实际/360
3 / "Actual365" 实际/365
4 / "Thirty360EU" 欧洲 30/360

bondType 可选参数,整型或 STRING 类型的标量或向量,表示债券的类型。默认值为 0。可选值为:

  • 0 / "FixedRate":固息债券,即定期(季度、半年或一年)按息票利率支付利息。

  • 1 / "Discount":贴现债券,即没有利息支付,以贴现方式发行的债券,期末 FV=面值。

  • 2 / "ZeroCoupon":零息债券,即期末一次性支付利息和面值,期末 FV=面值+利息。

例子

现计算 2022 年 9 月 28 日购买,到期日分别是 2023 年 9 月 28 日和 2024 年 9 月 28 日的两个固息债券的现金流。其年息票利率均为 0.025,付息频率为每 3 个月一次,日计数基准为实际/实际。
settlement=2022.09.28
maturity=[2023.09.28, 2024.09.28]
coupon=0.025
frequency=4
basis=1
bondCashflow(settlement, maturity, coupon, frequency, basis);

/* output

[[0.625,0.625,0.625,100.625],[0.625,0.625,0.625,0.625,0.625,0.625,0.625,100.625]]

*/