private static ConcurrentDictionary<string, IList<float>> MarketRelativeReturns(MarketPrices close, IList<float> spyValues)
 {
     var marketNeutralDailyMovement = new ConcurrentDictionary<string, IList<float>>();
     Parallel.ForEach(close.Symbols,
                      (symbol, loopState) =>
                          {
                              var priceList = close.ColumnList(symbol);
                              if (priceList == null)
                                  loopState.Break();
                              else
                              {
                                  IList<float> dailyReturns = priceList.Returnize();
                                  IList<float> marketRelative = dailyReturns.Select((d, i) => (float)(d - spyValues[i])).ToList();
                                  marketNeutralDailyMovement[symbol] = marketRelative;
                              }
                          });
     return marketNeutralDailyMovement;
 }