Hello, this call in backtesting:
history = self.History(cur_contract.Symbol, 10, Resolution.Minute) # cur_contract.Symbol is "ES17H17"
returns this dataframe:

so the index here is (expiry, symbol, time).
I only want time in index, so I am dropping other columns from index and resample:
history = history.droplevel([0, 1]).resample(Timeframe).agg({'open': 'first', 'high': 'max', 'low': 'min', 'close': 'last'})
However, on live with IBKR data this code raises an exception:
Too many levels: Index has only 1 level, not 2.
So I am guessing, it only has one column in index on live? Why is it different?
Also, on a side note, can you please tell me how to choose the symbol-related line in dataframe? Neither history.loc[cur_contract.Symbol] nor history.loc[cur_contract.Symbol.Value] work:



basically, I need to know how to match history lines to symbol, but I can't find a proper way….
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!