Term Structure Spreads

Overview

Adding Spreads



import lib.fixed_income.contracts as ct import lib.fixed_income.qcalendar as cl import lib.fixed_income.term_structure as ts import lib.fixed_income.data as dt data = {"date": "2026-08-10", "1M": 3.79, "1.5M": 3.8, "2M": 3.84, "3M": 3.89, "4M": 3.91, "6M": 4.0, "1Y": 4.04, "2Y": 4.25, "3Y": 4.31, "5Y": 4.41, "7Y": 4.56, "10Y": 4.72, "20Y": 5.25, "30Y": 5.25} data2 = [] for key in data: if key != 'date': item = [key, data[key]] data2.append(item) pass data3 =dt.treasury_term_data(data2) curve = ts.BootstrappedCurve(type=ts.BootstrapTypes.PiecewiseLogLinearDiscount,day_count=dt.treasury.DAY_COUNT, data=data3) spreads=[['2026-08-10', 0.01],['2027-01-10', 0.01],['2028-01-10', 0.01],['2030-08-10', 0.01],['2035-08-10', 0.01],] spread = ts.SpreadCurve(curve=curve, data=spreads, type=ts.SpreadTypes.SpreadedLinearZeroInterpolatedTermStructure)