#!/usr/bin/env python # coding: utf-8 # In[1]: get_ipython().run_line_magic('load_ext', 'watermark') get_ipython().run_line_magic('watermark', '') from copy import deepcopy import pickle import os import pandas as pd import pandas_datareader.data as web from pandas.tseries.offsets import Week import numpy as np import sklearn.mixture as mix from sklearn.externals import joblib import scipy.stats as scs from math import ceil import matplotlib as mpl import matplotlib.pyplot as plt get_ipython().run_line_magic('matplotlib', 'inline') import seaborn as sns sns.set(font_scale=1.25) style_kwds = {'xtick.major.size': 3, 'ytick.major.size': 3, 'font.family':'Courier Prime Code', 'legend.frameon': True} # sns.set_style('white', style_kwds) import missingno as msno from tqdm import tqdm import affirm import warnings warnings.filterwarnings("ignore") import re p=print p() get_ipython().run_line_magic('watermark', '-p pandas,pandas_datareader,numpy,scipy,sklearn,matplotlib,seaborn') # In[2]: df = pd.read_hdf('GMM_Results_TidyData.h5', 'table') # In[3]: # can view individual results df.query('sym == "SPY"').groupby(['k', 'steps','lookback']).mean().T # In[4]: df.query('sym == "SPY"').groupby(['k', 'steps','lookback'])['sum_ratio'].mean().unstack() # In[5]: ser = df.groupby(['sym', 'lookback'])['median'].mean().unstack().mean(axis=1) ser # In[6]: # median returns by K df1 = df.groupby(['sym', 'k'])['median'].mean().unstack()#.mean(axis=1) df1 # In[7]: # median returns by step df1 = df.groupby(['sym', 'steps'])['median'].mean().unstack()#.mean(axis=1) df1 # In[8]: # sum ratio by step df2 = df.groupby(['sym', 'steps'])['sum_ratio'].mean().unstack()#.mean(axis=1) df2 # In[9]: # fun with facet grids g = sns.FacetGrid(df, col="sym", hue="lookback", col_wrap=3) g.map(plt.hist, "sum_ratio", alpha=0.5); g.add_legend(); for ax in g.axes.flat: ax.axvline(1, color='k', lw=1, ls='--') g.fig.savefig('facetgrid-lookback-steps-sum-ratio-hist.png', dpi=300, bbox_inches='tight') # In[10]: g = sns.FacetGrid(df, col="sym", hue="lookback", col_wrap=3) g.map(plt.hist, "median", alpha=0.5); g.add_legend(); for ax in g.axes.flat: ax.axvline(0, color='k', lw=1, ls='--') g.fig.savefig('facetgrid-lookback-steps-median-return-hist.png', dpi=300, bbox_inches='tight') # In[11]: g = sns.FacetGrid(df, col="sym", hue="lookback", col_wrap=3) g.map(sns.barplot, "steps", "median", ci=None, alpha=0.5) g.add_legend(); for ax in g.axes.flat: ax.axhline(0, color='k', lw=1, ls='--') g.fig.savefig('facetgrid-lookback-steps-median-return-barplot.png', dpi=300, bbox_inches='tight') # In[12]: g = sns.FacetGrid(df, col="sym", hue="lookback", col_wrap=3) g.map(sns.barplot, "steps", "sum_ratio", ci=None, alpha=0.5) g.add_legend(); for ax in g.axes.flat: ax.axhline(1., color='k', lw=1, ls='--') g.fig.savefig('facetgrid-lookback-steps-sum-ratio-barplot.png', dpi=300, bbox_inches='tight') # In[13]: g = sns.FacetGrid(df, col="sym", hue="lookback", col_wrap=3) g.map(sns.barplot, "k", "median", ci=None, alpha=0.5) g.add_legend(); for ax in g.axes.flat: ax.axhline(0, color='k', lw=1, ls='--') g.fig.savefig('facetgrid-lookback-k-median-return-barplot.png', dpi=300, bbox_inches='tight') # In[14]: g = sns.FacetGrid(df, col="sym", hue="lookback", col_wrap=3) g.map(sns.barplot, "k", "sum_ratio", ci=None, alpha=0.5) g.add_legend(); for ax in g.axes.flat: ax.axhline(1., color='k', lw=1, ls='--') g.fig.savefig('facetgrid-lookback-k-sum-ratio-barplot.png', dpi=300, bbox_inches='tight')