Par Yield
Calculates the par yields of any maturity from a country’s zero-coupon (spot) yield curve on a day. The par yield for a maturity is the coupon rate a newly issued bond of that maturity needs so that, discounted with the spot curve, its price equals par.
The government bond yield curve quotes par yields at its own maturities; this gives the par yield of any maturity in between (such as 4 or 15 years) with the interpolation done on the zero-coupon rates, where it belongs, rather than on the par yields.
The formula is as follows:
\[\operatorname{DF}(t) = 1 / (1 + \text{Spot Rate} (t / \text{Frequency}) / \text{Frequency}) ^{t},\;\; \text{the discount factor of a cash flow after t coupon periods}\] \[\text{Par Yield} = \text{Frequency} \cdot (1 - \operatorname{DF}(t_{n})) / (\operatorname{SUM}(\operatorname{DF}(t_{i})) - a),\;\; \text{over} \;\; \text{the remaining coupons}\; i = 1,\;\; \text{...},\;\; \text{n}\]where Spot Rate(τ) is the zero-coupon rate of get_zero_coupon_curve at τ years, restated from annual compounding to the country’s coupon frequency (twice a year, once for Sweden and Norway) and interpolated linearly, a is the elapsed fraction of the current coupon period (0 on a coupon date) and t_i = i - a is the time of the i-th coupon in periods. The par yield is a nominal annual coupon rate paid at the coupon frequency, like the government bond yield curve. For a curve of your own, use yieldcurve_model.get_par_yield.
Also known as: par rate, par coupon rate.
Par Yield in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_par_yield as shown below.
from financetoolkit import FixedIncome
fixedincome = FixedIncome()
fixedincome.get_par_yield(years_to_maturity=[1, 4, 8, 15, 25], date="2026-11-05")
Or, after setting up the Finance Toolkit MCP, ask:
What par yields did the US Treasury curve imply for maturities of 1, 4, 8, 15 and 25 years on 5 November 2026?
Which returns:
| Years to Maturity | Par Yield |
|---|---|
| 1 | 0.0428 |
| 4 | 0.0456 |
| 8 | 0.0475 |
| 15 | 0.0507 |
| 25 | 0.0527 |
Parameters
get_par_yield accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
years_to_maturity | float | str | list | None | The maturities, in years or as labels such as ‘15Y’. Defaults to None, 1 to 30 years. | [2, 5, 10] |
country | str | The country, see get_zero_coupon_curve. Defaults to “United States”. | "US" |
date | str | None | The day of the curve (YYYY-MM-DD), or the last day before it with a curve. Defaults to None, the end date. | "2025-03-31" |
rounding | int | None | The number of decimals to round the results to. Defaults to None, which uses the rounding of the class. | 2 |