Package com.opengamma.master.position

Examples of com.opengamma.master.position.ManageablePosition


    for (final FinancialSecurity security : securities) {
      final SecurityDocument securityToAddDoc = new SecurityDocument();
      securityToAddDoc.setSecurity(security);
      securityMaster.add(securityToAddDoc);
      final ManageablePosition position = new ManageablePosition(BigDecimal.ONE, security.getExternalIdBundle());
      final PositionDocument addedDoc = positionMaster.add(new PositionDocument(position));
      rootNode.addPosition(addedDoc.getUniqueId());
    }
    portfolioMaster.add(portfolioDoc);
  }
View Full Code Here


     
      // build the tree structure
      final ManageablePortfolioNode issuerNode = buildPortfolioTree(rootNode, security);
     
      // create the position and add it to the master
      final ManageablePosition position = createPosition(security);
      final PositionDocument addedPosition = addPosition(position);
     
      // add the position reference (the unique identifier) to portfolio
      issuerNode.addPosition(addedPosition.getUniqueId());
    }
View Full Code Here

    if (buid != null) {
      bundle = ExternalIdBundle.of(buid);
    } else {
      bundle = security.getExternalIdBundle();
    }
    return new ManageablePosition(BigDecimal.valueOf(shares), bundle);
  }
View Full Code Here

  protected ExternalIdBundle mapSecurityKey(final ExternalIdBundle securityKey) {
    return null;
  }

  protected ManageablePosition createManageablePosition(final Position position) {
    final ManageablePosition manageablePosition = new ManageablePosition();
    manageablePosition.setQuantity(position.getQuantity());
    manageablePosition.setSecurityLink(new ManageableSecurityLink(position.getSecurityLink()));
    manageablePosition.setAttributes(position.getAttributes());
    final Collection<Trade> trades = position.getTrades();
    final List<ManageableTrade> manageableTrades = new ArrayList<ManageableTrade>(trades.size());
    for (Trade trade : trades) {
      final ManageableTrade mtrade = new ManageableTrade(trade);
      final ExternalIdBundle replacementKey = mapSecurityKey(mtrade.getSecurityLink().getExternalId());
      if (replacementKey != null) {
        mtrade.getSecurityLink().setExternalId(replacementKey);
      }
      mtrade.setAttributes(trade.getAttributes());
      manageableTrades.add(mtrade);
    }
    manageablePosition.setTrades(manageableTrades);
    final String providerIdFieldName = manageablePosition.providerId().name();
    if (position.getAttributes().containsKey(providerIdFieldName)) {
      // this is here to preserve the provider id when round-tripping to and from the resolved vs managed positions.
      manageablePosition.setProviderId(ExternalId.parse(position.getAttributes().get(providerIdFieldName)));
    } else {
      manageablePosition.setProviderId(position.getUniqueId().toExternalId());
    }
    return manageablePosition;
  }
View Full Code Here

      addPosition(bucketNode, BigDecimal.valueOf(scale).multiply(_numContracts), option.getIdentifier());
    }
  }

  private void addPosition(final ManageablePortfolioNode node, final BigDecimal amount, final ExternalId optionTicker) {
    final ManageablePosition position = new ManageablePosition(amount, optionTicker);

    final LocalDate tradeDate = getRandomTradeDate(optionTicker);
    final ManageableTrade trade = new ManageableTrade(amount, optionTicker, tradeDate, null, ExternalId.of("CPARTY", "BACS"));

    position.addTrade(trade);
    final PositionDocument doc = new PositionDocument(position);
    final PositionDocument added = getToolContext().getPositionMaster().add(doc);
    node.addPosition(added);
  }
View Full Code Here

        if (security instanceof FutureSecurity) {
          trades = new BigDecimal(1 + (random.nextInt(150) - 75));
        } else {
          trades = BigDecimal.ONE;
        }
        final ManageablePosition securityPosition = new ManageablePosition(trades, security.getExternalIdBundle());
        final PositionDocument addedDoc = positionMaster.add(new PositionDocument(securityPosition));
        subNode.addPosition(addedDoc.getUniqueId());
      }
      portfolioMaster.add(subPortfolioDoc);
      rootNode.addChildNode(subNode);
View Full Code Here

  @Test
  public void newSecurityWithNoUnderlying() {
    UniqueId tradeId = _builder.addTrade(createTradeData(), BlotterTestUtils.FX_FORWARD_DATA_SOURCE, null, _nodeId);
    ManageableTrade trade = _positionMaster.getTrade(tradeId);
    UniqueId positionId = trade.getParentPositionId();
    ManageablePosition position = _positionMaster.get(positionId).getPosition();
    assertEquals(BigDecimal.ONE, trade.getQuantity());
    assertEquals(BigDecimal.ONE, position.getQuantity());
    ManageableSecurity security = _securityMaster.get(trade.getSecurityLink().getObjectId(),
                                                      VersionCorrection.LATEST).getSecurity();
    assertNotNull(security);
    security.setUniqueId(null); // so it can be tested for equality against the unsaved version
    assertEquals(BlotterTestUtils.FX_FORWARD, security);
View Full Code Here

    ManageableTrade updatedTrade = _positionMaster.getTrade(updatedTradeId);
    assertEquals("updatedCounterparty", updatedTrade.getCounterpartyExternalId().getValue());
    assertEquals(LocalDate.of(2012, 12, 22), updatedTrade.getTradeDate());
    assertEquals(4321d, updatedTrade.getPremium());
    PositionDocument positionDocument = _positionMaster.get(updatedTrade.getParentPositionId());
    ManageablePosition updatedPosition = positionDocument.getPosition();
    assertEquals(updatedTrade, updatedPosition.getTrade(updatedTradeId));
    FXForwardSecurity updatedSecurity = (FXForwardSecurity) _securityMaster.get(updatedTrade.getSecurityLink().getObjectId(),
                                                                                VersionCorrection.LATEST).getSecurity();
    assertEquals(Currency.AUD, updatedSecurity.getPayCurrency());
    assertEquals(200d, updatedSecurity.getPayAmount());
  }
View Full Code Here

                                         BlotterTestUtils.SWAPTION_DATA_SOURCE,
                                         BlotterTestUtils.SWAP_DATA_SOURCE,
                                         _nodeId);
    ManageableTrade trade = _positionMaster.getTrade(tradeId);
    UniqueId positionId = trade.getParentPositionId();
    ManageablePosition position = _positionMaster.get(positionId).getPosition();
    assertEquals(BigDecimal.ONE, trade.getQuantity());
    assertEquals(BigDecimal.ONE, position.getQuantity());
    SwaptionSecurity security = (SwaptionSecurity) _securityMaster.get(trade.getSecurityLink().getObjectId(),
                                                                       VersionCorrection.LATEST).getSecurity();
    assertNotNull(security);
    // check this later
    ExternalId underlyingId = security.getUnderlyingId();
View Full Code Here

    ManageableTrade updatedTrade = _positionMaster.getTrade(updatedTradeId);
    assertEquals("updatedCounterparty", updatedTrade.getCounterpartyExternalId().getValue());
    assertEquals(LocalDate.of(2012, 12, 22), updatedTrade.getTradeDate());
    assertEquals(4321d, updatedTrade.getPremium());
    PositionDocument positionDocument = _positionMaster.get(updatedTrade.getParentPositionId());
    ManageablePosition updatedPosition = positionDocument.getPosition();
    assertEquals(updatedTrade, updatedPosition.getTrade(updatedTradeId));
    SwaptionSecurity updatedSecurity = (SwaptionSecurity) _securityMaster.get(updatedTrade.getSecurityLink().getObjectId(),
                                                                              VersionCorrection.LATEST).getSecurity();
    assertFalse(updatedSecurity.isPayer());
    assertEquals(LongShort.LONG, updatedSecurity.getLongShort());
    assertEquals(Currency.CAD, updatedSecurity.getCurrency());
View Full Code Here

TOP

Related Classes of com.opengamma.master.position.ManageablePosition

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.