Par Yield
Calculates the par yield curve implied by a zero-coupon (spot) yield curve. The par yield for a given maturity is the coupon rate that would need to be attached to a newly-issued bond of that maturity so that, once its cash flows are discounted with the spot curve, its price equals its par value exactly.
This is the curve that is typically quoted for on-the-run government bonds, as opposed to the theoretical spot curve which is usually bootstrapped rather than directly observed.
The par yield is calculated using the following formula:
\[\text{Par Yield} = \text{frequency} \cdot (1 - \operatorname{DF}(n)) / \operatorname{SUM}(\operatorname{DF}(k))\]where DF(k) = 1 / (1 + spot_rate(k / frequency) / frequency)^k is the discount factor for the cash flow at period k, spot_rate(t) is obtained by interpolating the spot curve at time t (in years), and n = years_to_maturity * frequency is the number of coupon periods.
Also known as: par rate, par coupon rate.
Par Yield in Python
get_par_yield is part of the Fixed Income module of the open-source Finance Toolkit. Install it 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, 2, 3, 5, 10],
show_input_info=False,
)
Which returns:
| Years to Maturity | Par Yield |
|---|---|
| 1 | 0.03 |
| 2 | 0.032 |
| 3 | 0.0339 |
| 5 | 0.0377 |
| 10 | 0.0431 |
Parameters
get_par_yield accepts the following parameters:
- spot_rates (pd.Series | dict, optional): The zero-coupon (spot) yield curve, indexed by maturity in years (in decimal). Defaults to a sample curve.
- years_to_maturity (float | list, optional): The maturity (or maturities), in years, to calculate the par yield for. If not provided, a range of years to maturity will be used.
- frequency (int, optional): The number of coupon payments per year. Defaults to 1.
- par_value (float, optional): The face value of the bond. Defaults to 100.
- show_input_info (bool, optional): Whether to display input information. Defaults to True.