public object GetTechnicalRankSignals() { string[] optionableSecurities = _marketDataProvider.GetAllOptionBasicInformation().Where(cache => cache.OptionStatus != " ").Select(obi => obi.OptionUnderlyingCode).Distinct().ToArray(); ProcessDataInParallel(optionableSecurities); List <Signal> technicalRankSignals = _technicalRankService.GenerateTechnicalRank(optionableSecurities.ToList(), _technicalRankScores.ToList()); technicalRankSignals.Sort(m => m.StockCode); return(technicalRankSignals); }
public List <SecurityInformation> GetOptionableSecurities() { string[] optionableSecurities = _marketDataProvider.GetAllOptionBasicInformation().Where(cache => cache.OptionStatus != " ").Select(obi => obi.OptionUnderlyingCode).Distinct().ToArray(); List <SecurityInformationCache> info = _marketDataProvider.GetAllSecuritiesInformation().Where(si => optionableSecurities.Contains(si.SecurityCode)).ToList(); List <SecurityInformation> model = Mapper.Map <List <SecurityInformationCache>, List <SecurityInformation> >(info); return(model); }