Create an investment management chatbot  

Create a service-based chatbot to manage a personal wealth portfolio

Last updated | By Tom Eck, Laura Bennett

Description

Create a Watson Assistant-based financial chatbot that enables you to query your investments, analyze securities, and use multiple interfaces.

Overview

Chatbots are rapidly gaining acceptance and becoming the norm for all kinds of customer interactions. In this developer journey, you will create a Watson Assistant-based chatbot that enables you to use an Investment Portfolio service to query portfolios and associated holdings. You’ll use a Simulated Instrument Analytics service to compute analytics on securities under a given scenario and will learn how to swap between a standard web interface and a Twilio interface.

When you have completed this journey, you will understand how to:

  • Create a chatbot dialog with Watson Assistant
  • Set up multiple interfaces with the Watson Assistant bot: web & Twilio
  • Access, seed and send data to the Investment Portfolio Service
  • Send data along with a scenario to the Simulated Instrument Analytics service to retrieve analytics

Flow

  1. The developer can set up multiple communication channels (for example, WebUI or Twilio). The application listens for messages from either channel.
  2. The Assistant API takes in natural language input and breaks and maps it to intents and entities that it has been trained for. The app makes a call to the respective financial service based on the intent that was identified.
  3. The context of the conversation is saved to the Cloudant DB so that the Assistant API is able to save the state and track the conversation flow of the user.
  4. The Portfolio Investment API is called if there is a query asking for information around the holdings or portfolio. An asynchronous call is made through a “Promise Request” to make the query and return the results. Subsequently, the results are parsed and formatted in a response object that is sent back to the Assistant interface.
  5. The Simulated Analytics API is called if the intent is identified as “impact analysis.” This call initially requires issuing an asynchronous “Promise Request” querying the name of the holdings currently owned using the Portfolio Investment API. This is stored in an object that is subsequently sent to the Simulated Instrument Analytics service (SIA). SIA pulls the base and conditional price out of the object in order to compare against the potential market changes and return a measure of the impact to the holdings in this scenario. (In this use case, the change scenario is querying how the portfolio would perform if the S&P 500 drops by 5%. Results are parsed and formatted in a response object that is sent back to the Assistant interface.

Related Blogs

Jax 2018 – Just An Awesome Experience

What a week! From 23rd to 27th April our Berlin team attended the Jax conference in Mainz, Germany. We had such a great time sharing our fresh perspectives, in the form of a rousing keynote and two informative sessions. The concept of this annual event with over 2,000 participants, revolves around innovating with Java, architecture,...

Continue reading Jax 2018 – Just An Awesome Experience

CloudNativeCon and KubeCon are coming to Copenhagen!

With May just around the corner, mark your calendars for an exciting event, CloudNativeCon/KubeCon, in Denmark’s capital city of Copenhagen. Many of us in the Cloud Native community already visited this beautiful city for DockerCon EU last year and we’re excited to be able to take in all of the wonderful sites again this year....

Continue reading CloudNativeCon and KubeCon are coming to Copenhagen!

Live analytics with an event store fed from Java and analyzed in Jupyter Notebook

Event-driven analytics requires a data management system that can scale to allow a high rate of incoming events while optimizing to allow immediate analytics. IBM Db2 Event Store extends Apache Spark to provide accelerated queries and lightning fast inserts. This code pattern is a simple introduction to get you started with event-driven analytics. You can...

Continue reading Live analytics with an event store fed from Java and analyzed in Jupyter Notebook

Related Links

Xignite

Deliver real-time and reference market data to your digital assets.

Tutorial

Build your chatbot with Watson Conversation.