Overall Statistics |
Total Trades 2 Average Win 0% Average Loss 0% Compounding Annual Return -17.056% Drawdown 4.200% Expectancy 0 Net Profit -3.508% Sharpe Ratio -1.811 Probabilistic Sharpe Ratio 5.657% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.033 Beta 0.208 Annual Standard Deviation 0.056 Annual Variance 0.003 Information Ratio 1.107 Tracking Error 0.204 Treynor Ratio -0.485 Total Fees $4.30 Estimated Strategy Capacity $59000000000.00 Lowest Capacity Asset ES XZDYPWUWC7I9 |
# region imports from AlgorithmImports import * # endregion class JumpingOrangeCoyote(QCAlgorithm): def Initialize(self): self.SetStartDate(2022, 4, 22) # Set Start Date self.SetEndDate(2022,6,30) self.SetCash(1000000) # Set Strategy Cash self.px_multi = {} tickers = [ #Futures.Indices.VIX, Futures.Indices.SP500EMini ] for ticker in tickers: #get symbols self.future = self.AddFuture(ticker) self.sym = self.future.Symbol self.px_multi[self.sym] = self.future.SymbolProperties.ContractMultiplier self.SetWarmup(26) self.contract = None def OnData(self, data): if self.IsWarmingUp: return for contracts in data.FutureChains.Values: self.Debug(f" {contracts}") # #get most liquid fut (OI) # for contracts in data.FutureChains.Values: # sorted_contracts = sorted(contracts, key=lambda c: c.Expiry, reverse = True) # if len(sorted_contracts) == 0: continue # self.Debug(f" contract: {sorted_contracts[0]}") #for each item in futures px multiplier dictionary if not invested buy 1 lot for key,value in self.px_multi.items(): if not self.Portfolio[self.Securities[key].Mapped].Invested: self.MarketOrder(self.Securities[key].Mapped,1)