Retrieves the High Quality Market (HQM) corporate bond yield curve of the U.S. Department of the Treasury: the yields of high quality (AAA, AA and A rated) US corporate bonds by maturity, from 6 months to 100 years, monthly from 1984. The Treasury builds it for discounting long-dated liabilities, which is why it is the prescribed discount curve for US corporate pension obligations, and its long history makes it a natural basis for modelling how corporate yields and spreads move.

Two curves are available. Spot rates (rate=”spot”) are zero-coupon yields, the rate to discount a single payment at that maturity, for 17 maturities. Par yields (rate=”par”) are the coupons a bond priced at par would pay, for 2, 5, 10 and 30 years, comparable to the Treasury par yield curve (see get_treasury_rates). Every value is the average over the month.

The data comes from FRED, which republishes the Treasury’s curve, so a free FRED API key is required. The rates are returned as decimal fractions (0.0558 for 5.58%).

See definition: https://home.treasury.gov/data/treasury-coupon-issues-and-corporate-bond-yield-curves

Also known as: HQM curve, corporate bond yield curve, pension discount curve, AA corporate curve.

HQM Corporate Bond Yield Curve in Python

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_hqm_corporate_bond_yield_curve as shown below.

from financetoolkit import FixedIncome

fixedincome = FixedIncome(start_date='2026-03-01', end_date='2026-08-31')

fixedincome.get_hqm_corporate_bond_yield_curve()[['1Y', '5Y', '10Y', '30Y', '100Y']]

Which returns:

  1Y 5Y 10Y 30Y 100Y
2026-03 0.0406 0.0447 0.0514 0.0614 0.0653
2026-04 0.0408 0.0449 0.0513 0.0612 0.065
2026-05 0.0414 0.0467 0.0528 0.0622 0.0656
2026-06 0.0422 0.0472 0.0527 0.0611 0.0641
2026-07 0.0433 0.0488 0.0545 0.0643 0.0677
2026-08 0.0431 0.0497 0.0558 0.0665 0.0702

Parameters

The function accepts the following parameters:

  • rate (str, optional): “spot” for the spot rates or “par” for the par yields. Defaults to “spot”.
  • rounding (int | None, optional): The number of decimals to round the results to. Defaults to None.
  • growth (bool, optional): Whether to return the growth data or the actual data. Defaults to False.
  • lag (int, optional): The number of periods to lag the growth data by. Defaults to 1.
  • standardize (bool, optional): Whether to standardize (Z-Score) the result. When combined with growth=True, standardizes the growth values instead of the raw values. Defaults to False.
Share