//------------------------------------------------------------------------- public virtual void test_marketDataView() { LocalDate valDate = LocalDate.of(2015, 6, 30); ScenarioMarketData md = new TestMarketDataMap(valDate, ImmutableMap.of(), ImmutableMap.of()); CreditRatesScenarioMarketData multiScenario = LOOKUP_WITH_SOURCE.marketDataView(md); assertEquals(multiScenario.Lookup, LOOKUP_WITH_SOURCE); assertEquals(multiScenario.MarketData, md); assertEquals(multiScenario.ScenarioCount, 1); CreditRatesMarketData scenario = multiScenario.scenario(0); assertEquals(scenario.Lookup, LOOKUP_WITH_SOURCE); assertEquals(scenario.MarketData, md.scenario(0)); assertEquals(scenario.ValuationDate, valDate); }
public CreditRatesMarketData scenario(int scenarioIndex) { CreditRatesMarketData current = cache.get(scenarioIndex); if (current != null) { return(current); } return(cache.updateAndGet(scenarioIndex, v => v != null ? v : lookup.marketDataView(marketData.scenario(scenarioIndex)))); }
//------------------------------------------------------------------------- //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: @Override public java.util.Map<com.opengamma.strata.calc.Measure, com.opengamma.strata.collect.result.Result<?>> calculate(com.opengamma.strata.product.credit.CdsIndexTrade trade, java.util.Set<com.opengamma.strata.calc.Measure> measures, com.opengamma.strata.calc.runner.CalculationParameters parameters, com.opengamma.strata.data.scenario.ScenarioMarketData scenarioMarketData, com.opengamma.strata.basics.ReferenceData refData) public virtual IDictionary <Measure, Result <object> > calculate(CdsIndexTrade trade, ISet <Measure> measures, CalculationParameters parameters, ScenarioMarketData scenarioMarketData, ReferenceData refData) { // resolve the trade once for all measures and all scenarios ResolvedCdsIndexTrade resolved = trade.resolve(refData); // use lookup to query market data CreditRatesMarketDataLookup ledLookup = parameters.getParameter(typeof(CreditRatesMarketDataLookup)); CreditRatesScenarioMarketData marketData = ledLookup.marketDataView(scenarioMarketData); // loop around measures, calculating all scenarios for one measure //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: java.util.Map<com.opengamma.strata.calc.Measure, com.opengamma.strata.collect.result.Result<?>> results = new java.util.HashMap<>(); IDictionary <Measure, Result <object> > results = new Dictionary <Measure, Result <object> >(); foreach (Measure measure in measures) { results[measure] = calculate(measure, resolved, marketData, refData); } return(results); }