public double[] computeVolatilities(System.Collections.Generic.List<PricingLibrary.Utilities.MarketDataFeed.DataFeed> dataFeedList, DateTime estimationDate)
 {
     double[] volatilities = new double[Ids.Count];
     int volatilitiesIndex = 0;
     foreach (String id in Ids)
     {
         ShareParameters shareParameters = new ShareParameters(id, WindowLength);
         volatilities[volatilitiesIndex] = shareParameters.computeVolatility(dataFeedList, estimationDate);
         ++volatilitiesIndex;
     }
     return volatilities;
 }
 public double[,] computeReturns(System.Collections.Generic.List<PricingLibrary.Utilities.MarketDataFeed.DataFeed> dataFeedList, DateTime estimationDate)
 {
     double[,] returns = new double[WindowLength - 1, Ids.Count];
     for (int shareIndex = 0; shareIndex < Ids.Count; ++shareIndex)
     {
         ShareParameters shareVolatility = new ShareParameters(Ids[shareIndex], WindowLength);
         double[] shareReturns = shareVolatility.computeShareReturns(dataFeedList, estimationDate);
         for (int i = 0; i < shareReturns.Length; ++i)
         {
             returns[i, shareIndex] = shareReturns[i];
         }
     }
     return returns;
 }