Example #1
0
        // one valuation date, one set of market data
        private MarketDataBox <RatesCurveInputs> buildSingleCurveInputs <T1>(CurveDefinition filteredDefn, IDictionary <T1> marketData, LocalDate valuationDate, ReferenceData refData) where T1 : com.opengamma.strata.data.MarketDataId <T1>
        {
            // There is only a single map of values and single valuation date - create a single CurveInputs instance
            CurveMetadata curveMetadata = filteredDefn.metadata(valuationDate, refData);
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: java.util.Map<? extends com.opengamma.strata.data.MarketDataId<?>, ?> singleMarketDataValues = com.opengamma.strata.collect.MapStream.of(marketData).mapValues(box -> box.getSingleValue()).toMap();
            IDictionary <MarketDataId <object>, ?> singleMarketDataValues = MapStream.of(marketData).mapValues(box => box.SingleValue).toMap();

            RatesCurveInputs curveInputs = RatesCurveInputs.of(singleMarketDataValues, curveMetadata);

            return(MarketDataBox.ofSingleValue(curveInputs));
        }
Example #2
0
        // one valuation date, scenario market data
        private MarketDataBox <RatesCurveInputs> buildMultipleCurveInputs <T1>(MarketDataBox <CurveDefinition> filteredDefns, IDictionary <T1> marketData, MarketDataBox <LocalDate> valuationDates, ReferenceData refData) where T1 : com.opengamma.strata.data.MarketDataId <T1>
        {
            // If there are multiple values for any of the input data values or for the valuation
            // dates then we need to create multiple sets of inputs
            int scenarioCount = RatesCurveInputsMarketDataFunction.scenarioCount(valuationDates, marketData);

            ImmutableList.Builder <CurveMetadata> curveMetadataBuilder = ImmutableList.builder();
            for (int i = 0; i < scenarioCount; i++)
            {
                LocalDate       valDate = valuationDates.getValue(i);
                CurveDefinition defn    = filteredDefns.getValue(i);
                curveMetadataBuilder.add(defn.metadata(valDate, refData));
            }
            IList <CurveMetadata> curveMetadata = curveMetadataBuilder.build();

//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: java.util.List<java.util.Map<? extends com.opengamma.strata.data.MarketDataId<?>, ?>> scenarioValues = java.util.stream.IntStream.range(0, scenarioCount).mapToObj(i -> buildScenarioValues(marketData, i)).collect(toImmutableList());
            IList <IDictionary <MarketDataId <object>, ?> > scenarioValues = IntStream.range(0, scenarioCount).mapToObj(i => buildScenarioValues(marketData, i)).collect(toImmutableList());

            IList <RatesCurveInputs> curveInputs = zip(scenarioValues.stream(), curveMetadata.stream()).map(pair => RatesCurveInputs.of(pair.First, pair.Second)).collect(toImmutableList());

            return(MarketDataBox.ofScenarioValues(curveInputs));
        }