Overall Statistics |
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio -1.038 Tracking Error 0.193 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
from System.Drawing import Color class SquareFluorescentPinkSardine(QCAlgorithm): def Initialize(self): self.SetStartDate(2019, 1, 1) self.SetEndDate(2021, 7, 11) self.SetCash(100000) # Set Strategy Cash self.spy = self.AddEquity("SPY", Resolution.Hour).Symbol self.Schedule.On(self.DateRules.MonthStart("SPY"), self.TimeRules.At(15, 0), Action(self.SMA_signal)) self.SetBenchmark("SPY") self.fast = self.SMA(self.spy, 20, Resolution.Daily); self.slow = self.SMA(self.spy, 60, Resolution.Daily); smaPlot = Chart('SMA Chart') smaPlot.AddSeries(Series('fast_s', SeriesType.Line, '$', Color.Red)) smaPlot.AddSeries(Series('slow_s', SeriesType.Line, '$', Color.Green)) smaPlot.AddSeries(Series('benchmark', SeriesType.Line, '$', Color.Red)) self.AddChart(smaPlot) def SMA_signal (self): if not self.fast.IsReady: print("fast not ready") return if not self.slow.IsReady: print("slow not ready") return self.fastValue = self.fast.Current.Value self.slowValue = self.slow.Current.Value if self.fastValue < self.slowValue: self.signal = " SELL -" else: self.signal = " BUY - " self.Plot('SMA Chart', 'fast_s', self.fast.Current.Value) self.Plot('SMA Chart', 'slow_s', self.slow.Current.Value) self.Plot('SMA Chart', 'benchmark', self.Securities[self.spy].Close) self.SMA_values = "Fast: " + str(self.fastValue) + ". Slow: " + str(self.slowValue) self.Log("SMA_signal - " + self.signal + self.SMA_values ) return