Watson Stock Advisor
Create a web app for monitoring sentiment, price, and news for individual listed stocks, using IBM Watson Discovery and CloudantDB as well as Nodejs and Alpha Vantage.
Install / Use
npx skills add IBM/watson-stock-advisorInstalls into whichever agent you are using.
README
Read this in other languages: 日本語.
WARNING: This repository is no longer maintained :warning:
This repository will not be updated. The repository will be kept available in read-only mode.
Watson Stock Advisor
In this Code Pattern, we will create a web app for monitoring sentiment, price, and news for individual listed stocks, using IBM Watson Discovery and CloudantDB as well as Nodejs and Alpha Vantage. The web page is adapted from a template from Start Bootstrap by Blackrock Digital. You can find the repository for the template here, including its License.
When the reader has completed this Code Pattern, they will understand how to:
- Create and use Watson Discovery and Cloudant NoSQL Database
- Gather news from the Watson Discovery News service
- Obtain stock price information from Alpha Vantage
- Deploy a Nodejs application to input stock choices and display information
Flow
- The user adds and remove stocks they are interested in using the Web UI.
- User input is processed and routed to the backend server.
- The backend server stores stock information in a Cloudant NoSQL database for easy retrieval.
- The backend server uses Watson Discovery to find information about a specific company.
- The Watson Discovery Service queries the Watson News collection for articles related to the company.
- The Alpha Vantage APIs are queried to find market price for a given company.
- News, sentiment, and stock price are all returned and rendered in the web app to the user.
Included Components
- Watson Discovery: A cognitive search and content analytics engine for applications to identify patterns, trends, and actionable insights.
- Cloudant NoSQL DB: A fully managed data layer designed for modern web and mobile applications that leverages a flexible JSON schema.
Featured Technologies
- NodeJS: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
Watch the Video
Prerequisites
Create an Alpha Vantage account and get API key
- Create an account on Alpha Vantage by clicking
Get Your Free API Key Today. - Copy the Alpha Vantage API key for later use
Steps
Use the Deploy to IBM Cloud button OR create the services and run locally.
Deploy to IBM Cloud
- Press the above
Deploy to IBM Cloudbutton and then click onDeploy.
- In Toolchains, click on
Delivery Pipelineto watch while the app is deployed. (Note, if you get an error on the first time you deploy such asServer error, status code: 409, error code: 60016, message: An operation for service instance wsa-discovery is in progress., just click on the re-deploy button again, and it should work). Once deployed, the app can be viewed by clickingView app.
- To see the app and services created and configured for this Code Pattern, use the IBM Cloud dashboard. The app is named
watsonstockadvisorwith a unique suffix. The following services are created and easily identified by thewsa-prefix:- wsa-discovery
- wsa-cloudant
You can Deploy the application simply by clicking the Deploy to IBM Cloud button above to automatically create a toolchain to provision and run the application.
If you do not have an IBM Cloud account yet, you will need to create one.
Update the Environment of your deployed app
- Navigate to https://cloud.ibm.com/dashboard/apps/
- Located and click on your newly created application (not the 'Route' link)
- Select 'Runtime' in the left menu
- Select the 'Environment Variables' tab in the middle of the page
- Scroll down to the User defined variables section
- Paste your API key from Alpha Vantage
Run locally
- Clone the repo
- Create IBM Cloud services
- Configure Watson Discovery and Get Credentials
- Provision Cloudant NoSQL DB and Get Credentials
- Web Portal
- Add IBM Cloud Services Credentials to .env file
- Run the application
1. Clone the repo
Clone the watson-stock-advisor locally. In a terminal, run:
$ git clone https://github.com/ibm/watson-stock-advisor
2. Create IBM Cloud services
Create the following services:
3. Configure Watson Discovery and get credentials
-
Launch the Watson Discovery tool. The first time you do this, you will see "Before working with private data, we will need to set up your storage". Click
Continueand wait for the storage to be set up. -
Choose
Watson Discovery Newsfrom theManage Datatab. -
Under
Collection Infosection, clickUse this collection in APIand copy theEnvironment IDinto your .env file asDISCOVERY_ENV_ID. This should besystemfor theWatson Discovery Newscollection.
- From the top-level Discovery page, click
Service Credentials. If there is no credential underView CredentialsclickNew Credentialand thenView Credentials.
- Use the
usernameandpasswordin the .env file, as instructed below.
4. Provision Cloudant NoSQL DB and Get Credentials
-
Navigate to cloud.ibm.com
-
Click
Create Resource -
Search for
cloudant nosql -
Select the only search result under
Data & AnalyticscalledCloudant NoSQL DB -
Specify the settings you want
-
Click
Createin the bottom right -
From the top-level Cloudant page, click
Service Credentials. If there is no credential underView CredentialsclickNew Credentialand thenView Credentials.
5. Web Portal
The web page is adapted from a template from Start Bootstrap by Blackrock Digital. You can find the repository for the template here, including its License.
6. Add IBM Cloud Services Credentials to .env file
As you create the Bluemix Services, you'll need to create service credentials and get the username and password:
Move the watson-stock-advisor/web/env.sample file to watson-stock-advisor/web/.env and populate the service
credentials (and Cloudant URL) as you create the credentials:
The credentials for IBM Cloud services (Discovery), can be found in the Services menu in IBM Cloud,
by selecting the Service Credentials option for each service.
The other settings for Discovery were collected during the
earlier setup steps (ENV_ID).
Navigate to the web directory and Copy the env.sample to .env.
$ cp env.sample .env
Edit the .env file with the necessary settings.
env.sample:
# Copy this file to .env and replace the credentials with
# your own before starting the app.
# Watson Discovery
DISCOVERY_VERSION_DATE="2018-03-05"
DISCOVERY_ENV_ID="system"
DISCOVERY_URL=<add_discovery_url>
## Un-comment and use either username+password or IAM apikey.
# DISCOVERY_USERNAME=<add_discovery_username>
# DISCOVERY_PASSWORD=<add_discovery_password>
# DISCOVERY_IAM_APIKEY=<add_discovery_iam_apikey>
# Cloudant
CLOUDANT_USERNAME=<add_cloudant_username>
CLOUDANT_PASSWORD=<add_cloudant_password>
CLOUDANT_HOST=<add_cloudant_host>
DB_NAME="stock-data"
# App Config
MAX_COMPANIES=20
MAX_ARTICLES_PER_COMPANY=100
# AlphaVantage
ALPHAVANTAGE_API_KEY="demo"
7. Run the application
If you decided to run the app locally...
In the root directory, run:
$ npm install
$ npm start
The portal should now be accessible on port 8080 (or another port specified by PORT in .env)
Sample Output
<p align="center"> <img width="80%" height="80%" src="doc/source/images/SampleTop.png"> <img width="80%" height="80%" src="doc/source/images/SampleBottom.png"> </p>Links
- [Wats
Related Skills
dbx
13.6k20 MB lightweight cross-platform database client for 70+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker.
product
Cloud-agnostic Kubernetes infrastructure with Terraform & Helm for homelabs, edge, and production clusters.
ghidra-mcp
3.2kGhidra MCP Server — 200+ MCP tools for AI-powered reverse engineering. GUI plugin + headless server, lazy tool loading, convention enforcement, batch operations, Ghidra Server integration, and Docker deployment.
radar
2.8kThe missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.


