aboutsummaryrefslogtreecommitdiffstats
path: root/python/exploration/curve_trades.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/exploration/curve_trades.py')
-rw-r--r--python/exploration/curve_trades.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/python/exploration/curve_trades.py b/python/exploration/curve_trades.py
index 1169f215..6a8c6cce 100644
--- a/python/exploration/curve_trades.py
+++ b/python/exploration/curve_trades.py
@@ -11,3 +11,17 @@ spreads_diff = spreads.diff(axis=1)
spreads_diff = spreads_diff.filter([5, 7, 10])
spreads_diff.columns = ['3-5', '5-7', '7-10']
spreads_diff.plot()
+
+## look at returns
+df = index_returns(index='IG', series=[24, 25, 26, 27, 28], tenor=['3yr', '5yr', '7yr', '10yr'])
+## on-the-run returns
+returns = df.price_return.unstack(-1).dropna().groupby(level='date').nth(-1)
+strategy510 = returns['5yr'] - 0.56 * returns['10yr']
+strategy710 = returns['5yr'] - 0.75 * returns['10yr']
+strategy3510 = -2*returns['3yr']+3*returns['5yr'] - returns['10yr']
+monthly_returns510 = strategy510.groupby(pd.TimeGrouper(freq='M')).agg(lambda df:(1+df).prod()-1)
+monthly_returns710 = strategy710.groupby(pd.TimeGrouper(freq='M')).agg(lambda df:(1+df).prod()-1)
+
+sharpe510 = strategy510.mean()/strategy510.std()*math.sqrt(252)
+sharpe710 = strategy710.mean()/strategy710.std()*math.sqrt(252)
+sharpe3510 = strategy3510.mean()/strategy3510.std()*math.sqrt(252)