/** * Obtains an instance by wrapping a single set of market data. * <p> * The result will consist of a {@code ScenarioMarketData} that returns the specified * market data for each scenario. * <p> * This can be used in association with the * {@link #withPerturbation(MarketDataId, ScenarioPerturbation, ReferenceData) withPerturbation} * method to take a base set of market data and create a complete set of perturbations. * See {@code MarketDataFactory} for the ability to apply multiple perturbations, including * perturbations to calibration inputs, such as quotes. * * @param scenarioCount the number of scenarios, one or more * @param marketData the single set of market data * @return a set of market data containing the values in the map */ public static ScenarioMarketData of(int scenarioCount, MarketData marketData) { return RepeatedScenarioMarketData.of(scenarioCount, marketData); }
public void serialization() { RepeatedScenarioMarketData test = RepeatedScenarioMarketData.of(2, BASE_DATA); assertSerialization(test); }
public void test_scenarios() { RepeatedScenarioMarketData test = RepeatedScenarioMarketData.of(2, BASE_DATA); assertEquals(test.scenarios().count(), 2); test.scenarios().forEach(md -> assertSame(md, BASE_DATA)); }
public void test_of() { RepeatedScenarioMarketData test = RepeatedScenarioMarketData.of(2, BASE_DATA); assertEquals(test.getScenarioCount(), 2); assertEquals(test.getUnderlying(), BASE_DATA); assertEquals(test.getValuationDate(), MarketDataBox.ofSingleValue(VAL_DATE)); assertEquals(test.containsValue(ID1), true); assertEquals(test.containsValue(ID2), true); assertEquals(test.containsValue(ID3), false); assertEquals(test.getValue(ID1), MarketDataBox.ofSingleValue(VAL1)); assertEquals(test.getValue(ID2), MarketDataBox.ofSingleValue(VAL2)); assertThrows(() -> test.getValue(ID3), MarketDataNotFoundException.class); assertEquals(test.findValue(ID1), Optional.of(MarketDataBox.ofSingleValue(VAL1))); assertEquals(test.findValue(ID2), Optional.of(MarketDataBox.ofSingleValue(VAL2))); assertEquals(test.findValue(ID3), Optional.empty()); assertEquals(test.getIds(), ImmutableSet.of(ID1, ID2)); assertEquals(test.findIds(ID1.getMarketDataName()), ImmutableSet.of(ID1)); assertEquals(test.getTimeSeries(ID4), TIME_SERIES); }
public void test_scenario_byIndex() { RepeatedScenarioMarketData test = RepeatedScenarioMarketData.of(2, BASE_DATA); assertSame(test.scenario(0), BASE_DATA); assertSame(test.scenario(1), BASE_DATA); assertThrows(() -> test.scenario(-1), IndexOutOfBoundsException.class); assertThrows(() -> test.scenario(2), IndexOutOfBoundsException.class); }
.build(); RepeatedScenarioMarketData repeatedScenarioMarketData = RepeatedScenarioMarketData.of(3, marketData);