Retrieves Moody’s seasoned corporate bond yields for Aaa (the highest rating) and Baa (the lowest investment grade rating) US corporate bonds, the longest running corporate bond yield benchmark there is: daily from 1986 and monthly from 1919.

With spread=True the spreads over the 10-year Treasury yield are returned instead, together with the Baa minus Aaa spread, the classic measure of default risk in the academic literature (e.g. Fama and French, 1989), which widens sharply in recessions. Monthly spreads start in 1953, when the monthly 10-year Treasury yield does.

Monthly values are the averages over the month, as Moody’s publishes them; weekly values are the yields on the last day of each week (weeks end on Friday).

The data comes from FRED, so a free FRED API key is required. The yields and spreads are returned as decimal fractions (0.0675 for 6.75%).

Also known as: Moody’s Aaa, Moody’s Baa, corporate bond yields by rating, default spread, credit spread.

Moody’s Corporate Bond Yields in Python

Install the Finance Toolkit with:

pip install financetoolkit -U

Then call get_moodys_corporate_bond_yields as shown below.

from financetoolkit import FixedIncome

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

fixedincome.get_moodys_corporate_bond_yields(period='monthly', spread=True)

Which returns:

  Aaa Baa Baa - Aaa
2026-03 0.0123 0.0179 0.0056
2026-04 0.011 0.0171 0.0061
2026-05 0.0108 0.0162 0.0054
2026-06 0.0105 0.0153 0.0048
2026-07 0.0116 0.0159 0.0043
2026-08 0.012 0.0164 0.0044

Parameters

The function accepts the following parameters:

  • period (str, optional): Whether to return the daily, weekly or monthly data. Defaults to “daily”.
  • spread (bool, optional): Whether to return the spreads over the 10-year Treasury yield instead of the yields. Defaults to False.
  • 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