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.py24
1 files changed, 14 insertions, 10 deletions
diff --git a/python/exploration/beta_trade.py b/python/exploration/beta_trade.py
index b26eeedb..fe6e5c5c 100644
--- a/python/exploration/beta_trade.py
+++ b/python/exploration/beta_trade.py
@@ -1,8 +1,13 @@
+import sys
+sys.path.append("..")
import math
import os
import pandas as pd
-import feather
-from index_data import index_returns, get_index_quotes
+try:
+ import feather
+except ImportError:
+ pass
+from analytics.index_data import index_returns, get_index_quotes
from arch import arch_model
from math import log, exp, sqrt
import numpy as np
@@ -13,14 +18,13 @@ import matplotlib.pyplot as plt
def calc_returns(index_list=['HY', 'IG'], save_feather=False):
returns = (index_returns(index=index_list, tenor='5yr', years=None).
- reset_index(['tenor','series'], drop=True).
- set_index(['date', 'maturity'], append=True).
+ reset_index(['tenor'], drop=True).
swaplevel(1, 0))
- returns = returns.unstack(level='index').dropna()
- returns = returns.groupby(level='date').nth(-1)['price_return']
- if save_feather:
- feather.write_dataframe(returns.reset_index(),
- os.path.join(os.environ["DATA_DIR"], "index_returns.fth"))
+ returns = returns.groupby(level=['date','index']).nth(-1)['price_return']
+ returns = returns.unstack().dropna()
+ #if save_feather:
+ # feather.write_dataframe(returns.reset_index(),
+ # os.path.join(os.environ["DATA_DIR"], "index_returns.fth"))
return returns
def calc_betas(returns=None, spans=[5, 20], index_list=['HY', 'IG']):
@@ -73,7 +77,7 @@ def spreads_ratio(series=list(range(22, 29)), index=['IG', 'HY'], tenor='5yr'):
return df
def loglik(beta, returns):
- x = (returns.hy - beta*returns.ig)
+ x = (returns.HY - beta*returns.IG)
model = AR(x, missing='drop')
fit = model.fit(maxlag=2)
return - fit.llf