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 -3.593 Tracking Error 0.242 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
# region imports from AlgorithmImports import * # endregion class LongShortAlgo(QCAlgorithm): NUM_DAYS = 12 START_YEAR = 2022 START_MONTH = 10 START_DAY = 3 END_YEAR = 2022 END_MONTH = 10 END_DAY = 30 def _BuildHistory(self, sym): # get the history for the time period. Remember if we print this, # it will be off by 1 day as the time is the END of the period (so actual # day is 1 before date printed with it) try: historyDF = self.History([sym], self.NUM_DAYS+1, Resolution.Daily) except: self.Debug('Failed to load history for '+sym) return try: equityHistory = historyDF.loc[sym] except: self.Debug('No history located for '+sym) return try: openPrices = equityHistory['open'] except: self.Debug('Failed to get open/close history for '+sym) return # calculate last N days of change self.Log(openPrices) self.Log(str(self.Time) +' '+str(self.Securities[sym])) self.Log(str(self.Time) +' '+'open: '+str(self.Securities[sym].Open)) self.Log(str(self.Time) +' '+'price now: '+str(self.Securities[sym].Price)) def _PrintPrice(self): self.Log(str(self.Time) +' '+'print price') self.Log(str(self.Time) +' '+'spy open is : '+str(self.Securities['SPY'].Open)) def _Initialize(self): self.AddEquity("SPY", Resolution.Minute) self._BuildHistory('SPY') if self.Securities['SPY'].Open < 0.001: self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.AfterMarketOpen('SPY', 0), self._PrintPrice) else: self.Log(str(self.Time) +' '+'spy price: '+str(self.Securites['SPY'].Open)) return def Initialize(self): if not self.LiveMode: self.SetStartDate(self.START_YEAR, self.START_MONTH, self.START_DAY) # Set Start Date self.SetEndDate(self.END_YEAR, self.END_MONTH, self.END_DAY) self.SetCash(1000000) # Set Strategy Cash self.SetWarmup(timedelta(self.NUM_DAYS)) else: self.SetWarmup(1) def OnWarmupFinished(self): self.Debug(str(self.Time)+ ': Warmup finished') self._Initialize() def OnData(self, data: Slice): return