Examples of UnorderedCurrencyPair


Examples of com.opengamma.util.money.UnorderedCurrencyPair

    final CurrencyPairs currencyPairs = OpenGammaExecutionContext.getCurrencyPairsSource(executionContext).getCurrencyPairs(CurrencyPairs.DEFAULT_CURRENCY_PAIRS);
    final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(fxOption.getPutCurrency(), fxOption.getCallCurrency());
    //TODO interpolate
    ///////////////////////////////
    final double tau = getExpiry(fxOption, now);
    final UnorderedCurrencyPair currencies = UnorderedCurrencyPair.of(fxOption.getCallCurrency(), fxOption.getPutCurrency());
    final ValueRequirement forwardCurveRequirement = getForwardCurveRequirement(forwardCurveCalculationMethod, forwardCurveName, currencies);
    final Object forwardCurveObject = inputs.getValue(forwardCurveRequirement);
    if (forwardCurveObject == null) {
      throw new OpenGammaRuntimeException("Forward curve was null");
    }
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

    final String timeGridBunching = timeGridBunchingNames.iterator().next();
    final String spaceGridBunching = spaceGridBunchingNames.iterator().next();
    final String maxMoneyness = maxMoneynessNames.iterator().next();
    final String pdeDirection = pdeDirectionNames.iterator().next();
    final FXOptionSecurity fxOption = (FXOptionSecurity) target.getSecurity();
    final UnorderedCurrencyPair currencies = UnorderedCurrencyPair.of(fxOption.getCallCurrency(), fxOption.getPutCurrency()); //TODO down to subclass
    final ValueRequirement pdeGridRequirement = getPDEGridRequirement(target, surfaceName, surfaceType, xAxis, yAxis, yAxisType, forwardCurveCalculationMethod, h, forwardCurveName,
        theta, timeSteps, spaceSteps, timeGridBunching, spaceGridBunching, maxMoneyness, pdeDirection);
    final ValueRequirement forwardCurveRequirement = getForwardCurveRequirement(forwardCurveCalculationMethod, forwardCurveName, currencies);
    return Sets.newHashSet(pdeGridRequirement, forwardCurveRequirement);
  }
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

    final String fullPayCurveName = payCurveName + "_" + payCurrency.getCode();
    final String fullReceiveCurveName = receiveCurveName + "_" + receiveCurrency.getCode();
    final ConfigSource configSource = OpenGammaExecutionContext.getConfigSource(executionContext);
    final ConfigDBFXForwardCurveDefinitionSource fxCurveDefinitionSource = new ConfigDBFXForwardCurveDefinitionSource(configSource);
    final ConfigDBFXForwardCurveSpecificationSource fxCurveSpecificationSource = new ConfigDBFXForwardCurveSpecificationSource(configSource);
    final UnorderedCurrencyPair currencyPair = UnorderedCurrencyPair.of(payCurrency, receiveCurrency);
    final FXForwardCurveDefinition forwardCurveDefinition = fxCurveDefinitionSource.getDefinition(forwardCurveName, currencyPair.toString());
    if (forwardCurveDefinition == null) {
      throw new OpenGammaRuntimeException("Couldn't find FX forward curve definition called " + forwardCurveName + " for target " + currencyPair);
    }
    final FXForwardCurveSpecification forwardCurveSpecification = fxCurveSpecificationSource.getSpecification(forwardCurveName, currencyPair.toString());
    if (forwardCurveSpecification == null) {
      throw new OpenGammaRuntimeException("Couldn't find FX forward curve specification called " + forwardCurveName + " for target " + currencyPair);
    }
    final YieldAndDiscountCurve payCurve = getPayCurve(inputs, payCurrency, payCurveName, payCurveConfig);
    final YieldAndDiscountCurve receiveCurve = getReceiveCurve(inputs, receiveCurrency, receiveCurveName, receiveCurveConfig);
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

    final ConfigSource configSource = OpenGammaCompilationContext.getConfigSource(context);
    final FinancialSecurity security = (FinancialSecurity) target.getSecurity();
    final Currency payCurrency = security.accept(ForexVisitors.getPayCurrencyVisitor());
    final Currency receiveCurrency = security.accept(ForexVisitors.getReceiveCurrencyVisitor());
    final ConfigDBFXForwardCurveSpecificationSource fxCurveSpecificationSource = new ConfigDBFXForwardCurveSpecificationSource(configSource);
    final UnorderedCurrencyPair currencyPair = UnorderedCurrencyPair.of(payCurrency, receiveCurrency);
    final FXForwardCurveSpecification specification = fxCurveSpecificationSource.getSpecification(forwardCurveName, currencyPair.toString());
    if (specification == null) {
      throw new OpenGammaRuntimeException("Couldn't find FX forward curve specification called " + forwardCurveName + " for target " + currencyPair);
    }
    final String payCurveName = payCurveNames.iterator().next();
    final String receiveCurveName = receiveCurveNames.iterator().next();
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

  public Set<ComputedValue> execute(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target,
      final Set<ValueRequirement> desiredValues) throws AsynchronousExecution {
    final ValueRequirement desiredValue = Iterables.getOnlyElement(desiredValues);
    final String dataType = desiredValue.getConstraint(PROPERTY_DATA_TYPE);
    final FinancialSecurity security = (FinancialSecurity) target.getSecurity();
    final UnorderedCurrencyPair currencyPair = UnorderedCurrencyPair.of(security.accept(ForexVisitors.getPayCurrencyVisitor()), security.accept(ForexVisitors.getReceiveCurrencyVisitor()));
    if (dataType.equals(LIVE)) {
      final Object spotObject = inputs.getValue(ValueRequirementNames.SPOT_RATE);
      if (spotObject == null) {
        throw new OpenGammaRuntimeException("Could not get live market data for " + currencyPair);
      }
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

  }

  @Override
  public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context, final ComputationTarget target, final ValueRequirement desiredValue) {
    final FinancialSecurity security = (FinancialSecurity) target.getSecurity();
    final UnorderedCurrencyPair currencyPair = UnorderedCurrencyPair.of(security.accept(ForexVisitors.getPayCurrencyVisitor()), security.accept(ForexVisitors.getReceiveCurrencyVisitor()));
    final Set<String> dataTypes = desiredValue.getConstraints().getValues(PROPERTY_DATA_TYPE);
    if ((dataTypes == null) || dataTypes.isEmpty() || dataTypes.contains(LIVE)) {
      // Live
      return Collections.singleton(ConventionBasedFXRateFunction.getSpotRateRequirement(currencyPair));
    }
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

    ArgumentChecker.notNull(currencyPairToForwardCurveNames, "currency pair to forward curve names");
    final int n = currencyPairToForwardCurveNames.length;
    ArgumentChecker.isTrue(n % 3 == 0, "Must have one forward curve name per currency pair");
    _currencyPairToForwardCurveNames = new HashMap<>();
    for (int i = 0; i < currencyPairToForwardCurveNames.length; i += 3) {
      final UnorderedCurrencyPair pair = UnorderedCurrencyPair.of(Currency.of(currencyPairToForwardCurveNames[i]), Currency.of(currencyPairToForwardCurveNames[i + 1]));
      _currencyPairToForwardCurveNames.put(pair, currencyPairToForwardCurveNames[i + 2]);
    }
  }
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

    final Currency receiveCurrency = security.accept(ForexVisitors.getReceiveCurrencyVisitor());
    final String fullCurveName = curveName + "_" + curveCurrency;
    if (curveCalculationConfig.getCalculationMethod().equals(FXImpliedYieldCurveFunction.FX_IMPLIED)) {
      final ConfigSource configSource = OpenGammaExecutionContext.getConfigSource(executionContext);
      final ConfigDBFXForwardCurveDefinitionSource definitionSource = new ConfigDBFXForwardCurveDefinitionSource(configSource);
      final UnorderedCurrencyPair currencyPair = UnorderedCurrencyPair.of(payCurrency, receiveCurrency);
      final FXForwardCurveDefinition definition = definitionSource.getDefinition(curveName, currencyPair.toString());
      if (definition == null) {
        throw new OpenGammaRuntimeException("Could not get FX forward curve definition called " + curveName + " for currency pair " + currencyPair);
      }
      final Tenor[] tenors = definition.getTenors();
      final YieldCurveBundle interpolatedCurveForCurrency = new YieldCurveBundle();
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

    final Collection<FXOptionSecurity> fxOptions = new ArrayList<>();
    final Random random = new Random(1235);
    for (int i = 0; i < SIZE; i++) {
      FXOptionSecurity fxOption = null;
      try {
        final UnorderedCurrencyPair ccys = CCYS[random.nextInt(CCYS.length)];
        final LocalDate tradeDate = getTradeDate(random, ccys.getFirstCurrency());
        final Tenor tenor = TENORS[random.nextInt(TENORS.length)];
        fxOption = makeFXOption(random, ccys, tradeDate, tenor);
      } catch (final Exception e) {
        e.printStackTrace();
      }
View Full Code Here

Examples of com.opengamma.util.money.UnorderedCurrencyPair

    @SuppressWarnings("synthetic-access")
    protected ValueProperties.Builder createValueProperties(final ComputationTarget target) {
      final ValueProperties.Builder properties = ConventionBasedFXRateFunction.this.createValueProperties();
      properties.with(CONVENTION_NAME_PROPERTY, _convention);
      final UnorderedCurrencyPair unordered = UnorderedCurrencyPair.of(target.getUniqueId());
      if (unordered.getFirstCurrency().equals(unordered.getSecondCurrency())) {
        return null;
      }
      final CurrencyPair ordered = _currencyPairs.getCurrencyPair(unordered.getFirstCurrency(), unordered.getSecondCurrency());
      if (ordered == null) {
        return null;
      }
      properties.with(QUOTING_CONVENTION_PROPERTY, ordered.toString());
      return properties;
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.