diff options
Diffstat (limited to 'python/analytics')
| -rw-r--r-- | python/analytics/curve_trades.py | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/python/analytics/curve_trades.py b/python/analytics/curve_trades.py index 6c20994d..34fcf72e 100644 --- a/python/analytics/curve_trades.py +++ b/python/analytics/curve_trades.py @@ -265,23 +265,6 @@ def spread_fin_crisis(index="IG"): plt.show() -def forward_spread( - report_date, index="IG", series=None, tenors=["3yr", "5yr", "7yr", "10yr"] -): - - if series is None: - series = on_the_run(index=index) - b_index = MarkitBasketIndex(index, series, tenors, value_date=report_date) - b_index.tweak() - - f_spread = [] - date_range = pd.bdate_range(pd.datetime.today(), max(b_index.maturities), freq="M") - for d in date_range.date: - b_index.value_date = d - f_spread.append(b_index.spread()) - return pd.concat(f_spread, keys=date_range).unstack(-1) - - def spot_forward(index="IG", series=None, tenors=["3yr", "5yr", "7yr", "10yr"]): """ @@ -300,7 +283,7 @@ def spot_forward(index="IG", series=None, tenors=["3yr", "5yr", "7yr", "10yr"]): ) spreads_1yr.name = "1yr" df = pd.concat([spreads_current, spreads_1yr], axis=1) - maturity_1yr = roll_date(b_index.index_desc.issue_date[0], 1) + maturity_1yr = roll_date(b_index.issue_date, 1) df_0 = pd.DataFrame( {"current": [0.0, b_index.spread(maturity_1yr)], "1yr": [0.0, 0.0]}, index=["0yr", "1yr"], @@ -369,7 +352,7 @@ def curve_shape(value_date, index="IG", percentile=0.95, spread=None): ) df = curve_shape[steepness == steepness.quantile(percentile, "nearest")] - df = df * spread / df["5yr"][0] + df = df * spread[0] / df["5yr"][0] df = df.stack().rename("spread") df = df.reset_index().merge(lookup_table, on=["tenor"]) df["year_frac"] = (df.maturity - pd.to_datetime(value_date)).dt.days / 365 |
