Examples of MultiCurveCalculationConfig


Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

          for (final FudgeField field : curveNamesField) {
            curveNames[j++] = deserializer.fieldValueToObject(String.class, field);
          }
          exogenousConfig.put(configName, curveNames);
        }
        return new MultiCurveCalculationConfig(calculationConfigName, yieldCurveNames.toArray(ArrayUtils.EMPTY_STRING_ARRAY),
            target, calculationMethod, curveInstrumentExposures,
            exogenousConfig);
      }
      return new MultiCurveCalculationConfig(calculationConfigName, yieldCurveNames.toArray(ArrayUtils.EMPTY_STRING_ARRAY),
          target, calculationMethod, curveInstrumentExposures);
    }
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

  private static void populateConfigMaster(final ConfigMaster configMaster) {
    final Set<Currency> currencies = ExampleViewsPopulator.CURVES_FOR_CURRENCY.keySet();
    for (final Currency currency : currencies) {
      final String name = currency.getCode() + "FX";
      final ComputationTargetSpecification target = ComputationTargetSpecification.of(currency);
      final MultiCurveCalculationConfig config = new MultiCurveCalculationConfig(name, CURVE_NAMES, target, FXImpliedYieldCurveFunction.FX_IMPLIED,
          null, EXOGENOUS_CURVE_CONFIGS);
      ConfigMasterUtils.storeByName(configMaster, makeConfig(config));
    }
  }
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

    final Set<String> curveCalculationConfigs = desiredValue.getConstraints().getValues(ValuePropertyNames.CURVE_CALCULATION_CONFIG);
    if ((curveCalculationConfigs == null) || (curveCalculationConfigs.size() != 1)) {
      return null;
    }
    final Set<ValueRequirement> requirements = new HashSet<>();
    final MultiCurveCalculationConfig curveCalculationConfig = getCurveCalculationConfig().getConfig(Iterables.getOnlyElement(curveCalculationConfigs));
    for (final String curveName : curveCalculationConfig.getYieldCurveNames()) {
      final ValueProperties properties = ValueProperties.with(ValuePropertyNames.CURVE, curveName).get();
      requirements.add(new ValueRequirement(ValueRequirementNames.YIELD_CURVE_SPEC, target.toSpecification(), properties));
    }
    return requirements;
  }
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

      uniqueCurrencies.add(pair.getSecondCurrency());
    }
    for (Currency currency : uniqueCurrencies) {
      final String name = currency.getCode() + "FX";
      final ComputationTargetSpecification target = ComputationTargetSpecification.of(currency);
      final MultiCurveCalculationConfig config = new MultiCurveCalculationConfig(name, CURVE_NAMES, target, FXImpliedYieldCurveFunction.FX_IMPLIED,
          null, EXOGENOUS_CURVE_CONFIGS);
      ConfigMasterUtils.storeByName(configMaster, makeConfig(config));
    }
  }
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

      final List<String> excludedCurves = new ArrayList<>();
      final ConfigSearchRequest<YieldCurveDefinition> searchRequest = new ConfigSearchRequest<>();
      searchRequest.setType(MultiCurveCalculationConfig.class);
      for (final ConfigDocument configDocument : ConfigSearchIterator.iterable(_configMaster, searchRequest)) {
        final String documentName = configDocument.getName();
        final MultiCurveCalculationConfig config = ((ConfigItem<MultiCurveCalculationConfig>) configDocument.getConfig()).getValue();
        if (config.getCalculationMethod().equals(ImpliedDepositCurveFunction.IMPLIED_DEPOSIT)) {
          excludedCurves.addAll(Arrays.asList(config.getYieldCurveNames()));
        }
      }
      if (excludedCurves.isEmpty()) {
        functions.add(functionConfiguration(YieldCurveHistoricalTimeSeriesFunction.class));
        functions.add(functionConfiguration(YieldCurveConversionSeriesFunction.class));
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

    requirements.add(HistoricalTimeSeriesFunctionUtils.createFXForwardCurveHTSRequirement(currencyPair, curveName, MarketDataRequirementNames.MARKET_VALUE,
        null, start, includeStart, end, includeEnd));

    final ConfigSource configSource = OpenGammaCompilationContext.getConfigSource(context);
    final ConfigDBCurveCalculationConfigSource curveCalculationConfigSource = new ConfigDBCurveCalculationConfigSource(configSource);
    final MultiCurveCalculationConfig curveCalculationConfig = curveCalculationConfigSource.getConfig(curveCalculationConfigName);
    if (FXImpliedYieldCurveFunction.FX_IMPLIED.equals(curveCalculationConfig.getCalculationMethod())) {
      final Currency impliedCcy = ComputationTargetType.CURRENCY.resolve(curveCalculationConfig.getTarget().getUniqueId());
      final String baseCalculationConfigName = Iterables.getOnlyElement(curveCalculationConfig.getExogenousConfigData().entrySet()).getKey();
      final MultiCurveCalculationConfig baseCurveCalculationConfig = curveCalculationConfigSource.getConfig(baseCalculationConfigName);
      final Currency baseCcy = ComputationTargetType.CURRENCY.resolve(baseCurveCalculationConfig.getTarget().getUniqueId());
      requirements.add(getFXForwardCurveDefinitionRequirement(UnorderedCurrencyPair.of(impliedCcy, baseCcy), curveName));
    } else {
      return null;
    }
    return requirements;
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

      final List<String> impliedDepositCurveNames = new ArrayList<>();
      final ConfigSearchRequest<YieldCurveDefinition> searchRequest = new ConfigSearchRequest<>();
      searchRequest.setType(MultiCurveCalculationConfig.class);
      for (final ConfigDocument configDocument : ConfigSearchIterator.iterable(_configMaster, searchRequest)) {
        final String documentName = configDocument.getName();
        final MultiCurveCalculationConfig config = ((ConfigItem<MultiCurveCalculationConfig>) configDocument.getConfig()).getValue();
        if (config.getCalculationMethod().equals(ImpliedDepositCurveFunction.IMPLIED_DEPOSIT)) {
          functions.add(functionConfiguration(ImpliedDepositCurveFunction.class, documentName));
          functions.add(functionConfiguration(ImpliedDepositCurveSeriesFunction.class, documentName));
          final String currencyISO = config.getTarget().getUniqueId().getValue();
          final String[] yieldCurveNames = config.getYieldCurveNames();
          for (final String curveName : yieldCurveNames) {
            functions.add(functionConfiguration(ImpliedYieldCurveSpecificationFunction.class, currencyISO, curveName));
            impliedDepositCurveNames.add(curveName);
          }
        }
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

    final Schedule scheduleCalculator = getScheduleCalculator(constraints.getValues(ValuePropertyNames.SCHEDULE_CALCULATOR));
    final TimeSeriesSamplingFunction samplingFunction = getSamplingFunction(constraints.getValues(ValuePropertyNames.SAMPLING_FUNCTION));
    final LocalDate[] schedule = HOLIDAY_REMOVER.getStrippedSchedule(scheduleCalculator.getSchedule(startDate, now, true, false), WEEKEND_CALENDAR); //REVIEW emcleod should "fromEnd" be hard-coded?
    final ConfigDBCurveCalculationConfigSource curveCalculationConfigSource = new ConfigDBCurveCalculationConfigSource(configSource);
    DoubleTimeSeries<?> result = null;
    final MultiCurveCalculationConfig curveCalculationConfig = curveCalculationConfigSource.getConfig(curveCalculationConfigName);
    for (final String yieldCurveName : yieldCurveNames) {
      final ValueRequirement ycnsRequirement = getYCNSRequirement(currencyString, curveCalculationConfigName, yieldCurveName, surfaceName, target);
      final DoubleLabelledMatrix1D ycns = (DoubleLabelledMatrix1D) inputs.getValue(ycnsRequirement);
      final HistoricalTimeSeriesBundle ychts = (HistoricalTimeSeriesBundle) inputs.getValue(getYCHTSRequirement(currency, yieldCurveName, samplingPeriod.toString()));
      final DoubleTimeSeries<?> pnLSeries;
      if (curveCalculationConfig.getCalculationMethod().equals(FXImpliedYieldCurveFunction.FX_IMPLIED)) {
        pnLSeries = getPnLSeries(ycns, ychts, schedule, samplingFunction);
      } else {
        final ValueRequirement curveSpecRequirement = getCurveSpecRequirement(currency, yieldCurveName);
        final InterpolatedYieldCurveSpecificationWithSecurities curveSpec = (InterpolatedYieldCurveSpecificationWithSecurities) inputs.getValue(curveSpecRequirement);
        pnLSeries = getPnLSeries(curveSpec, ycns, ychts, schedule, samplingFunction);
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

      return null;
    }
    final String samplingPeriod = samplingPeriods.iterator().next();
    final ConfigSource configSource = OpenGammaCompilationContext.getConfigSource(context);
    final ConfigDBCurveCalculationConfigSource curveCalculationConfigSource = new ConfigDBCurveCalculationConfigSource(configSource);
    final MultiCurveCalculationConfig curveCalculationConfig = curveCalculationConfigSource.getConfig(curveCalculationConfigName);
    if (curveCalculationConfig == null) {
      s_logger.error("Could not find curve calculation configuration named " + curveCalculationConfigName);
      return null;
    }
    if (!ComputationTargetSpecification.of(currency).equals(curveCalculationConfig.getTarget())) {
      s_logger.error("Security currency and curve calculation config id were not equal; have {} and {}", currency, curveCalculationConfig.getTarget());
    }
    final String surfaceName = getPropertyName(surfaceNames);
    final Set<ValueRequirement> requirements = new HashSet<>();
    for (final String curveName : curveCalculationConfig.getYieldCurveNames()) {
      requirements.add(getCurveSpecRequirement(currency, curveName));
      requirements.add(getYCNSRequirement(currencyString, curveCalculationConfigName, curveName, surfaceName, target));
      requirements.add(getYCHTSRequirement(currency, curveName, samplingPeriod));
    }
    return requirements;
View Full Code Here

Examples of com.opengamma.financial.analytics.ircurve.calcconfig.MultiCurveCalculationConfig

    } else {
      return null;
    }
    final ConfigSource configSource = OpenGammaCompilationContext.getConfigSource(context);
    final ConfigDBCurveCalculationConfigSource curveCalculationConfigSource = new ConfigDBCurveCalculationConfigSource(configSource);
    final MultiCurveCalculationConfig resultCurveCalculationConfig = curveCalculationConfigSource.getConfig(resultCurveConfigName);
    if (resultCurveCalculationConfig == null) {
      s_logger.error("Could not find curve calculation configuration named " + resultCurveConfigName + " for currency " + resultCurrency);
      return null;
    }
    requirements.add(getCurveSensitivitiesRequirement(putCurveName, putCurveCalculationConfigName, callCurveName, callCurveCalculationConfigName, surfaceName,
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.