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
-1.245
Tracking Error
0.109
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
from datetime import timedelta
from AlgorithmImports import *


class FutureAlgo(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 12, 25)
        self.SetEndDate(2022, 1, 31)
        self.SetCash(60000)
        self.SetTimeZone("America/New_York")
        self.es = self.AddFuture(
            Futures.Indices.SP500EMini, dataNormalizationMode=DataNormalizationMode.Raw, dataMappingMode=DataMappingMode.OpenInterest, contractDepthOffset=0)
        consolidator = TradeBarConsolidator(timedelta(minutes=360))
        consolidator.DataConsolidated += self.OnDataConsolidated
        self.SubscriptionManager.AddConsolidator(self.es.Symbol, consolidator)

    def OnData(self, data: Slice):
        for changedEvent in data.SymbolChangedEvents.Values:
            if changedEvent.Symbol == self.es.Symbol:
                self.Log(f"SymbolChanged event: {changedEvent}")

    def OnDataConsolidated(self, sender, bar: TradeBar):
        self.Debug(f"{bar.Symbol} {bar.Price}@{bar.Time}")