diff --git a/Model/ModelPerformanceAggregator.cs b/Model/ModelPerformanceAggregator.cs index a3e2f68..2c066c8 100644 --- a/Model/ModelPerformanceAggregator.cs +++ b/Model/ModelPerformanceAggregator.cs @@ -1,4 +1,5 @@ -using MarketData.Cache; +using MarketData; +using MarketData.Cache; using MarketData.DataAccess; using MarketData.MarketDataModel; using MarketData.Utils; @@ -78,6 +79,11 @@ namespace TradeBlotter.Model LocalPriceCache.GetInstance().Add(prices); } Price price=LocalPriceCache.GetInstance().GetPrice(openPosition.Symbol,currentDate); + if(null==price) + { + MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetModelPerformance: No price for {0} on {1}",openPosition.Symbol,currentDate.ToShortDateString())); + continue; + } gainLoss+=((price.Close*openPosition.Shares)-(openPosition.PurchasePrice*openPosition.Shares)); marketValue+=(price.Close*openPosition.Shares); } @@ -311,6 +317,11 @@ namespace TradeBlotter.Model LocalPriceCache.GetInstance().Add(prices); } Price price=LocalPriceCache.GetInstance().GetPrice(openPosition.Symbol,currentDate); + if(null==price) + { + MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetModelPerformance: No price for {0} on {1}",openPosition.Symbol,currentDate.ToShortDateString())); + continue; + } gainLoss+=((price.Close*openPosition.Shares)-(openPosition.PurchasePrice*openPosition.Shares)); marketValue+=(price.Close*openPosition.Shares); } @@ -420,6 +431,11 @@ namespace TradeBlotter.Model LocalPriceCache.GetInstance().Add(prices); } Price price=LocalPriceCache.GetInstance().GetPrice(openPosition.Symbol,currentDate); + if(null==price) + { + MDTrace.WriteLine(LogLevel.DEBUG,String.Format("GetModelPerformance: No price for {0} on {1}",openPosition.Symbol,currentDate.ToShortDateString())); + continue; + } gainLoss+=((price.Close*openPosition.Shares)-(openPosition.PurchasePrice*openPosition.Shares)); marketValue+=(price.Close*openPosition.Shares); }