aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics')
-rw-r--r--python/analytics/index_data.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/python/analytics/index_data.py b/python/analytics/index_data.py
index 8a3cd66a..21da4cbc 100644
--- a/python/analytics/index_data.py
+++ b/python/analytics/index_data.py
@@ -69,23 +69,23 @@ def get_index_quotes(
if args["end_date"] is None:
args["end_date"] = datetime.date.today()
if args["years"] is not None:
- args["date"] = (end_date - pd.DateOffset(years=years)).date()
+ args["from_date"] = (end_date - pd.DateOffset(years=years)).date()
del args["years"]
- if args["from_date"]:
- args["date"] = args["from_date"]
- del args["from_date"]
def make_str(key, val):
+ col_key = key
if isinstance(val, list) or isinstance(val, tuple):
op = "IN"
return "{} IN %({})s".format(key, key)
- elif key == "date":
+ elif key == "from_date":
+ col_key = "date"
op = ">="
elif key == "end_date":
+ col_key = "date"
op = "<="
else:
op = "="
- return "{} {} %({})s".format(key, op, key)
+ return "{} {} %({})s".format(col_key, op, key)
where_clause = " AND ".join(
make_str(k, v) for k, v in args.items() if v is not None
@@ -121,7 +121,14 @@ def get_index_quotes(
def index_returns(
- df=None, index=None, series=None, tenor=None, from_date=None, years=3, per=1
+ df=None,
+ index=None,
+ series=None,
+ tenor=None,
+ from_date=None,
+ end_date=None,
+ years=3,
+ per=1,
):
"""computes spreads and price returns
@@ -142,7 +149,7 @@ def index_returns(
"""
if df is None:
- df = get_index_quotes(index, series, tenor, from_date, years)
+ df = get_index_quotes(index, series, tenor, from_date, end_date, years)
spread_return = df.groupby(
level=["index", "series", "tenor", "version"]
).close_spread.pct_change(periods=per)