Overall Statistics |
Total Trades 3 Average Win 0% Average Loss -27.09% Compounding Annual Return 3.217% Drawdown 33.700% Expectancy -1 Net Profit 4.920% Sharpe Ratio 0.207 Probabilistic Sharpe Ratio 12.217% Loss Rate 100% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.092 Beta 0.727 Annual Standard Deviation 0.198 Annual Variance 0.039 Information Ratio -1.199 Tracking Error 0.118 Treynor Ratio 0.056 Total Fees $4.42 Estimated Strategy Capacity $68000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X |
from AlgorithmImports import * class IndexDataAlgorithm(QCAlgorithm): def Initialize(self): self.SetStartDate(2020, 1, 1) self.SetEndDate(2021, 7, 8) self.SetCash(100000) # Trade on SPY self.spy = self.AddEquity("SPY").Symbol # Use indicator for signal; but it cannot be traded spx = self.AddIndex("SPX").Symbol self.emaFast = self.EMA(spx, 80, Resolution.Daily) self.emaSlow = self.EMA(spx, 200, Resolution.Daily) self.SetWarmUp(200, Resolution.Daily) history = self.History(spx, 60, Resolution.Daily) self.Debug(f'We got {len(history.index)} items from our history request') def OnData(self, data): # Warm up indicators if self.IsWarmingUp or not self.emaSlow.IsReady: return if not self.Portfolio.Invested and self.emaFast > self.emaSlow: self.SetHoldings(self.spy, 1) elif self.emaFast < self.emaSlow: self.Liquidate()