aboutsummaryrefslogtreecommitdiffstats
path: root/python/exploration/beta_trade.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/exploration/beta_trade.py')
-rw-r--r--python/exploration/beta_trade.py21
1 files changed, 11 insertions, 10 deletions
diff --git a/python/exploration/beta_trade.py b/python/exploration/beta_trade.py
index 4b895c94..8563f11b 100644
--- a/python/exploration/beta_trade.py
+++ b/python/exploration/beta_trade.py
@@ -11,23 +11,24 @@ from statsmodels.tsa.ar_model import AR
import matplotlib.pyplot as plt
-def calc_returns():
- returns = index_returns(index=['IG', 'HY'], tenor='5yr')
+def calc_returns(save_feather=False):
+ returns = (index_returns(index=['IG', 'HY'], tenor='5yr', years=None).
+ reset_index('tenor', drop=True))
returns_hy = (returns.
xs('HY', level=1).
dropna().
- reset_index(level='series').
- groupby(level=['date']).
+ groupby(level=['date'], as_index=False).
nth(-1))
- returns_hy = returns_hy.set_index('series', append=True)
- returns_ig = returns.xs('IG', level=1).reset_index('tenor', drop=True)
+ returns_ig = returns.xs('IG', level=1)
# hy starts trading later than ig, so we line it up based on hy series
df = pd.merge(returns_hy, returns_ig, left_index=True, right_index=True,
- suffixes=('_hy','_ig'))
+ suffixes=('_hy','_ig'))
returns = df[['price_return_hy', 'price_return_ig']]
returns.columns = ['hy', 'ig']
- #feather.write_dataframe(returns.reset_index(),
- # os.path.join(os.environ["DATA_DIR"], "index_returns.fth"))
+ returns = returns.dropna()['2009-03-20':]
+ if save_feather:
+ feather.write_dataframe(returns.reset_index(),
+ os.path.join(os.environ["DATA_DIR"], "index_returns.fth"))
return returns.reset_index('series', drop=True)
def calc_betas(returns=None, spans=[5, 20]):
@@ -81,7 +82,7 @@ def spreads_ratio(series=list(range(22, 29)), index=['IG', 'HY'], tenor='5yr'):
def loglik(beta, returns):
x = (returns.hy - beta*returns.ig)
model = AR(x, missing='drop')
- fit = model.fit(maxlag=1)
+ fit = model.fit(maxlag=2)
return - fit.llf
if __name__ == "__main__":