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
0
Tracking Error
0
Treynor Ratio
0
Total Fees
$0.00
class NadionQuantumAtmosphericScrubbers(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 12, 27)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        
        self.AddFuture(Futures.Energies.CrudeOilWTI, Resolution.Minute).SetFilter(lambda x: x.FrontMonth().OnlyApplyFilterAtMarketOpen())
        
        self.wti_rw = RollingWindow[float](10)
        
        self.AddFuture(Futures.Energies.BrentLastDayFinancial, Resolution.Minute).SetFilter(lambda x: x.FrontMonth().OnlyApplyFilterAtMarketOpen())
        
        self.brent_rw = RollingWindow[float](10)

    def OnData(self, data):
        for chain in data.FutureChains:
        #retrieving contracts from chain
            contracts = [i for i in chain.Value]

            if len(contracts) == 0:
                continue

            contract = contracts[0]
            
            if contract.Symbol.ID.Symbol == Futures.Energies.CrudeOilWTI:
                self.wti_rw.Add(contract.LastPrice)
            elif contract.Symbol.ID.Symbol == Futures.Energies.BrentLastDayFinancial:
                self.brent_rw.Add(contract.LastPrice)