示例#1
0
        public virtual MarketDataRequirements requirements(FxRateId id, MarketDataConfig marketDataConfig)
        {
            FxRateConfig       fxRateConfig = marketDataConfig.get(typeof(FxRateConfig), id.ObservableSource);
            Optional <QuoteId> optional     = fxRateConfig.getObservableRateKey(id.Pair);

            return(optional.map(key => MarketDataRequirements.of(key)).orElse(MarketDataRequirements.empty()));
        }
示例#2
0
        public MarketDataRequirements requirements(RatesCurveInputsId id, MarketDataConfig marketDataConfig)
        {
            RatesCurveGroupDefinition  groupConfig        = marketDataConfig.get(typeof(RatesCurveGroupDefinition), id.CurveGroupName);
            Optional <CurveDefinition> optionalDefinition = groupConfig.findCurveDefinition(id.CurveName);

            if (!optionalDefinition.Present)
            {
                return(MarketDataRequirements.empty());
            }
            CurveDefinition definition = optionalDefinition.get();

            return(MarketDataRequirements.builder().addValues(nodeRequirements(ImmutableList.of(definition))).build());
        }
示例#3
0
        public virtual void requirementsNoConfigForPair()
        {
            FxRateMarketDataFunction function = new FxRateMarketDataFunction();
            CurrencyPair             gbpUsd   = CurrencyPair.of(Currency.GBP, Currency.USD);

            assertThat(function.requirements(FxRateId.of(gbpUsd), config())).isEqualTo(MarketDataRequirements.empty());
        }