//------------------------------------------------------------------------- // present value for one scenario private static CurrencyAmount calculatePresentValue(Security security, double quantity, MarketData marketData) { QuoteId id = QuoteId.of(security.SecurityId.StandardId); double price = marketData.getValue(id); return(security.Info.PriceInfo.calculateMonetaryAmount(quantity, price)); }
//------------------------------------------------------------------------- // calculates present value for all scenarios internal static CurrencyScenarioArray presentValue(Security security, double quantity, ScenarioMarketData marketData) { return(CurrencyScenarioArray.of(marketData.ScenarioCount, i => calculatePresentValue(security, quantity, marketData.scenario(i)))); }