Package com.opengamma.core.position.impl

Examples of com.opengamma.core.position.impl.SimplePortfolioNode


    |  |_trade2
    |_pos2
    5     |_trade3
    */
    EquitySecurity security = new EquitySecurity("exchange", "exchangeCode", "companyName", Currency.USD);
    SimplePortfolioNode portfolioRoot = new SimplePortfolioNode();
    SimplePosition position1 = new SimplePosition();
    SimpleSecurityLink securityLink = new SimpleSecurityLink();
    securityLink.setTarget(security);
    position1.setSecurityLink(securityLink);
    position1.addTrade(new SimpleTrade());
    position1.addTrade(new SimpleTrade());
    SimplePosition position2 = new SimplePosition();
    position2.setSecurityLink(securityLink);
    position2.addTrade(new SimpleTrade());
    portfolioRoot.addPosition(position1);
    portfolioRoot.addPosition(position2);

    AnalyticsNode root = new AnalyticsNode.PortfolioNodeBuilder(portfolioRoot).getRoot();
    assertEquals(0, root.getStartRow());
    assertEquals(5, root.getEndRow());
    assertEquals(2, root.getChildren().size());
View Full Code Here


    */
    FXForwardSecurity security = new FXForwardSecurity(Currency.GBP, 123,
                                                       Currency.USD, 321,
                                                       LocalDate.of(2012, 12, 21).atTime(11, 0).atZone(ZoneOffset.UTC),
                                                       ExternalId.of("Reg", "ABC"));
    SimplePortfolioNode portfolioRoot = new SimplePortfolioNode();
    SimplePosition position1 = new SimplePosition();
    SimpleSecurityLink securityLink = new SimpleSecurityLink();
    securityLink.setTarget(security);
    position1.setSecurityLink(securityLink);
    position1.addTrade(new SimpleTrade());
    SimplePosition position2 = new SimplePosition();
    position2.setSecurityLink(securityLink);
    position2.addTrade(new SimpleTrade());
    portfolioRoot.addPosition(position1);
    portfolioRoot.addPosition(position2);

    AnalyticsNode root = new AnalyticsNode.PortfolioNodeBuilder(portfolioRoot).getRoot();
    assertEquals(0, root.getStartRow());
    assertEquals(2, root.getEndRow());
    assertEquals(0, root.getChildren().size());
View Full Code Here

@Test(groups = TestGroup.UNIT)
public class AnalyticsNodeBuilderTest {

  @Test
  public void emptyPortfolio() {
    AnalyticsNode root = new AnalyticsNode.PortfolioNodeBuilder(new SimplePortfolioNode()).getRoot();
    assertEquals(0, root.getStartRow());
    assertEquals(0, root.getEndRow());
    assertTrue(root.getChildren().isEmpty());
  }
View Full Code Here

    assertTrue(root.getChildren().isEmpty());
  }

  @Test
  public void flatPortfolio() {
    SimplePortfolioNode portfolioRoot = new SimplePortfolioNode("");
    portfolioRoot.addPosition(new SimplePosition());
    portfolioRoot.addPosition(new SimplePosition());
    portfolioRoot.addPosition(new SimplePosition());
    portfolioRoot.addPosition(new SimplePosition());
    portfolioRoot.addPosition(new SimplePosition());

    AnalyticsNode root = new AnalyticsNode.PortfolioNodeBuilder(portfolioRoot).getRoot();
    assertEquals(0, root.getStartRow());
    assertEquals(5, root.getEndRow()); // 1 node for the root and one each for the positions
    assertTrue(root.getChildren().isEmpty());
View Full Code Here

    2   |_pos
    3   |_child1
    4      |_pos
    5      |_pos
    */
    SimplePortfolioNode portfolioChild = new SimplePortfolioNode();
    portfolioChild.addPosition(new SimplePosition());
    portfolioChild.addPosition(new SimplePosition());
    SimplePortfolioNode portfolioRoot = new SimplePortfolioNode("");
    portfolioRoot.addChildNode(portfolioChild);
    portfolioRoot.addPosition(new SimplePosition());
    portfolioRoot.addPosition(new SimplePosition());

    AnalyticsNode root = new AnalyticsNode.PortfolioNodeBuilder(portfolioRoot).getRoot();
    assertEquals(0, root.getStartRow());
    assertEquals(5, root.getEndRow());
    assertEquals(1, root.getChildren().size());
View Full Code Here

    child.setParentNodeId(parent.getUniqueId());
    parent.addChildNode(child);
  }

  private SimplePortfolioNode[] createPortfolioNodes() {
    final SimplePortfolioNode nodes[] = new SimplePortfolioNode[7];
    for (int i = 0; i < nodes.length; i++) {
      nodes[i] = new SimplePortfolioNode(nextUniqueId(), "node " + i);
    }
    linkNodes(nodes[0], nodes[1]);
    linkNodes(nodes[0], nodes[2]);
    linkNodes(nodes[1], nodes[3]);
    linkNodes(nodes[1], nodes[4]);
View Full Code Here

    final FudgeMsg message = runPortfolioNodeTest(createPortfolioWithPositions());
    assertEquals(0, countParents(message));
  }

  public void testPortfolioWithParent() {
    final SimplePortfolioNode root = createPortfolioNodes()[0];
    root.setParentNodeId(nextUniqueId());
    final FudgeMsg message = runPortfolioNodeTest(root);
    assertEquals(1, countParents(message));
  }
View Full Code Here

    return node;
  }

  private SimplePortfolioNode createNode(final UniqueId parentNodeId, int depth) {
    final int id = _nodeId++;
    final SimplePortfolioNode node = new SimplePortfolioNode(UniqueId.of("Node", Integer.toString(id)), "Node " + id) {

      private static final long serialVersionUID = 1L;

      @Override
      public void setUniqueId(final UniqueId uid) {
        // No-op
      }

    };
    if (parentNodeId != null) {
      node.setParentNodeId(parentNodeId);
    }
    if (depth > 0) {
      node.addChildNode(createNode(node.getUniqueId(), depth - 1));
      node.addChildNode(createNode(node.getUniqueId(), depth - 1));
    }
    node.addPosition(createPosition());
    node.addPosition(createPosition());
    addTarget(new ComputationTarget(ComputationTargetType.PORTFOLIO_NODE, portfolioNode(node)));
    return node;
  }
View Full Code Here

  }

  public void testEmptyView() {
    final ExternalId secIdentifier = ExternalId.of("SEC", "1");
    final SimplePosition pos = new SimplePosition(new BigDecimal(1), secIdentifier);
    final SimplePortfolioNode pn = new SimplePortfolioNode("node");
    pn.addPosition(pos);
    final SimplePortfolio p = new SimplePortfolio(UniqueId.of("FOO", "BAR"), "portfolio");
    p.setRootNode(pn);
    final MockPositionSource positionSource = new MockPositionSource();
    positionSource.addPortfolio(p);
    final SimpleSecurity defSec = new SimpleSecurity("");
View Full Code Here

  }

  public void testSingleValueNoLiveData() {
    final ExternalId secIdentifier = ExternalId.of("SEC", "1");
    final SimplePosition pos = new SimplePosition(new BigDecimal(1), secIdentifier);
    final SimplePortfolioNode pn = new SimplePortfolioNode("node");
    pn.addPosition(pos);
    final SimplePortfolio p = new SimplePortfolio(UniqueId.of("FOO", "BAR"), "portfolio");
    p.setRootNode(pn);
    final MockPositionSource positionSource = new MockPositionSource();
    positionSource.addPortfolio(p);
    final SimpleSecurity defSec = new SimpleSecurity("My Sec");
    defSec.addExternalId(secIdentifier);
    final InMemorySecuritySource securitySource = new InMemorySecuritySource();
    securitySource.addSecurity(defSec);
    // This function doesn't actually require anything, so it can compute at the node level without anything else.
    // Hence, the only target will be the node.
    final MockFunction fn1 = MockFunction.getMockFunction(new ComputationTarget(ComputationTargetType.PORTFOLIO_NODE, pn), 14.2);
    final InMemoryFunctionRepository functionRepo = new InMemoryFunctionRepository();
    functionRepo.addFunction(fn1);
    final FunctionCompilationContext functionCompilationContext = new FunctionCompilationContext();
    functionCompilationContext.setFunctionInitId(123);
    functionCompilationContext.setSecuritySource(securitySource);
    final CompiledFunctionService cfs = new CompiledFunctionService(functionRepo, new CachingFunctionRepositoryCompiler(), functionCompilationContext);
    cfs.initialize();
    final DefaultFunctionResolver functionResolver = new DefaultFunctionResolver(cfs);
    final DefaultCachingComputationTargetResolver computationTargetResolver = new DefaultCachingComputationTargetResolver(new DefaultComputationTargetResolver(securitySource, positionSource),
        _cacheManager);
    functionCompilationContext.setRawComputationTargetResolver(computationTargetResolver);
    final ViewCompilationServices vcs = new ViewCompilationServices(new FixedMarketDataAvailabilityProvider(), functionResolver, functionCompilationContext, new PoolExecutor(1, getClass()
        .getSimpleName()),
        new DependencyGraphBuilderFactory());
    final ViewDefinition viewDefinition = new ViewDefinition("My View", UniqueId.of("FOO", "BAR"), "kirk");
    // We've not provided a function that targets the position level, so we can't ask for it.
    viewDefinition.getResultModelDefinition().setPositionOutputMode(ResultOutputMode.NONE);
    final ViewCalculationConfiguration calcConfig = new ViewCalculationConfiguration(viewDefinition, "Fibble");
    calcConfig.addPortfolioRequirementName("My Sec", "OUTPUT");
    viewDefinition.addViewCalculationConfiguration(calcConfig);
    final CompiledViewDefinitionWithGraphsImpl compiledViewDefinition = ViewDefinitionCompiler.compile(viewDefinition, vcs, Instant.now(), VersionCorrection.LATEST);
    assertTrue(compiledViewDefinition.getMarketDataRequirements().isEmpty());
    assertEquals(1, compiledViewDefinition.getDependencyGraphExplorers().size());
    assertNotNull(compiledViewDefinition.getDependencyGraphExplorer("Fibble"));
    assertTargets(compiledViewDefinition, pn.getUniqueId());
  }
View Full Code Here

TOP

Related Classes of com.opengamma.core.position.impl.SimplePortfolioNode

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.