Taxonomy Icon


Compute analytics on an investment portfolio

Get the code View the demo Try the app Build on IBM Cloud


Leverage full revaluation cashflow models in a single line of code to more readily integrate sophisticated analysis into end-user applications. Upload portfolios in the CSV format currently used in production by the industry and pull down results automatically to CSV or display in a web app.


This developer pattern demonstrates how to compute a series of analytics on a set of investments maintained in the IBM Cloud Investment Portfolio service and make use of the results.

The Investment Portfolio service is used to manage and store portfolios and financial security information, such as eligible investments, benchmarks, and user portfolios. In this pattern, users can upload their holdings via CSV files in the same format currently used in production by financial institutions.

The Instrument Analytics service is used to compute analytics on securities. This service is pre-integrated with market data and leverages myriad financial models. These financial models are cashflow generation models, meaning that they project all cashflow a given security is going to make over its lifespan in order to calculate properties of financial securities, such as current value (using present value of the cashflows) or sensitivities (to see how much cashflows change when incremental changes are made to various model inputs).

This pattern walks you through the steps required to build a web app integrating this sophisticated analysis. It includes a simplified UI that will demonstrate how to collect information on what to compute from the user, and either display results in a web app or return them in CSV format for analysis on a user’s desktop or other application.



  1. User uploads a portfolio for analysis.
  2. User selects a portfolio and which analytic to compute on the portfolio.
  3. The portfolio and analytic choices are sent to the Instrument Analytics service. Computational results are returned to the browser or downloaded in CSV format.


Find the detailed steps for this pattern in the README.