Package com.opengamma.core.position

Examples of com.opengamma.core.position.Trade


      public final Set<ComputedValue> execute(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target,
          final Set<ValueRequirement> desiredValues) throws AsynchronousExecution {
        final Clock snapshotClock = executionContext.getValuationClock();
        final ZonedDateTime now = ZonedDateTime.now(snapshotClock);
        final ValueRequirement desiredValue = Iterables.getOnlyElement(desiredValues);
        final Trade trade = target.getTrade();
        final Security security = trade.getSecurity();
        final InstrumentDefinition<?> definition;
        if (security instanceof IRFutureOptionSecurity) {
          definition = optionTradeToTxnDefnConverter.convert(trade)
        } else {
          definition = futureTradeConverter.convert(trade)
        }
        final HistoricalTimeSeriesBundle timeSeries = HistoricalTimeSeriesFunctionUtils.getHistoricalTimeSeriesInputs(executionContext, inputs);
        final InstrumentDerivative derivative = definitionConverter.convert(security, definition, now, timeSeries);
        final Double price = derivative.accept(s_priceVisitor);
        final ValueSpecification spec = new ValueSpecification(MARGIN_PRICE, target.toSpecification(), desiredValue.getConstraints().copy().get());
        return Collections.singleton(new ComputedValue(spec, price));
      }

      @Override
      public ComputationTargetType getTargetType() {
        return ComputationTargetType.TRADE;
      }

      @Override
      public boolean canApplyTo(final FunctionCompilationContext compilationContext, final ComputationTarget target) {
        final Security security = target.getTrade().getSecurity();
        return security instanceof IRFutureOptionSecurity ||
            security instanceof InterestRateFutureSecurity;
      }

      @Override
      public Set<ValueSpecification> getResults(final FunctionCompilationContext compilationContext, final ComputationTarget target) {
        return Collections.singleton(new ValueSpecification(MARGIN_PRICE, target.toSpecification(), createValueProperties().get()));
      }

      @Override
      public Set<ValueRequirement> getRequirements(final FunctionCompilationContext compilationContext, final ComputationTarget target, final ValueRequirement desiredValue) {
        try {
          final Trade trade = target.getTrade();
          final Security security = trade.getSecurity();
          Set<ValueRequirement> tsRequirements = null;
          if (security instanceof IRFutureOptionSecurity) {
            tsRequirements = definitionConverter.getConversionTimeSeriesRequirements(security, optionTradeToTxnDefnConverter.convert(trade));
          } else {
            tsRequirements = definitionConverter.getConversionTimeSeriesRequirements(security, futureTradeConverter.convert(trade));
View Full Code Here


  public Set<ComputedValue> execute(final FunctionExecutionContext executionContext, final FunctionInputs inputs, final ComputationTarget target, final Set<ValueRequirement> desiredValues) {
    final Clock snapshotClock = executionContext.getValuationClock();
    final ZonedDateTime now = ZonedDateTime.now(snapshotClock);
    final LocalDate localNow = now.toLocalDate();
    final HistoricalTimeSeriesBundle timeSeries = HistoricalTimeSeriesFunctionUtils.getHistoricalTimeSeriesInputs(executionContext, inputs);
    final Trade trade = target.getTrade();
    final IRFutureOptionSecurity security = (IRFutureOptionSecurity) trade.getSecurity();
    final ValueRequirement desiredValue = desiredValues.iterator().next();
    final Currency currency = FinancialSecurityUtils.getCurrency(security);
    final String curveName = desiredValue.getConstraint(ValuePropertyNames.CURVE);
    final String fullCurveName = curveName + "_" + currency.getCode();
    final String surfaceName = desiredValue.getConstraint(ValuePropertyNames.SURFACE);
View Full Code Here

    if (Arrays.binarySearch(yieldCurveNames, curve) < 0) {
      s_logger.error("Curve named {} is not available in curve calculation configuration called {}", curve, curveCalculationConfigName);
      return null;
    }
    final String curveCalculationMethod = curveCalculationConfig.getCalculationMethod();
    final Trade trade = target.getTrade();
    final Currency currency = FinancialSecurityUtils.getCurrency(trade.getSecurity());
    requirements.add(getJacobianRequirement(currency, curveCalculationConfigName, curveCalculationMethod));
    requirements.add(getCurveSpecRequirement(currency, curve));
    if (curveCalculationMethod.equals(MultiYieldCurvePropertiesAndDefaults.PRESENT_VALUE_STRING)) {
      requirements.add(getCouponSensitivitiesRequirement(currency, curveCalculationConfigName));
    }
    final Set<ValueRequirement> tsRequirements = getDataConverter().getConversionTimeSeriesRequirements(trade.getSecurity(),
        getTradeConverter().convert(trade));
    if (tsRequirements == null) {
      return null;
    }
    requirements.addAll(tsRequirements);
View Full Code Here

    Position pos = testResult.getRootNode().getChildNodes().get(0).getPositions().get(0);
    assertEquals(UID4, pos.getUniqueId());
    assertEquals(BigDecimal.valueOf(1235), pos.getQuantity());
    assertEquals(ExternalIdBundle.of("AA", "BB"), pos.getSecurityLink().getExternalId());
    assertEquals(1, pos.getTrades().size());
    Trade trade = pos.getTrades().iterator().next();
    assertEquals(UID5, trade.getUniqueId());
    assertEquals(BigDecimal.valueOf(1234), trade.getQuantity());
    assertEquals(ExternalIdBundle.of("CC", "DD"), trade.getSecurityLink().getExternalId());
  }
View Full Code Here

    final OffsetDateTime now = OffsetDateTime.now();
    final ManageableTrade doc = new ManageableTrade(BigDecimal.TEN, ExternalId.of("B", "C"), now.toLocalDate(), now.toOffsetTime().minusSeconds(100), ExternalId.of("CPARTY", "C100"));
    doc.setUniqueId(UID);
    when(mockPosition.getTrade(UID)).thenReturn(doc);
    MasterPositionSource test = new MasterPositionSource(mockPortfolio, mockPosition);
    Trade testResult = test.getTrade(UID);
    verify(mockPosition, times(1)).getTrade(UID);
    assertEquals(UID, testResult.getUniqueId());
    assertEquals(BigDecimal.TEN, testResult.getQuantity());
    assertEquals(ExternalId.of("B", "C").toBundle(), testResult.getSecurityLink().getExternalId());
  }
View Full Code Here

    assertEquals(position.getQuantity(), BigDecimal.ONE);
    assertEquals(mock.getResolveCalls(), 1);
    final Collection<Trade> trades = position.getTrades();
    assertEquals(trades.size(), 1);
    assertEquals(mock.getResolveCalls(), 1);
    final Trade trade = trades.iterator().next();
    assertEquals(trade.getUniqueId(), UniqueId.of("Trade", "0"));
    assertEquals(mock.getResolveCalls(), 1);
    assertEquals(trade.getQuantity(), BigDecimal.ONE);
    assertEquals(mock.getResolveCalls(), 2);
    final Security security = position.getSecurityLink().getTarget();
    assertEquals(security.getSecurityType(), "MOCK");
    assertEquals(mock.getResolveCalls(), 3);
  }
View Full Code Here

  public void testTrade() {
    final MockComputationTargetResolver mock = MockComputationTargetResolver.unresolved();
    final ComputationTargetResolver resolver = new LazyComputationTargetResolver(mock);
    final ComputationTarget target = resolver.resolve(new ComputationTargetSpecification(ComputationTargetType.TRADE, UniqueId.of("Trade", "0")), VersionCorrection.LATEST);
    final Trade trade = target.getTrade();
    assertEquals(trade.getUniqueId(), UniqueId.of("Trade", "0"));
    assertEquals(mock.getResolveCalls(), 0);
    assertEquals(trade.getAttributes(), Collections.emptyMap());
    trade.setAttributes(ImmutableMap.of("K1", "V1"));
    assertEquals(trade.getAttributes(), ImmutableMap.of("K1", "V1"));
    trade.addAttribute("K2", "V2");
    assertEquals(trade.getAttributes(), ImmutableMap.of("K1", "V1", "K2", "V2"));
    assertEquals(trade.getCounterparty(), new SimpleCounterparty(ExternalId.of("Counterparty", "Mock")));
    assertEquals(trade.getPremium(), null);
    assertEquals(trade.getPremiumCurrency(), null);
    assertEquals(trade.getPremiumDate(), null);
    assertEquals(trade.getPremiumTime(), null);
    assertEquals(trade.getTradeDate(), MockComputationTargetResolver.TODAY);
    assertEquals(trade.getTradeTime(), null);
    assertEquals(trade.getQuantity(), BigDecimal.ONE);
    assertEquals(mock.getResolveCalls(), 1);
    final Security security = trade.getSecurityLink().getTarget();
    assertEquals(security.getSecurityType(), "MOCK");
    assertEquals(mock.getResolveCalls(), 2);
  }
View Full Code Here

  }

  //-------------------------------------------------------------------------
  public void testBasicMethods() {
    final MockComputationTargetResolver resolver = MockComputationTargetResolver.resolved();
    final Trade underlying = resolver.getPositionSource().getTrade(UniqueId.of("Trade", "0"));
    Trade trade = new LazyResolvedTrade(new LazyResolveContext(resolver.getSecuritySource(), null).atVersionCorrection(VersionCorrection.LATEST), underlying);
    assertEquals(trade.getAttributes(), underlying.getAttributes());
    trade.setAttributes(ImmutableMap.of("K1", "V1"));
    assertEquals(trade.getAttributes(), underlying.getAttributes());
    trade.addAttribute("K2", "V2");
    assertEquals(trade.getAttributes().size(), 2);
    assertEquals(trade.getCounterparty(), underlying.getCounterparty());
    assertEquals(trade.getPremium(), underlying.getPremium());
    assertEquals(trade.getPremiumCurrency(), underlying.getPremiumCurrency());
    assertEquals(trade.getPremiumDate(), underlying.getPremiumDate());
    assertEquals(trade.getPremiumTime(), underlying.getPremiumTime());
    assertEquals(trade.getQuantity(), underlying.getQuantity());
    assertEquals(trade.getSecurity().getUniqueId(), underlying.getSecurity().getUniqueId());
  }
View Full Code Here

    assertEquals(trade.getSecurity().getUniqueId(), underlying.getSecurity().getUniqueId());
  }

  public void testSerialization_full() throws Exception {
    final MockComputationTargetResolver resolver = MockComputationTargetResolver.resolved();
    final Trade underlying = resolver.getPositionSource().getTrade(UniqueId.of("Trade", "0"));
    underlying.setAttributes(ImmutableMap.of("K1", "V1"));
    Trade trade = new LazyResolvedTrade(new LazyResolveContext(resolver.getSecuritySource(), null).atVersionCorrection(VersionCorrection.LATEST), underlying);
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    new ObjectOutputStream(baos).writeObject(trade);
    final Object result = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray())).readObject();
    assertTrue(result instanceof SimpleTrade);
    trade = (Trade) result;
    assertEquals(trade.getAttributes(), underlying.getAttributes());
    trade.addAttribute("K2", "V2");
    assertEquals(trade.getAttributes().size(), 2);
    assertEquals(trade.getCounterparty(), underlying.getCounterparty());
    assertEquals(trade.getPremium(), underlying.getPremium());
    assertEquals(trade.getPremiumCurrency(), underlying.getPremiumCurrency());
    assertEquals(trade.getPremiumDate(), underlying.getPremiumDate());
    assertEquals(trade.getPremiumTime(), underlying.getPremiumTime());
    assertEquals(trade.getQuantity(), underlying.getQuantity());
    assertEquals(trade.getSecurity().getUniqueId(), underlying.getSecurity().getUniqueId());
  }
View Full Code Here

    assertEquals(trade.getSecurity().getUniqueId(), underlying.getSecurity().getUniqueId());
  }

  public void testSerialization_targetResolver() throws Exception {
    final MockComputationTargetResolver resolver = MockComputationTargetResolver.resolved();
    final Trade underlying = resolver.getPositionSource().getTrade(UniqueId.of("Trade", "0"));
    underlying.setAttributes(ImmutableMap.of("K1", "V1"));
    Trade trade = new LazyResolvedTrade(new LazyResolveContext(resolver.getSecuritySource(), new DefaultCachingComputationTargetResolver(resolver,
        _cacheManager)).atVersionCorrection(VersionCorrection.LATEST), underlying);
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    new ObjectOutputStream(baos).writeObject(trade);
    final Object result = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray())).readObject();
    assertTrue(result instanceof TargetResolverTrade);
    trade = (Trade) result;
    assertEquals(trade.getAttributes(), underlying.getAttributes());
    trade.addAttribute("K2", "V2");
    assertEquals(trade.getAttributes().size(), 2);
    assertEquals(trade.getCounterparty(), underlying.getCounterparty());
    assertEquals(trade.getPremium(), underlying.getPremium());
    assertEquals(trade.getPremiumCurrency(), underlying.getPremiumCurrency());
    assertEquals(trade.getPremiumDate(), underlying.getPremiumDate());
    assertEquals(trade.getPremiumTime(), underlying.getPremiumTime());
    assertEquals(trade.getQuantity(), underlying.getQuantity());
    assertEquals(trade.getSecurity().getUniqueId(), underlying.getSecurity().getUniqueId());
  }
View Full Code Here

TOP

Related Classes of com.opengamma.core.position.Trade

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.