Looking at
def perf_stats(p):
cum_s = p.cumulative_performance.ending_portfolio_value
delta = cum_s.index[-1] - cum_s.index[0]
years = float(delta.days)/364.0
cagr = (cum_s[-1]/cum_s[0])**(1.0/years) - 1.0
print('cagr: {:.2f}'.format(cagr * 100))
date_max_dd = p.risk.max_drawdown.idxmin()
print('a max Draw Down of {:.2f} occured on: {}'.format(p.risk.max_drawdown[date_max_dd], date_max_dd))
print('mean Sharpe: {:.2f}'.format(p.risk.sharpe.dropna().mean()))
# All Weather Portfolio, 2007 - late March 2020 5e80c63eed0f284592b0aa27
bt = get_backtest('5e80c63eed0f284592b0aa27')
perf_stats(bt)
# All Weather Portfolio, 2007 - Jan 1st, 2020 5e81153994b8f545bc9833e4
bt = get_backtest('5e81153994b8f545bc9833e4')
perf_stats(bt)
# SPY, 2007 - Jan 1st, 2020 5e811c560714a445a319496d
bt = get_backtest('5e811c560714a445a319496d')
perf_stats(bt)
# SPY, 2007 - late March 2020, 5e811d7e55927045c2ee6246
bt = get_backtest('5e811d7e55927045c2ee6246')
perf_stats(bt)
Strategy | Period | Sharpe | CAGR | maxDD |
---|---|---|---|---|
All Weather Portfolio | 2007 - late March 2020 | 0.75 | 6.13% | 17% |
All Weather Portfolio | 2007 - Jan 1st, 2020 | 0.75 | 6.16% | 17% |
SPY | 2007 - Jan 1st, 2020 | 0.24 | 8.37% | 54% |
SPY | 2007 - late March 2020 | 0.24 | 6.33% | 54% |