Scarab: A Safer, Smarter, Investment Research Platform


A Dash based web-application designed to provide novice investors a "one-stop-shop" for researching popular equities

  • Provides time-series data of price for the selected equity using
  • Supplies relevant statistics to the equity being researched via the IEX API
  • Showcases up-to-date headlines on researched companies using News API
  • Utilizes Machine Learning models to predict next day price for the selected equity using scikit-learn
  • Allows users to take notes and save articles during research


The higher level technologies used are:

  • Plotly for interactive data data visualization
  • Dash as a framwork for creating the web application
  • News API provides access to relevant news for each equity
  • IEX API provides access to financial data
  • scikit-learn for machine learning in Python

Partially inspired by the Dash web trader example

Running the web applet

The following libraries (and their dependencies) will need to be installed if not already present:

  • plotly pip install plotly
  • dash pip install dash==0.38.0
  • dash-html-components pip install dash-html-components==0.13.5
  • dash-core-components pip install dash-core-components==0.43.1
  • dash-table pip install dash-table==3.5.0
  • dash-daq pip install dash-daq==0.1.0
  • flask pip install flask
  • requests pip install requests
  • pandas pip install pandas

The requirements can be installed all at once by running: pip install -r requirements.txt

In addition, you will need to obtain and add a News API key in in the get_news() and update_news() methods. NewsAPI is linked above in the "References" section of this document.

You can run the Dash app locally by executing python3 Make sure to have 'SP500_price.csv' and 'constituents.csv' in the same directory as the applet.

A live deployment of the app can be found at


This project was developed with Python 3.6


Built With

Share this project: