public override PricingLibrary.Computations.PricingResults getComposition(System.Collections.Generic.List<PricingLibrary.Utilities.MarketDataFeed.DataFeed> dataFeedList, 
                                                                           System.DateTime date, int windowLength, int numberDaysPerYear)
 {
     double volatility = ShareUtilities.computeVolatility(dataFeedList, date, _vanillaCall.UnderlyingShareIds[0], windowLength, numberDaysPerYear);
     PricingLibrary.Computations.Pricer pricer = new PricingLibrary.Computations.Pricer();
     double[] spotShareArray = Utilities.shareSpots(dataFeedList, date);
     PricingLibrary.Computations.PricingResults pricingResults = pricer.PriceCall((PricingLibrary.FinancialProducts.VanillaCall)_option, date, numberDaysPerYear, spotShareArray[0], volatility);
     return pricingResults;
 }
        public override PricingLibrary.Computations.PricingResults getComposition(List<PricingLibrary.Utilities.MarketDataFeed.DataFeed> dataFeedList, DateTime date, int windowLength, int numberDaysPerYear)
        {
            double[] volatilities = BasketOptionUtilities.computeVolatilities(dataFeedList, date, windowLength, numberDaysPerYear);
            double[,] cholesky = BasketOptionUtilities.computeCholeskyCorrelation(dataFeedList, date, windowLength);

            PricingLibrary.Computations.Pricer pricer = new PricingLibrary.Computations.Pricer();
            double[] spotShareArray = Utilities.shareSpots(dataFeedList, date);
            PricingLibrary.Computations.PricingResults pricingResults = pricer.PriceBasket((PricingLibrary.FinancialProducts.BasketOption)_option, date, numberDaysPerYear, spotShareArray, volatilities, cholesky);
            return pricingResults;
        }
 public computePortfolioValue()
 {
     this.pricer = new PricingLibrary.Computations.Pricer();
 }