QuantRocket logo


Sell-on-Gap Strategy › Part 5: Backtest


Backtest¶

Now we are ready to run a backtest. Open a flightlog terminal to monitor the progress and performance statistics while the backtest runs:

In [1]:
from quantrocket.zipline import backtest
backtest(
    "sell-gap", 
    start_date="2014-01-03", 
    end_date="2020-09-30", 
    capital_base=2e5,
    filepath_or_buffer="sell_gap_backtest_results.csv", 
    progress="M")

Then view the pyfolio tear sheet:

In [2]:
import pyfolio
pyfolio.from_zipline_csv("sell_gap_backtest_results.csv")
Start date2014-01-06
End date2020-09-30
Total months80
Backtest
Annual return8.728%
Cumulative returns75.687%
Annual volatility7.488%
Sharpe ratio1.15
Calmar ratio1.08
Stability0.92
Max drawdown-8.051%
Omega ratio1.48
Sortino ratio1.88
Skew1.14
Kurtosis22.89
Tail ratio1.53
Daily value at risk-0.909%
Alpha0.09
Beta-0.02
Worst drawdown periodsNet drawdown in %Peak dateValley dateRecovery dateDuration
08.052015-05-202015-08-242015-11-03120
17.372019-01-152019-07-31NaTNaN
25.482014-05-232014-10-222015-01-09166
33.732016-07-212016-08-052016-10-2569
43.312016-11-022017-05-102017-06-15162
Stress Eventsmeanminmax
Apr140.02%-0.63%1.20%
Oct140.03%-1.38%1.09%
Fall2015-0.09%-3.83%0.74%
2018 Bear Market0.02%-0.96%1.71%
COVID-19-0.01%-1.17%0.68%

Next Up¶

Part 6: Trade Inspection