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.

ParameterTypeDescriptionExample
years_to_maturityfloat | str | list | NoneThe maturities, in years or as labels such as ‘15Y’. Defaults to None, 1 to 30 years.[2, 5, 10]
countrystrThe country, see get_zero_coupon_curve. Defaults to “United States”."US"
datestr | NoneThe 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"
roundingint | NoneThe number of decimals to round the results to. Defaults to None, which uses the rounding of the class.2
Share