| Overall Statistics |
|
Total Trades 4632 Average Win 0.63% Average Loss -0.70% Compounding Annual Return -1.835% Drawdown 38.800% Expectancy -0.014 Net Profit -28.914% Sharpe Ratio -0.11 Loss Rate 48% Win Rate 52% Profit-Loss Ratio 0.90 Alpha -0.053 Beta 2.029 Annual Standard Deviation 0.112 Annual Variance 0.012 Information Ratio -0.29 Tracking Error 0.112 Treynor Ratio -0.006 Total Fees $17372.35 |
# https://quantpedia.com/Screener/Details/4
# buy SPY ETF at its closing price and sell it at the opening each day.
import numpy as np
class OvernightTradeAlgorithm(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2000, 1, 1) #Set Start Date
self.SetEndDate(2018, 6, 1) #Set End Date
self.SetCash(100000) #Set Strategy Cash
self.spy = self.AddEquity("SPY", Resolution.Hour).Symbol
self.SetBrokerageModel(BrokerageName.InteractiveBrokersBrokerage)
self.Schedule.On(self.DateRules.EveryDay(self.spy), self.TimeRules.AfterMarketOpen("SPY", 0), self.EveryDayAfterMarketOpen)
self.Schedule.On(self.DateRules.EveryDay(self.spy), self.TimeRules.BeforeMarketClose("SPY", 0), self.EveryDayBeforeMarketClose)
def EveryDayBeforeMarketClose(self):
if not self.Portfolio.Invested:
self.SetHoldings(self.spy, 1)
def EveryDayAfterMarketOpen(self):
if self.Portfolio.Invested:
self.Liquidate()
def OnData(self, data):
pass