Hi, 

I have a question if it is posisble to speed up loading the universe at the start of the back-test of an algorithm. I leverage the coarse and fine filters (see example below) to load the universe at a given reset day (e.g., weekly, monthly). Loading the universe for the first time takes quite some time ranking them by market cap first and then filtering on additional criteria. 

Is there a way to improve the query speed and load the fine filtered universe quicker?


def SelectCoarse(self, algorithm, coarse):
# update universe once a week, month, etc.
if not self.is_reset:
return Universe.Unchanged

else:
universe_coarse = [x for x in coarse if x.HasFundamentalData]
return symbols_coarse

def SelectFine(self, algorithm, fine):
# update universe once a week, month, etc. th
if self.is_reset:
return Universe.Unchanged

else:
# filter by market cap and limit the number of securities (e.g., 200 stocks)
universe_mkt_cap_sorted = sorted(fine, key=lambda k: k.CompanyProfile.MarketCap, reverse=True)[ :self.universe_limit]

# sample of filters used to reduce the universe further
universe_fine = [x for x in universe_mkt_cap_sorted
and (not x.CompanyReference.IsREIT)
and (not x.SecurityReference.IsDepositaryReceipt)
and (x.CompanyProfile.MarketCap > 0)
and x.ValuationRatios.PBRatio > 0
]
symbols_list = [x.Symbol for x in universe_fine]
return symbols_list