I am new to using ETF data and the constituents filter and am having some issues with a NASDAQ 100 study. I need to pull the weights of the NASDAQ 100 at the start of each month and am using the QQQ ETF and ETF Constituents Model to do so. I am able to pull this information every time that new data is available but am having issues with the syntax of my scheduling function, which needs to return a list of the symbols by weight at the start of each month. 

I also need to pull fundamental data on each symbol for a ranking system that will determine portfolio weighting vs. the underlying index. I specifically need to return ROIC, earnings revision ratio ((number of upwards revisions - number of downwards revisions/ number of Total EPS Revisions), and the current 5Yr. Avg. EPS estimate at the same time that my symbols list is updated by the scheduling function. 

I have set aside the sections of code that are currently not functioning in the attached back test and would appreciate and help/insights. Feel free to ask any questions if my description was unclear. Thanks!