QC Team and Community

from QuantConnect.Data.Market import TradeBar
from datetime import datetime
from datetime import timedelta
from System import *
from QuantConnect import *
from QuantConnect.Algorithm import *
from QuantConnect.Indicators import *
import decimal as d
import pandas as pd

class BollingerBreakoutAlgorithm(QCAlgorithm):

def Initialize(self):
self.SetStartDate(2015, 1, 1)
self.SetEndDate(2019, 12, 10)
self.MOMP = dict()

for ticker in ["XLK", "XLF", "XLI", "XLY", "XLB", "XLP", "XLV", "XLU", "XLE"]:
symbol = self.AddEquity(ticker, Resolution.Daily).Symbol
self.MOMP[symbol] = self.MOMP(symbol, 5, Resolution.Daily)

self.SetWarmUp(26, Resolution.Daily)


self.Schedule.On(self.DateRules.Every(DayOfWeek.Wednesday), self.TimeRules.At(12, 0), self.EveryWedAtNoon)

def OnData(self, data):
if not all([self.MOMP.IsReady for symbol, MOMP in self.MOMP.items()]):

df = self.History(MOMP[symbol], 5, Resolution.Daily)


My strategy here (may not be the best) but is to set holdings on the highest momentum scoring symbol in the list on a weekly basis and dropping the previous if it is different or does not exist.  I assume I need a dataframe including each symbol and its indicator value to find the highest scorer.  How do I set up the dataframe and get the highest scoring symbol.  Any help would be appreciated.