aboutsummaryrefslogtreecommitdiffstats
path: root/python/index_data.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/index_data.py')
-rw-r--r--python/index_data.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/python/index_data.py b/python/index_data.py
index dbe60a2e..3be3b20f 100644
--- a/python/index_data.py
+++ b/python/index_data.py
@@ -113,7 +113,7 @@ def index_returns(df=None, index=None, series=None, tenor=None, from_date=None,
pct_change(periods=per))
df.columns = ['spread_return', 'price_return']
df = df.groupby(level=['date', 'index', 'series', 'tenor']).nth(0)
- coupon_data = pd.read_sql_query("SELECT index, series, tenor, coupon FROM " \
+ coupon_data = pd.read_sql_query("SELECT index, series, tenor, coupon, maturity FROM " \
"index_maturity WHERE coupon is NOT NULL", _serenitas_engine,
index_col=['index', 'series', 'tenor'])
def add_accrued(df):
@@ -125,6 +125,10 @@ def index_returns(df=None, index=None, series=None, tenor=None, from_date=None,
df['price_return'] = (df.
groupby(level=['index', 'series', 'tenor'])['price_return'].
transform(add_accrued))
+
+ df = df.reset_index().merge(coupon_data.maturity.reset_index(),on=['index','series','tenor'])
+ df.set_index(['date', 'index', 'series', 'tenor', 'maturity'], inplace=True)
+
return df
def get_singlenames_quotes(indexname, date):