Notebook
In [6]:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
In [2]:
bt = get_backtest('57c13dc1ecadad100b744239')
100% Time: 0:10:17|###########################################################|
In [4]:
bt.create_full_tear_sheet()
Entire data start date: 2004-01-06
Entire data end date: 2016-08-18


Backtest Months: 151
                   Backtest
annual_return          0.13
annual_volatility      0.07
sharpe_ratio           1.74
calmar_ratio           1.19
stability              0.92
max_drawdown          -0.11
omega_ratio            1.38
sortino_ratio          2.89
skewness               1.05
kurtosis              12.67
information_ratio      0.02
alpha                  0.12
beta                   0.07

Worst Drawdown Periods
   net drawdown in %  peak date valley date recovery date duration
1              11.13 2009-01-09  2009-03-06    2009-03-23       52
0               7.37 2015-07-16  2016-02-03    2016-04-21      201
2               4.90 2016-04-29  2016-07-06           NaT      NaN
3               4.27 2012-10-12  2012-11-23    2013-05-09      150
4               4.08 2014-02-11  2014-05-07    2014-10-16      178


2-sigma returns daily    -0.009
2-sigma returns weekly   -0.020
dtype: float64
/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py:892: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.
  warnings.warn(self.msg_depr % (key, alt_key))
Stress Events
                                    mean    min    max
Lehmann                            0.003 -0.014  0.021
US downgrade/European Debt Crisis  0.001 -0.005  0.010
Fukushima                          0.001 -0.004  0.006
EZB IR Event                       0.000 -0.006  0.007
Aug07                              0.003 -0.006  0.012
Mar08                              0.000 -0.012  0.014
Sept08                             0.002 -0.014  0.021
2009Q1                            -0.001 -0.023  0.020
2009Q2                             0.004 -0.013  0.025
Flash Crash                        0.000 -0.011  0.005
Apr14                             -0.000 -0.022  0.005
Oct14                              0.000 -0.006  0.006
Fall2015                          -0.000 -0.010  0.006
Low Volatility Bull Market         0.000 -0.018  0.013
GFC Crash                          0.001 -0.036  0.054
Recovery                           0.000 -0.017  0.016
New Normal                         0.000 -0.022  0.043

Top 10 long positions of all time (and max%)
[u'AEE-24783' u'USB-25010' u'SCG-6701' u'CVX-23112' u'PGN-22332'
 u'XOM-8347' u'BAC-700' u'BBT-16850' u'MRK-5029' u'JNJ-4151']
[ 0.175  0.174  0.165  0.163  0.161  0.158  0.158  0.147  0.146  0.145]


Top 10 short positions of all time (and max%)
[u'JNJ-4151' u'JPM-25006' u'WFC-8151' u'BRK_B-11100' u'XOM-8347'
 u'SGP-6836' u'CVX-23112' u'PAA-15700' u'ETP-26073' u'MRK-5029']
[-0.219 -0.165 -0.163 -0.161 -0.15  -0.149 -0.143 -0.142 -0.137 -0.135]


Top 10 positions of all time (and max%)
[u'JNJ-4151' u'AEE-24783' u'USB-25010' u'JPM-25006' u'SCG-6701' u'WFC-8151'
 u'CVX-23112' u'PGN-22332' u'BRK_B-11100' u'XOM-8347']
[ 0.219  0.175  0.174  0.165  0.165  0.163  0.163  0.161  0.161  0.158]


All positions ever held
[u'JNJ-4151' u'AEE-24783' u'USB-25010' u'JPM-25006' u'SCG-6701' u'WFC-8151'
 u'CVX-23112' u'PGN-22332' u'BRK_B-11100' u'XOM-8347' u'BAC-700'
 u'SGP-6836' u'BBT-16850' u'MRK-5029' u'PFE-5923' u'BLK-20689' u'ED-2434'
 u'PEG-5862' u'LLY-4487' u'PAA-15700' u'PPL-6119' u'STI-7152' u'NOV-24809'
 u'ETP-26073' u'DTE-2330' u'MCK-12350' u'ABT-62' u'BDX-794' u'SO-7011'
 u'CB-8580' u'NBR-5214' u'KMP-2546' u'SYK-7178' u'BMY-980' u'CAH-1376'
 u'SE-33030' u'COP-23998' u'D-2071' u'DVN-2368' u'ES-5484' u'FTI-22784'
 u'PGR-5950' u'PNC-6068' u'DGX-16348' u'AMGN-368' u'POM-6098' u'MDT-4758'
 u'BAX-734' u'AIG-239' u'MMC-4914' u'BK-903' u'WB-25007' u'WEC-8140'
 u'AGN-205' u'EOG-2564' u'L-4569' u'SLB-6928' u'XEL-21964' u'ALL-24838'
 u'ONE-5669' u'AEP-161' u'VLO-7990' u'CMS-1665' u'UNH-7792' u'HAL-3443'
 u'BHI-858' u'NCC-5226' u'C-1335' u'AET-168' u'EIX-14372' u'WYE-23555'
 u'KSE-17541' u'HES-216' u'MHS-25445' u'TRV-7041' u'HCBK-20374' u'DO-13635'
 u'NEE-2968' u'BR-1072' u'BEN-812' u'AFL-185' u'DUK-2351' u'MTB-5117'
 u'UCL-7702' u'CVS-4799' u'TROW-7590' u'NST-20642' u'NI-5310' u'PXD-17436'
 u'XTO-9074' u'HFC-3620' u'MDU-4760' u'ESV-2621' u'EPD-19079' u'CIN-1550'
 u'ETR-2637' u'AXP-679' u'APA-448' u'FITB-2855' u'MRO-5035' u'PNW-6090'
 u'TEG-8264' u'SRE-24778' u'ANTM-23103' u'WMB-8214' u'WPZ-27577'
 u'SII-6884' u'KMI-40852' u'MS-17080' u'EXC-22114' u'PRU-23328' u'CI-1539'
 u'CB-1274' u'ESRX-2618' u'OXY-5729' u'APC-455' u'MUR-5126' u'GAS-595'
 u'TSO-7612' u'MA-32146' u'FE-17850' u'MET-21418' u'CEG-20066' u'BPL-1057'
 u'SEP-34102' u'CAM-13176' u'ZBH-23047' u'V-35920' u'SWN-7244' u'COV-34010'
 u'ETE-28056' u'AYE-17618' u'LNT-18584' u'STT-7139' u'MER-4796'
 u'BIIB-3806' u'NBL-5213' u'GS-20088' u'WR-8265' u'AON-438' u'ALXN-14328'
 u'PSX-42788' u'PCG-5792' u'WFT-19336' u'MPC-41636' u'STJ-7156' u'SUN-7211'
 u'NTRS-5479' u'OKS-9804' u'AWK-36098' u'TMO-7493' u'PPP-6127' u'GSF-23206'
 u'CHK-8461' u'GILD-3212' u'UGI-7739' u'EAS-18745' u'KMG-4266' u'BJS-902'
 u'CME-24475' u'CELG-1406' u'BMET-967' u'WLP-8210' u'ACL-23477' u'HP-3647'
 u'GENZ-3166' u'CNP-24064' u'WTR-6193' u'GDT-12321' u'INT-3950'
 u'BWP-27779' u'HIG-14064' u'WU-32603' u'NVE-7107' u'FRE-2988' u'A-24757'
 u'EP-2568' u'ICE-27809' u'FNM-2925' u'MMP-22482' u'OGE-5607' u'ISRG-25339'
 u'SCHW-6704' u'ATO-612' u'EQT-2587' u'UPL-22406' u'CQH-46004' u'DFS-34011'
 u'NYCB-22250' u'BCR-779' u'REGN-6413' u'COG-1746' u'AMP-27676' u'BSX-1131'
 u'PBCT-5769' u'EPE-27582' u'FRX-3014' u'WPZ-39963' u'CXO-34440'
 u'OKE-5634' u'AMTD-16586' u'DNA-24847' u'EEP-23061' u'HUM-3718'
 u'ABBV-43694' u'MIR-27990' u'COF-12160' u'SHLX-47973' u'MWE-23707'
 u'EQM-43107' u'ITC-27492' u'ABC-22954' u'CHIR-1499' u'RF-34913'
 u'NDAQ-27026' u'TFSL-33718' u'HCA-41047' u'PRGO-6161' u'SXL-23465'
 u'KMI-20744' u'GDW-3144' u'ILMN-21774' u'DPL-2270' u'TE-7369' u'AGN-8572'
 u'WES-36186' u'NRG-26143' u'CLR-33856' u'WGP-43690' u'PSXP-45132'
 u'LH-12909' u'RIG-9038' u'RRC-19249' u'AR-45618' u'ZTS-44060' u'KRB-4298'
 u'AES-166' u'NYX-28145' u'IVZ-16589' u'MYL-5166' u'LIFE-19800' u'BX-34067'
 u'FBF-25132' u'HSP-26243' u'EPB-36580' u'CLB-13508' u'CPN-35531'
 u'AM-48018' u'PAGP-45668' u'WLTW-22857' u'TLLP-41297' u'TRGP-40547'
 u'NFX-10231' u'SUN-43415' u'CFC-1359' u'EW-21382' u'CNX-24758'
 u'KKR-39905' u'UNM-7797' u'GEN-22720' u'SYF-47415' u'INCY-10187'
 u'GEL-16005' u'TAP_A-23543' u'TXU-7677' u'ENBL-46743' u'CZZ-34560'
 u'TGN-24586' u'VRTX-8045' u'UNH_WI-22283']
[ 0.219  0.175  0.174  0.165  0.165  0.163  0.163  0.161  0.161  0.158
  0.158  0.149  0.147  0.146  0.143  0.143  0.143  0.142  0.142  0.142
  0.142  0.139  0.138  0.137  0.136  0.134  0.133  0.133  0.131  0.13   0.13
  0.129  0.128  0.128  0.128  0.126  0.125  0.125  0.124  0.123  0.123
  0.122  0.122  0.121  0.121  0.121  0.12   0.119  0.118  0.118  0.118
  0.117  0.117  0.115  0.114  0.113  0.112  0.111  0.11   0.11   0.109
  0.109  0.108  0.108  0.106  0.105  0.105  0.104  0.104  0.104  0.104
  0.104  0.103  0.103  0.103  0.103  0.103  0.103  0.103  0.103  0.102
  0.102  0.102  0.102  0.102  0.102  0.101  0.1    0.1    0.099  0.099
  0.099  0.099  0.099  0.099  0.099  0.099  0.098  0.097  0.097  0.097
  0.097  0.096  0.096  0.096  0.095  0.095  0.095  0.095  0.094  0.094
  0.093  0.093  0.092  0.092  0.091  0.091  0.091  0.09   0.09   0.09   0.09
  0.09   0.09   0.09   0.09   0.088  0.088  0.088  0.087  0.087  0.087
  0.087  0.086  0.086  0.086  0.086  0.086  0.085  0.085  0.085  0.085
  0.085  0.085  0.084  0.084  0.084  0.084  0.083  0.083  0.083  0.083
  0.082  0.082  0.081  0.081  0.08   0.08   0.08   0.079  0.079  0.078
  0.077  0.077  0.077  0.077  0.077  0.076  0.076  0.075  0.074  0.074
  0.074  0.073  0.073  0.072  0.072  0.072  0.071  0.071  0.071  0.071
  0.07   0.07   0.069  0.069  0.068  0.068  0.066  0.065  0.065  0.065
  0.064  0.064  0.064  0.062  0.061  0.061  0.061  0.06   0.06   0.059
  0.059  0.058  0.057  0.056  0.056  0.054  0.054  0.054  0.054  0.054
  0.054  0.053  0.053  0.053  0.052  0.052  0.052  0.051  0.051  0.051
  0.05   0.05   0.05   0.05   0.049  0.049  0.048  0.048  0.046  0.045
  0.044  0.044  0.043  0.041  0.041  0.041  0.04   0.04   0.039  0.039
  0.038  0.038  0.037  0.037  0.036  0.034  0.034  0.033  0.033  0.032
  0.032  0.031  0.03   0.029  0.028  0.026  0.025  0.024  0.023  0.02
  0.019  0.017  0.017  0.012  0.01   0.008  0.004  0.001]


In [19]:
plt.plot(bt.risk.alpha.index, bt.risk.alpha.values);
plt.ylabel('Single Factor Market Alpha');