---
source_url: https://docs.dolphindb.cn/zh/funcs/b/bondyield.html
fetched_at: 2026-05-19T09:14:04Z
category: funcs
title: bondYield
sha1: 26d13cf4cb40eb87910a8851fb44468fac879f14
---

# bondYield

## 语法

`bondYield(start, maturity, issuePrice, coupon, frequency, dayCountConvention,
bondType, settlement, price, priceType, [method='newton'], [maxIter=100],
[benchmark='Excel'])`

## 详情

通过债券净价(Clean Price)或全价(Dirty Price)计算债券的到期收益率 (Yield To Maturity)。

注意：

- 如果结算日（settlement）距离到期日（maturity）不足一个票息期（coupon period），则收益率按以下方式计算：

![](../../tutorials/images/yield.png)

- 部分参数说明：
  - A：票息期开始日至结算日之间的天数（应计利息天数）。
  - DSR：从结算日期到赎回日期之间的天数。
  - E ：一个票息期内的天数。

- 如果在到期日之前有多个票息期，则通过牛顿法等优化算法迭代地调整收益率的值，使基于该收益率计算得到的债券净价接近用户输入的实际价格。本函数将收益率的初值设置为年息票利率（Annual
  Coupon Rate）。

## 参数

注意：所有输入向量必须等长，输入标量将自动扩展以匹配其它向量的长度。

**start** DATE 类型标量或向量，表示债券的起息日。

**maturity** 与 *start* 等长的 DATE 类型标量或向量，表示债券的到期日。

**issuePrice** 与 *start*
等长的数值型标量或向量，表示债券的发行价格。贴现债需指定真实发行价（通常小于100）；其他债券通常为100。

**coupon** 数值型标量或向量，表示债券的票面利率。例如 0.03，表示票息为 3%。

**frequency** 整型或 STRING 类型的标量或向量，表示债券的付息频率。可选值为：

- 0/“Once”：到期一次还本付息
- 1/“Annual”：每年付息一次
- 2/“Semiannual：每半年付息一次
- 4/“Quarterly”：每季度付息一次
- 12/“Monthly”：每月付息一次

**dayCountConvention** STRING 类型的标量或向量，表示债券的计息日数惯例。可选值为：

- "Thirty360US"：US (NASD) 30/360
- "ActualActualISMA"：实际/实际（ISMA 规则）
- "Actual360"：实际/360
- "Actual365"：实际/365
- "Thirty360EU"：欧洲 30/360
- "ActualActualISDA"：实际/实际（ISDA 规则）

**bondType** STRING 类型标量或向量，表示债券的类型。可选值为：

- "FixedRate"：固定利率债券，定期按息票利率支付利息。
- "Discount"：贴现债券，没有利息支付，以贴现方式发行的债券，期末FV=面值。
- "ZeroCoupon"：零息债券，期末一次性支付利息和面值，期末FV=面值+利息。

**settlement** DATE 类型标量或向量，表示债券的结算日，即购买日期。

**price** 数值型标量或向量，具体含义取决于 priceType 的取值：

- 当 *priceType* 为 "CleanPrice" 时，*price* 表示债券的净价；
- 当 *priceType* 为 "DirtyPrice" 时，*price* 表示债券的全价。

**priceType** STRING 类型的标量或向量，用于指定债券价格类型，可选值为：

- "CleanPrice"：净价
- "DirtyPrice"：全价

**method** 可选参数，字符串标量或向量，表示求解收益率所使用的优化算法，可选值为：

- "newton"：表示使用 Newton 算法，默认值。
- "brent"：表示使用 brent 算法。
- "nm"：表示使用 Nelder-Mead 单纯形算法。
- "bfgs"：表示使用 bfgs 算法。
- "lbfgs"：表示使用 lbfgs 算法。

**maxIter** 可选参数，整型标量或向量，表示求解收益率时优化算法的最大迭代次数。默认值为 100。

**benchmark** 可选参数，STRING 类型标量，表示算法参考基准。目前仅支持 “Excel”（excel
中的算法）。

## 返回值

DOUBLE 类型标量或向量。

## 例子

```dolphindb
bondYield(start=2023.01.01, maturity=2030.12.31, issuePrice=100, coupon=0.05, frequency=1, dayCountConvention="ActualActualISMA", bondType="FixedRate", settlement=2023.04.01, price=100.2143, priceType="CleanPrice", method = ['newton', 'nm', 'brentq', 'bfgs','lbfgs'])

// output: [0.049630,0.049628,0.049630,0.049630,0.049635]
```

**相关函数**：[bondCalculator](bondCalculator.html)
