diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/exploration/beta_trade.py | 24 | ||||
| -rw-r--r-- | python/notebooks/Beta & Compression.ipynb | 26 |
2 files changed, 36 insertions, 14 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 diff --git a/python/notebooks/Beta & Compression.ipynb b/python/notebooks/Beta & Compression.ipynb index 6b88b71c..8ddae861 100644 --- a/python/notebooks/Beta & Compression.ipynb +++ b/python/notebooks/Beta & Compression.ipynb @@ -49,8 +49,8 @@ "outputs": [], "source": [ "# HY -- EU\n", - "df = betas.xs('HY', level='index')\n", - "df = df.xs('EU', level='index', axis = 1)\n", + "df = betas.xs('EU', level='index')\n", + "df = df.xs('HY', level='index', axis = 1)\n", "plt.plot(df)\n", "plt.xlabel('date')\n", "plt.ylabel('beta')\n", @@ -64,7 +64,7 @@ "metadata": {}, "outputs": [], "source": [ - "# HY -- EU\n", + "# IG -- EU\n", "df = betas.xs('EU', level='index')\n", "df = df.xs('IG', level='index', axis = 1)\n", "plt.plot(df)\n", @@ -103,6 +103,24 @@ "execution_count": null, "metadata": {}, "outputs": [], + "source": [ + "run ../exploration/beta_trade.py" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "prog" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [] } ], @@ -122,7 +140,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.1" + "version": "3.6.4" } }, "nbformat": 4, |
