diff options
Diffstat (limited to 'python/exploration/beta_trade.py')
| -rw-r--r-- | python/exploration/beta_trade.py | 24 |
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 |
