Overall Statistics |
Total Orders 1 Average Win 0% Average Loss 0% Compounding Annual Return 13.686% Drawdown 33.700% Expectancy 0 Start Equity 100000 End Equity 237766.27 Net Profit 137.766% Sharpe Ratio 0.502 Sortino Ratio 0.505 Probabilistic Sharpe Ratio 12.436% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.001 Beta 0.998 Annual Standard Deviation 0.163 Annual Variance 0.027 Information Ratio -0.478 Tracking Error 0.002 Treynor Ratio 0.082 Total Fees $2.07 Estimated Strategy Capacity $920000000.00 Lowest Capacity Asset SPY R735QTJ8XC9X Portfolio Turnover 0.04% |
#region imports from AlgorithmImports import * #endregion class BenchAlgo(QCAlgorithm): def Initialize(self): #self.SetStartDate(2009, 9, 30) # Set Start Date # self.SetStartDate(2010, 1, 1) # Set Start Date # self.SetStartDate(2008, 1, 1) # Set Start Date #self.SetEndDate(2019, 10, 31) # Set Start Date #self.SetStartDate(2019, 6, 28) # Set Start Date #self.SetStartDate(2013, 1, 1) # Set Start Date # self.SetStartDate(2015, 6, 1) # Set Start Date # self.SetStartDate(2016, 1, 1) # Set Start Date # self.SetStartDate(2022, 3, 2) # Set Start Date # self.SetEndDate(2021, 12, 31) # Set End Date # self.SetEndDate(2022, 5, 2) # Set End Date #self.SetCash(929375) # Set Strategy Cash #self.SetCash(1e6) # Set Strategy Cash # self.SetCash(1e5) #self.AddEquity("ICE25T4T", Resolution.Daily)#Minute) # self.AddEquity("SPY", Resolution.Daily)#Minute) #self.AddEquity("XLI", Resolution.Daily)#Minute) # self.AddEquity("TLT", Resolution.Daily)#Minute) #self.AddEquity("VTV", Resolution.Daily)#Minute) # BACKTEST Saltare Post-Earnings Announcement Drift Combined with Strong Momentum self.SetStartDate(2018, 1, 1) # Set Start Date self.SetEndDate(2024, 9, 30) # Set End Date self.SetCash(1e5) self.AddEquity("SPY", Resolution.Daily)#Minute) # self.AddEquity("FTLS", Resolution.Daily)#Minute) # self.AddEquity("GVIP", Resolution.Daily)#Minute) # self.AddEquity("QLS", Resolution.Daily)#Minute) # self.AddEquity("TLT", Resolution.Daily)#Minute) # self.AddEquity("AGG", Resolution.Daily)#Minute) # self.AddEquity("SCHG", Resolution.Daily)#Minute) # Crisis Alpha Greenblatt - Alpha Cloning – Following 13F Fillings # self.SetStartDate(2016, 1, 1) # Set Start Date # self.SetEndDate(2022, 12, 31) # Set End Date # self.SetCash(1e5) # self.AddEquity("SPY", Resolution.Daily)#Minute) # self.AddEquity("GSLC", Resolution.Daily)#Minute) # GLD Dragon and Dividend Paydate # self.SetStartDate(2016, 1, 1) # Set Start Date # self.SetEndDate(2022, 12, 31) # Set End Date # self.SetCash(1e5) # self.AddEquity("SPY", Resolution.Daily)#Minute) # self.AddEquity("AOM", Resolution.Daily)#Minute) # self.AddEquity("FAAR", Resolution.Daily)#Minute) def OnData(self, data): '''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here. Arguments: data: Slice object keyed by symbol containing the stock data ''' if not self.Portfolio.Invested: #self.SetHoldings("ICE25T4T", 1) self.SetHoldings("SPY", 1.0) # self.SetHoldings("SPY", 0.8) #self.SetHoldings("XLI", 1) # self.SetHoldings("TLT", 1.0) # self.SetHoldings("TLT", 0.2) #self.SetHoldings("VTV", 1.0) # self.SetHoldings("FTLS", 1.0) # self.SetHoldings("QLS", 1.0) # self.SetHoldings("GSLC", 1.0) # self.SetHoldings("AOM", 1.0) # self.SetHoldings("GVIP", 1.0) # self.SetHoldings("AGG", 1.0) # self.SetHoldings("FAAR", 1.0) # self.SetHoldings("SCHG", 1.0) if self.Time.hour==15 and self.Time.minute==59: self.Plot("AlgoValue",self.Portfolio.TotalPortfolioValue)