Package com.opengamma.util.money

Examples of com.opengamma.util.money.Currency


          throw new OpenGammaRuntimeException("Can only handle interest rate notionals with the same amounts");
        }

        @Override
        public CurrencyAmount visitFXOptionSecurity(final FXOptionSecurity security) {
          final Currency currency1 = security.getPutCurrency();
          final double amount1 = security.getPutAmount();
          final Currency currency2 = security.getCallCurrency();
          final double amount2 = security.getCallAmount();
          final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(currency1, currency2);
          if (currencyPair.getBase().equals(currency1)) {
            return CurrencyAmount.of(currency1, amount1);
          }
          return CurrencyAmount.of(currency2, amount2);
        }

        @Override
        public CurrencyAmount visitFXBarrierOptionSecurity(final FXBarrierOptionSecurity security) {
          final Currency currency1 = security.getPutCurrency();
          final double amount1 = security.getPutAmount();
          final Currency currency2 = security.getCallCurrency();
          final double amount2 = security.getCallAmount();
          final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(currency1, currency2);
          if (currencyPair.getBase().equals(currency1)) {
            return CurrencyAmount.of(currency1, amount1);
          }
          return CurrencyAmount.of(currency2, amount2);
        }

        @Override
        public CurrencyAmount visitNonDeliverableFXOptionSecurity(final NonDeliverableFXOptionSecurity security) {
          final Currency currency = security.getDeliveryCurrency();
          final double amount = security.getCallCurrency().equals(currency) ? security.getCallAmount() : security.getPutAmount();
          return CurrencyAmount.of(currency, amount);
        }

        @Override
        public CurrencyAmount visitFXDigitalOptionSecurity(final FXDigitalOptionSecurity security) {
          final Currency currency1 = security.getPutCurrency();
          final double amount1 = security.getPutAmount();
          final Currency currency2 = security.getCallCurrency();
          final double amount2 = security.getCallAmount();
          final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(currency1, currency2);
          if (currencyPair.getBase().equals(currency1)) {
            return CurrencyAmount.of(currency1, amount1);
          }
          return CurrencyAmount.of(currency2, amount2);
        }

        @Override
        public CurrencyAmount visitNonDeliverableFXDigitalOptionSecurity(final NonDeliverableFXDigitalOptionSecurity security) {
          final Currency currency = security.getPaymentCurrency();
          final double amount = security.getCallCurrency().equals(currency) ? security.getCallAmount() : security.getPutAmount();
          return CurrencyAmount.of(currency, amount);
        }

        @Override
        public CurrencyAmount visitFXForwardSecurity(final FXForwardSecurity security) {
          final Currency currency1 = security.getPayCurrency();
          final double amount1 = security.getPayAmount();
          final Currency currency2 = security.getReceiveCurrency();
          final double amount2 = security.getReceiveAmount();
          final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(currency1, currency2);
          if (currencyPair.getBase().equals(currency1)) {
            return CurrencyAmount.of(currency1, amount1);
          }
          return CurrencyAmount.of(currency2, amount2);
        }

        @Override
        public CurrencyAmount visitStandardVanillaCDSSecurity(final StandardVanillaCDSSecurity security) {
          final InterestRateNotional notional = security.getNotional();
          final int sign = security.isBuy() ? 1 : -1;
          return CurrencyAmount.of(notional.getCurrency(), sign * notional.getAmount());
        }

        @Override
        public CurrencyAmount visitLegacyVanillaCDSSecurity(final LegacyVanillaCDSSecurity security) {
          final InterestRateNotional notional = security.getNotional();
          final int sign = security.isBuy() ? 1 : -1;
          return CurrencyAmount.of(notional.getCurrency(), sign * notional.getAmount());
        }

        @Override
        public CurrencyAmount visitGovernmentBondSecurity(final GovernmentBondSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getMinimumAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitCorporateBondSecurity(final CorporateBondSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getMinimumAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitMunicipalBondSecurity(final MunicipalBondSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getMinimumAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitSwaptionSecurity(final SwaptionSecurity security) {
          final Security underlying = securitySource.getSingle(ExternalIdBundle.of(security.getUnderlyingId()));
          Preconditions.checkState(underlying instanceof SwapSecurity, "Failed to resolve underlying SwapSecurity. DB record potentially corrupted. '%s' returned.", underlying);
          return visitSwapSecurity((SwapSecurity) underlying);
        }

        @Override
        public CurrencyAmount visitEquityIndexOptionSecurity(final EquityIndexOptionSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getPointValue();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitInterestRateFutureSecurity(final InterestRateFutureSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getUnitAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitFederalFundsFutureSecurity(final FederalFundsFutureSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getUnitAmount();
          return CurrencyAmount.of(currency, notional);
        }

        @Override
        public CurrencyAmount visitCreditDefaultSwapIndexSecurity(final CreditDefaultSwapIndexSecurity security) {
          final InterestRateNotional notional = security.getNotional();
          return CurrencyAmount.of(notional.getCurrency(), notional.getAmount());
        }

        @Override
        public CurrencyAmount visitCreditDefaultSwapOptionSecurity(final CreditDefaultSwapOptionSecurity security) {
          final Currency currency = security.getCurrency();
          final double notional = security.getNotional();
          return CurrencyAmount.of(currency, notional);
        }
      });
      return notional;
View Full Code Here


    @Override
    public FXForwardNode buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
      final Tenor startTenor = Tenor.of(Period.parse(message.getString(START_TENOR_FIELD)));
      final Tenor maturityTenor = Tenor.of(Period.parse(message.getString(MATURITY_TENOR_FIELD)));
      final ExternalId fxForwardConvention = deserializer.fieldValueToObject(ExternalId.class, message.getByName(CONVENTION_FIELD));
      final Currency payCurrency = Currency.of(message.getString(PAY_CURRENCY_FIELD));
      final Currency receiveCurrency = Currency.of(message.getString(RECEIVE_CURRENCY_FIELD));
      final String curveNodeIdMapperName = message.getString(CURVE_MAPPER_ID_FIELD);
      if (message.hasField(NAME_FIELD)) {
        final String name = message.getString(NAME_FIELD);
        return new FXForwardNode(startTenor, maturityTenor, fxForwardConvention, payCurrency, receiveCurrency, curveNodeIdMapperName, name);
      }
View Full Code Here

  @Override
  public NonDeliverableFXForwardSecurity createSecurity(final OperationContext context, NonDeliverableFXForwardSecurityBean bean) {
    ZonedDateTime forwardDate = zonedDateTimeBeanToDateTimeWithZone(bean.getForwardDate());
    ExternalId region = externalIdBeanToExternalId(bean.getRegion());
    Currency payCurrency = currencyBeanToCurrency(bean.getPayCurrency());
    double payAmount = bean.getPayAmount();
    Currency receiveCurrency = currencyBeanToCurrency(bean.getReceiveCurrency());
    double receiveAmount = bean.getReceiveAmount();
    boolean deliverInReceiveCurrency = bean.isDeliverInReceiveCurrency();
    return new NonDeliverableFXForwardSecurity(payCurrency, payAmount, receiveCurrency, receiveAmount, forwardDate, region, deliverInReceiveCurrency);
  }
View Full Code Here

  @Override
  public InterpolatedYieldCurveSpecificationWithSecurities buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
    final LocalDate curveDate = deserializer.fieldValueToObject(LocalDate.class, message.getByName("curveDate"));
    final String name = message.getString("name");
    final Currency currency = deserializer.fieldValueToObject(Currency.class, message.getByName("currency"));
    final Interpolator1D interpolator = deserializer.fieldValueToObject(Interpolator1D.class, message.getByName("interpolator"));
    final List<FudgeField> resolvedStripFields = message.getAllByName("resolvedStrips");
    final List<FixedIncomeStripWithSecurity> resolvedStrips = new ArrayList<FixedIncomeStripWithSecurity>();
    for (final FudgeField resolvedStripField : resolvedStripFields) {
      resolvedStrips.add(deserializer.fieldValueToObject(FixedIncomeStripWithSecurity.class, resolvedStripField));
View Full Code Here

  @Override
  public FXForwardSecurity createSecurity(final OperationContext context, FXForwardSecurityBean bean) {
    ZonedDateTime forwardDate = zonedDateTimeBeanToDateTimeWithZone(bean.getForwardDate());
    ExternalId region = externalIdBeanToExternalId(bean.getRegion());
    Currency payCurrency = currencyBeanToCurrency(bean.getPayCurrency());
    double payAmount = bean.getPayAmount();
    Currency receiveCurrency = currencyBeanToCurrency(bean.getReceiveCurrency());
    double receiveAmount = bean.getReceiveAmount();
    return new FXForwardSecurity(payCurrency, payAmount, receiveCurrency, receiveAmount, forwardDate, region);
  }
View Full Code Here

    return message;
  }

  @Override
  public ForwardSwapCurveSpecification buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
    final Currency target = deserializer.fieldValueToObject(Currency.class, message.getByName(TARGET_FIELD));
    final String name = message.getString(NAME_FIELD);
    final ForwardSwapCurveInstrumentProvider provider = deserializer.fieldValueToObject(ForwardSwapCurveInstrumentProvider.class, message.getByName(INSTRUMENT_PROVIDER_FIELD));
    return new ForwardSwapCurveSpecification(name, target, provider);
  }
View Full Code Here

      Currency target);

  @Override
  public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context, final ComputationTarget target, final ValueRequirement desiredValue) {
    final CurrencyMatrix matrix = (CurrencyMatrix) target.getValue();
    final Currency sourceCurrency = Currency.of(desiredValue.getConstraint(SOURCE_CURRENCY_PROPERTY));
    final Currency targetCurrency = Currency.of(desiredValue.getConstraint(TARGET_CURRENCY_PROPERTY));
    final Set<ValueRequirement> requirements = new HashSet<ValueRequirement>();
    if (getRequirements(context, desiredValue, matrix, requirements, sourceCurrency, targetCurrency)) {
      return requirements;
    } else {
      return null;
View Full Code Here

    final String valueRequirementName = getValueRequirementName();
    final ComputationTargetSpecification targetSpec = target.toSpecification();
    final CurrencyMatrix matrix = (CurrencyMatrix) target.getValue();
    final DetermineResults resultBuilder = new DetermineResults(matrix);
    for (ValueRequirement input : inputs.values()) {
      final Currency sourceCurrency = Currency.of(input.getConstraint(SOURCE_CURRENCY_TAG));
      final Currency targetCurrency = Currency.of(input.getConstraint(TARGET_CURRENCY_TAG));
      resultBuilder.present(sourceCurrency, targetCurrency);
    }
    final Set<ValueSpecification> results = Sets.newHashSetWithExpectedSize(resultBuilder._sourceCurrencies.size() * resultBuilder._targetCurrencies.size());
    final ValueProperties.Builder properties = createValueProperties();
    for (Currency sourceCurrency : resultBuilder._sourceCurrencies) {
      properties.withoutAny(SOURCE_CURRENCY_PROPERTY).with(SOURCE_CURRENCY_PROPERTY, sourceCurrency.getCode());
      for (Currency targetCurrency : resultBuilder._targetCurrencies) {
        if (resultBuilder.hasInputFor(sourceCurrency, targetCurrency)) {
          results.add(new ValueSpecification(valueRequirementName, targetSpec, properties.withoutAny(TARGET_CURRENCY_PROPERTY).with(TARGET_CURRENCY_PROPERTY, targetCurrency.getCode()).get()));
        }
      }
    }
    return results;
  }
View Full Code Here

  }

  @GET
  @Path("currencyPairs/{name}/{currency1}/{currency2}")
  public Response getPair(@PathParam("name") String name, @PathParam("currency1") String currency1Str, @PathParam("currency2") String currency2Str) {
    Currency currency1 = Currency.parse(currency1Str);
    Currency currency2 = Currency.parse(currency2Str);
    CurrencyPair result = getCurrencyPairsSource().getCurrencyPair(name, currency1, currency2);
    return responseOkFudge(result);
  }
View Full Code Here

  @Override
  public Set<ComputedValue> execute(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target, final Set<ValueRequirement> desiredValues) {
    final CurrencyMatrix matrix = (CurrencyMatrix) target.getValue();
    final Set<ComputedValue> result = Sets.newHashSetWithExpectedSize(desiredValues.size());
    for (ValueRequirement desiredValue : desiredValues) {
      final Currency sourceCurrency = Currency.of(desiredValue.getConstraint(SOURCE_CURRENCY_PROPERTY));
      final Currency targetCurrency = Currency.of(desiredValue.getConstraint(TARGET_CURRENCY_PROPERTY));
      final ValueSpecification valueSpec = new ValueSpecification(desiredValue.getValueName(), target.toSpecification(), desiredValue.getConstraints());
      final Object resultValue = getRate(matrix, desiredValue, executionContext, inputs, sourceCurrency, targetCurrency);
      if (resultValue != null) {
        result.add(new ComputedValue(valueSpec, resultValue));
      }
View Full Code Here

TOP

Related Classes of com.opengamma.util.money.Currency

Copyright © 2018 www.massapicom. 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.