Examples of FXFutureSecurity


Examples of com.opengamma.financial.security.future.FXFutureSecurity

    return getExternalIds(security);
  }

  @Override
  public List<ExternalId> visitFxFutureOptionSecurity(final FxFutureOptionSecurity security) {
    final FXFutureSecurity fxFuture = (FXFutureSecurity) _securitySource.getSingle(ExternalIdBundle.of(security.getUnderlyingId()));
    final String securityType = security.getSecurityType();
    return Arrays.asList(ExternalId.of(SECURITY_IDENTIFIER, securityType + SEPARATOR + fxFuture.getDenominator().getCode()),
        ExternalId.of(SECURITY_IDENTIFIER, securityType + SEPARATOR + fxFuture.getNumerator().getCode()));
  }
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

  }

  @Override
  public Set<ComputedValue> execute(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target, final Set<ValueRequirement> desiredValues) {
    final Position position = target.getPosition();
    final FXFutureSecurity security = (FXFutureSecurity) position.getSecurity();
    final Clock snapshotClock = executionContext.getValuationClock();
    final LocalDate now = ZonedDateTime.now(snapshotClock).toLocalDate();
    final ValueRequirement desiredValue = desiredValues.iterator().next();
    final Set<String> samplingPeriodName = desiredValue.getConstraints().getValues(ValuePropertyNames.SAMPLING_PERIOD);
    final Set<String> scheduleCalculatorName = desiredValue.getConstraints().getValues(ValuePropertyNames.SCHEDULE_CALCULATOR);
    final Set<String> samplingFunctionName = desiredValue.getConstraints().getValues(ValuePropertyNames.SAMPLING_FUNCTION);
    final Period samplingPeriod = getSamplingPeriod(samplingPeriodName);
    final LocalDate startDate = now.minus(samplingPeriod);
    final Currency payCurrency = security.getNumerator();
    final Currency receiveCurrency = security.getDenominator();
    final HistoricalTimeSeries dbTimeSeries = (HistoricalTimeSeries) inputs.getValue(ValueRequirementNames.HISTORICAL_TIME_SERIES);
    if (dbTimeSeries == null) {
      throw new OpenGammaRuntimeException("Could not get identifier / price series pair for " + security);
    }
    DoubleTimeSeries<?> ts = dbTimeSeries.getTimeSeries();
    if (ts == null) {
      throw new OpenGammaRuntimeException("Could not get price series for " + security);
    }
    if (ts.isEmpty()) {
      throw new OpenGammaRuntimeException("Empty price series for " + security);
    }
    // TODO: If we know which way up we want the time series, don't request it in "convention order" and then lookup the convention again here, request it in
    // the desired order in getRequirements using a CurrencyPair
    final CurrencyPairs currencyPairs = OpenGammaExecutionContext.getCurrencyPairsSource(executionContext).getCurrencyPairs(CurrencyPairs.DEFAULT_CURRENCY_PAIRS);
    final CurrencyPair currencyPair = currencyPairs.getCurrencyPair(security.getNumerator(), security.getDenominator());
    if (!payCurrency.equals(currencyPair.getBase()) && receiveCurrency.equals(security.getCurrency())) {
      ts = ts.reciprocal();
    }
    final Object pvObject = inputs.getValue(new ValueRequirement(ValueRequirementNames.PRESENT_VALUE, ComputationTargetType.SECURITY, security.getUniqueId()));
    if (pvObject == null) {
      throw new OpenGammaRuntimeException("Present value was null");
    }
    final double pv = (Double) pvObject;
    final Schedule scheduleCalculator = getScheduleCalculator(scheduleCalculatorName);
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

    final Set<String> receiveCurveName = constraints.getValues(ValuePropertyNames.RECEIVE_CURVE);
    if (receiveCurveName == null || receiveCurveName.isEmpty() || receiveCurveName.size() != 1) {
      return null;
    }
    final Position position = target.getPosition();
    final FXFutureSecurity future = (FXFutureSecurity) position.getSecurity();
    final Set<ValueRequirement> requirements = new HashSet<ValueRequirement>();
    final ValueProperties pvProperties = ValueProperties.builder()
        .with(ValuePropertyNames.CURRENCY, future.getCurrency().getCode())
        .with(ValuePropertyNames.PAY_CURVE, payCurveName)
        .with(ValuePropertyNames.RECEIVE_CURVE, receiveCurveName).get();
    requirements.add(new ValueRequirement(ValueRequirementNames.PRESENT_VALUE, ComputationTargetType.SECURITY, future.getUniqueId(), pvProperties));
    requirements.add(ConventionBasedFXRateFunction.getHistoricalTimeSeriesRequirement(future.getNumerator(), future.getDenominator(),
        DateConstraint.VALUATION_TIME.minus(samplingPeriodName.iterator().next()), true,
        DateConstraint.VALUATION_TIME, true));
    return requirements;
  }
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

    final Currency currency = currency();
    final double unitAmount = 0;
    final Currency numerator = currency();
    final Currency denominator = differentCurrency(numerator);
    final String category = "category";
    final FXFutureSecurity security = new FXFutureSecurity(expiry, tradingExchange, settlementExchange, currency, unitAmount, numerator, denominator, category);
    store(security);
    return security;
  }
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

    return getExternalIds(security);
  }

  @Override
  public List<ExternalId> visitFxFutureOptionSecurity(final FxFutureOptionSecurity security) {
    final FXFutureSecurity fxFuture = (FXFutureSecurity) _securitySource.getSingle(ExternalIdBundle.of(security.getUnderlyingId()));
    return Arrays.asList(ExternalId.of(Currency.OBJECT_SCHEME, fxFuture.getDenominator().getCode()),
        ExternalId.of(Currency.OBJECT_SCHEME, fxFuture.getNumerator().getCode()));
  }
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

    assertEquals(ExternalId.of(ExposureFunction.SECURITY_IDENTIFIER, "FXFUTURE_OPTION_Y"), ids.get(0));
  }

  @Test
  public void testFXFutureSecurity() {
    final FXFutureSecurity future = ExposureFunctionTestHelper.getFXFutureSecurity();
    final List<ExternalId> ids = future.accept(EXPOSURE_FUNCTION);
    assertEquals(1, ids.size());
    assertEquals(ExternalId.of(ExposureFunction.SECURITY_IDENTIFIER, "FUTURE_X"), ids.get(0));
  }
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

    assertEquals(ExternalId.of(SCHEME, "US"), ids.get(0));
  }

  @Test
  public void testFXFutureSecurity() {
    final FXFutureSecurity future = ExposureFunctionTestHelper.getFXFutureSecurity();
    final List<ExternalId> ids = future.accept(EXPOSURE_FUNCTION);
    assertNull(ids);
  }
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

    assertEquals(ExternalId.of(ExposureFunction.SECURITY_IDENTIFIER, "FXFUTURE_OPTION_X"), ids.get(0));
  }

  @Test
  public void testFXFutureSecurity() {
    final FXFutureSecurity future = ExposureFunctionTestHelper.getFXFutureSecurity();
    final List<ExternalId> ids = future.accept(EXPOSURE_FUNCTION);
    assertEquals(1, ids.size());
    assertEquals(ExternalId.of(ExposureFunction.SECURITY_IDENTIFIER, "FUTURE_Y"), ids.get(0));
  }
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

    assertNull(ids);
  }

  @Test
  public void testFXFutureOptionSecurity() {
    final FXFutureSecurity underlying = ExposureFunctionTestHelper.getFXFutureSecurity();
    final ExposureFunction exposureFunction = new ContractCategoryExposureFunction(ExposureFunctionTestHelper.getSecuritySource(underlying));
    final FxFutureOptionSecurity security = ExposureFunctionTestHelper.getFXFutureOptionSecurity();
    final List<ExternalId> ids = security.accept(exposureFunction);
    assertEquals(1, ids.size());
    assertEquals(ExternalId.of(ExposureFunction.CONTRACT_IDENTIFIER, "Currency"), ids.get(0));
View Full Code Here

Examples of com.opengamma.financial.security.future.FXFutureSecurity

    assertEquals(ExternalId.of(ExposureFunction.CONTRACT_IDENTIFIER, "Currency"), ids.get(0));
  }

  @Test
  public void testFXFutureSecurity() {
    final FXFutureSecurity future = ExposureFunctionTestHelper.getFXFutureSecurity();
    final List<ExternalId> ids = future.accept(EXPOSURE_FUNCTION);
    assertEquals(1, ids.size());
    assertEquals(ExternalId.of(ExposureFunction.CONTRACT_IDENTIFIER, "Currency"), ids.get(0));
  }
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.