Overall Statistics |
Total Trades 420 Average Win 1.60% Average Loss -1.71% Compounding Annual Return 1.328% Drawdown 24.800% Expectancy 0.078 Net Profit 25.984% Sharpe Ratio 0.183 Probabilistic Sharpe Ratio 0.010% Loss Rate 44% Win Rate 56% Profit-Loss Ratio 0.94 Alpha 0.014 Beta -0.007 Annual Standard Deviation 0.074 Annual Variance 0.006 Information Ratio -0.274 Tracking Error 0.186 Treynor Ratio -2.049 Total Fees $2275.08 |
# https://quantpedia.com/Screener/Details/41 class TurnOfMonthSPY(QCAlgorithm): def Initialize(self): self.SetStartDate(2001, 1, 11) # Set Start Date self.SetEndDate(2018, 7, 11) # Set End Date self.SetCash(100000) # Set Strategy Cash self.days = 0 self.spy = self.AddEquity("SPY", Resolution.Daily).Symbol # This event triggers the algorithm to purchase during the last trading day of the month self.Schedule.On( self.DateRules.MonthEnd(self.spy), self.TimeRules.AfterMarketOpen(self.spy, 1), self.Purchase) def Purchase(self): ''' Immediately purchases the ETF at market opening ''' self.SetHoldings(self.spy, 1) self.days = 0 def OnData(self, data): if self.Portfolio.Invested: self.days += 1 # Liquidates after 3 days if self.days > 3: self.Liquidate(self.spy, 'Liquidate after 3 days')