Overall Statistics |
Total Trades 75 Average Win 20.00% Average Loss -2.04% Compounding Annual Return 9.454% Drawdown 35.600% Expectancy 2.439 Net Profit 731.383% Sharpe Ratio 0.715 Probabilistic Sharpe Ratio 6.293% Loss Rate 68% Win Rate 32% Profit-Loss Ratio 9.81 Alpha 0.086 Beta 0.203 Annual Standard Deviation 0.15 Annual Variance 0.023 Information Ratio 0.012 Tracking Error 0.212 Treynor Ratio 0.529 Total Fees $134.92 Estimated Strategy Capacity $53000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X |
class CalmBrownTermite(QCAlgorithm): def Initialize(self): self.SetStartDate(1998, 1, 2) self.SetCash(10000) self.spy = self.AddEquity("SPY", Resolution.Minute).Symbol self.Fast = self.SMA(self.spy,50,Resolution.Daily) self.Slow = self.SMA(self.spy,200,Resolution.Daily) self.previous = self.Time.min self.Tolerance = 0.00015 def OnData(self, data): if not self.Slow.IsReady :return if self.previous is None or self.previous.day==self.Time.day:return holdings = self.Portfolio[self.spy].Quantity if holdings<=0: if self.Fast.Current.Value>self.Slow.Current.Value*(1+self.Tolerance): self.SetHoldings(self.spy,1) self.Debug("BUY >> " + str(self.Securities[self.spy].Price)) else: if self.Fast<self.Slow: self.SetHoldings(self.spy,-1) if self.Portfolio[self.spy].UnrealizedProfit<= -420: self.Debug("Sell at "+str(self.Securities[self.spy].Price)) self.Liquidate() self.previous = self.Time