aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/exploration/beta_trade.py15
1 files changed, 5 insertions, 10 deletions
diff --git a/python/exploration/beta_trade.py b/python/exploration/beta_trade.py
index fe6e5c5c..6e146405 100644
--- a/python/exploration/beta_trade.py
+++ b/python/exploration/beta_trade.py
@@ -16,31 +16,28 @@ from statsmodels.tsa.ar_model import AR
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).
+def calc_returns(index_list=['HY', 'IG'], years=None):
+ returns = (index_returns(index=index_list, tenor='5yr', years=years).
reset_index(['tenor'], drop=True).
swaplevel(1, 0))
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']):
if returns is None:
returns = calc_returns(index_list=index_list)
-
+ breakpoint()
return pd.concat([(returns.
ewm(span=span).
cov().
groupby(level='date').
apply(lambda df: df / np.diag(df))) for span in spans], axis=1, keys=spans)
-def plot_betas(betas=None):
+def plot_betas(betas=None, index_list=["HY", "IG"]):
spans = [5, 20]
if betas is None:
- betas = calc_betas(spans=spans)
+ betas = calc_betas(spans=spans, index_list=index_list)
for beta, span in zip(betas, spans):
plt.plot(beta, label='EWMA' + str(span))
plt.xlabel('date')
@@ -67,8 +64,6 @@ def calc_realized_vol(returns=None):
vol = pd.concat([vol_sma, vol_ewma, vol_garch], axis=1, keys=['sma', 'ewma', 'garch'])
return vol
- #feather.write_dataframe(beta_ewma.to_frame('beta'),
- # os.path.join(os.environ['DATA_DIR'], "beta.fth"))
def spreads_ratio(series=list(range(22, 29)), index=['IG', 'HY'], tenor='5yr'):
df = get_index_quotes(series=series, index=index, tenor=tenor)