Overall Statistics |
Total Trades 965 Average Win 0% Average Loss -0.66% Compounding Annual Return -100.000% Drawdown 95.200% Expectancy -1 Net Profit -95.157% Sharpe Ratio -0.369 Probabilistic Sharpe Ratio 0.000% Loss Rate 100% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.434 Beta -4.107 Annual Standard Deviation 2.709 Annual Variance 7.339 Information Ratio -0.49 Tracking Error 2.752 Treynor Ratio 0.243 Total Fees $965.00 Estimated Strategy Capacity $2900000.00 Lowest Capacity Asset SPY R735QTJ8XC9X |
#region imports from AlgorithmImports import * #endregion # MACD, EMA(MACD), MACD.Signal MA_FAST = 12; MA_SLOW = 26; MA_SIGNAL = 9; TYPE = "Exponential" class MACD_SignalCrossover(QCAlgorithm): def Initialize(self): self.SetStartDate(2008, 1, 19) self.SetEndDate(2008, 2, 26) self.SetCash(1000) self.AddEquity("SPY", Resolution.Minute).Symbol self.macd = self.MACD("SPY", MA_FAST, MA_SLOW, MA_SIGNAL, MovingAverageType.Exponential, Resolution.Minute ) self.macd_ema = IndicatorExtensions.EMA(self.macd, MA_SIGNAL) self.SetWarmUp(MA_SLOW*5) def OnData(self, data): if not self.macd_ema.IsReady: return macd = self.macd.Current.Value macd_signal = self.macd.Signal.Current.Value macd_signal_2 = self.macd_ema.Current.Value self.Plot("MACD", "macd_signal", self.macd.Signal.Current.Value) self.Plot("MACD", "macd_ema", self.macd_ema.Current.Value) self.Plot("MACD", "Zero", 0) if macd > macd_signal: self.SetHoldings("SPY", 1) self.StopMarketOrder("SPY", -1, 1.01 * self.Securities["SPY"].Close)