aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/analytics/basket_index.py3
-rw-r--r--python/analytics/index_data.py13
2 files changed, 10 insertions, 6 deletions
diff --git a/python/analytics/basket_index.py b/python/analytics/basket_index.py
index a9dedbc6..baaa23a2 100644
--- a/python/analytics/basket_index.py
+++ b/python/analytics/basket_index.py
@@ -233,7 +233,8 @@ class MarkitBasketIndex(BasketIndex):
value_date: pd.Timestamp=pd.Timestamp.today().normalize() - BDay()):
super().__init__(index_type, series, tenors, value_date=value_date)
self.index_quotes = (get_index_quotes(index_type, series,
- tenors, years=None)['closeprice'].
+ tenors, years=None,
+ remove_holidays=False)['closeprice'].
unstack().
groupby(level='date', as_index=False).nth(0).
reset_index(['index', 'series', 'version'], drop=True))
diff --git a/python/analytics/index_data.py b/python/analytics/index_data.py
index 687481cd..5cfb490a 100644
--- a/python/analytics/index_data.py
+++ b/python/analytics/index_data.py
@@ -45,8 +45,10 @@ def insert_quotes():
"VALUES(%s, %s, %s, %s, %s, %s)",
(tup.Index, 'HY', tup.series, tup.version+1, tup.tenor, version2_price))
-def get_index_quotes(index=None, series=None, tenor=None, from_date=None, years=3):
+def get_index_quotes(index=None, series=None, tenor=None, from_date=None, years=3,
+ remove_holidays=True):
args = locals().copy()
+ del args['remove_holidays']
if args['years'] is not None:
args['date'] = (pd.Timestamp.now() - pd.DateOffset(years=years)).date()
del args['years']
@@ -80,10 +82,11 @@ def get_index_quotes(index=None, series=None, tenor=None, from_date=None, years=
df = df.set_index('tenor', append=True)
df.sort_index(inplace=True)
## get rid of US holidays
- dates = df.index.levels[0]
- if index in ['IG', 'HY']:
- holidays = bond_cal().holidays(start=dates[0], end=dates[-1])
- df = df.loc(axis=0)[dates.difference(holidays),:,:]
+ if remove_holidays:
+ dates = df.index.levels[0]
+ if index in ['IG', 'HY']:
+ holidays = bond_cal().holidays(start=dates[0], end=dates[-1])
+ df = df.loc(axis=0)[dates.difference(holidays),:,:]
return df
def index_returns(df=None, index=None, series=None, tenor=None, from_date=None, years=3, per=1):