aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/exploration/beta_trade.py24
-rw-r--r--python/notebooks/Beta & Compression.ipynb26
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,