diff options
Diffstat (limited to 'python/analytics/index_data.py')
| -rw-r--r-- | python/analytics/index_data.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/python/analytics/index_data.py b/python/analytics/index_data.py index 48aa9331..6f0a5749 100644 --- a/python/analytics/index_data.py +++ b/python/analytics/index_data.py @@ -128,9 +128,10 @@ def index_returns(df=None, index=None, series=None, tenor=None, from_date=None, df = df.reset_index('date').join(coupon_data).reset_index('tenor') df.tenor = df.tenor.astype(tenor_t) df = df.set_index(['tenor'], append=True) - df['day_frac'] = (df.groupby(level=['index', 'series', 'tenor']).diff(). - date. - astype('timedelta64[D]') / 360) + df['day_frac'] = (df.groupby(level=['index', 'series', 'tenor'])['date']. + transform(lambda s: s. + diff(). + astype('timedelta64[D]') / 360)) df['price_return'] += df.day_frac * df.coupon df = df.drop(['day_frac', 'coupon', 'maturity'], axis=1) return df.set_index(['date'], append=True) @@ -175,12 +176,12 @@ def _get_singlenames_curves(index_type, series, trade_date, tenors): sn_quotes = get_singlenames_quotes(f"{index_type.lower()}{series}", trade_date) currency = "EUR" if index_type in ["XO", "EU"] else "USD" - args = (tenors, currency) + args = (np.array(tenors), currency) return build_curves_dist(sn_quotes, args) def get_singlenames_curves(index_type, series, trade_date, - tenors=np.array([0.5, 1, 2, 3, 4, 5, 7, 10])): + tenors=(0.5, 1, 2, 3, 4, 5, 7, 10)): if isinstance(trade_date, pd.Timestamp): trade_date = trade_date.date() return _get_singlenames_curves(index_type, series, |
