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

     # In Initialize, create the rolling windows
    def Initialize(self):
        self.SetStartDate(2019, 1, 1)
        self.SetEndDate(2019, 2, 1)
        self.SetCash(100000)
        
        self.AddEquity("SPY", Resolution.Minute)
        
        # Define and register thirty minute consolidator
        consolidator = TradeBarConsolidator(timedelta(minutes=30))
        self.SubscriptionManager.AddConsolidator("SPY", consolidator)
        
        # Define DataConsolidated event handler
        consolidator.DataConsolidated += self.OnThirtyMinuteBar
        
        # Create a Rolling Window to keep the close values
        self.closeWindow = RollingWindow[float](4)
        # Create a Rolling Window to keep the TradeBars
        self.tradeBarWindow = RollingWindow[TradeBar](2)
       

    
    def OnData(self, data):
        
        if self.tradeBarWindow.IsReady:
            currentBar = self.tradeBarWindow[0]
            previousBar = self.tradeBarWindow[1]
        
    # In event handler, update the rolling windows
    def OnThirtyMinuteBar(self, sender, bar):
        
        self.Debug(f"Bar consolidated start: {bar.Time}, end: {bar.EndTime}, close: {bar.Close}")
        
        self.closeWindow.Add(bar.Close)
        self.tradeBarWindow.Add(bar)