Skip to content

An Interactive Web-Based Dashboard to Track Trending Topics in Financial Journals using Plotly and Dash

Notifications You must be signed in to change notification settings

Isabella1118/Trending-Topics-Dashboard

 
 

Repository files navigation

An Interactive Web-Based Dashboard to Track Trending Topics in Financial Journals

This project builds a web-based interactive dashboard to detect trends in financial journals. The dashboard can be modified to detect trends for other journals.

Technologies

  • Flask 0.12 or later
  • Python 3.8 or later
  • Python libraries: numpy, pandas, NLTK, sklearn, scipy, matplotlib, plotly, jupyter_dash, dash, wordcloud
  • Anaconda Navigator

Installation Guide for Setting Up & Running the App

Environment Setup for Windows

  1. Download and install Anaconda Navigator
  2. Create a virtual environment for the project following these steps:
    • Open Anaconda Navigator
    • Click on Environment tab on the left panel
    • Click on the Create (+) button at the bottom left corner of the screen
    • Fill in the information on the dialog box and click the Create button
  3. Click on the Home tab on the left panel of Anaconda and do the followings:
    • Click on the Install button under Jupyter Notebook to install Jupyter Notebook
    • Click on the Install button under CMD.exe Prompt to install the command prompt for current environment

Application Setup and Startup

Install Required Libraries

  1. Clone this repository and save to the project folder
  2. Install the required libraries following these steps:
    • In Anaconda > Home, open Command prompt by clicking the Launch button under CMD.exe Prompt for the current environment
    • Go to project directory and type the following command in the Command prompt:
      pip install -r requirements.txt

Start & Run the App

  1. In Anaconda > Home, click on the Launch button under Jupyter Notebook to open Jupyter Notebook in the web browser.
  2. Open and run 05_dashboard.ipynb notebook. Then click on the URL output from the last cell to launch the app. Note: Sometimes the port number might already be running on your system. In that case change the port numerb to 5000 or 7000.

Environment Setup for Mac

  1. Download and install Anaconda Navigator
  2. Create a virtual environment for the project following these steps:
    • Open Anaconda Navigator
    • Click on Environment tab on the left panel
    • Click on the Create (+) button at the bottom left corner of the screen
    • Fill in the information on the dialog box and click the Create button
  3. Click on the Home tab on the left panel of Anaconda and do the followings:
    • Click on the Install button under Jupyter Notebook to install Jupyter Notebook
    • Click on the Launch button under Jupyter Notebook to launch Jupyter Notebook
    • Once the application opens on the web browser, click on New and then select Terminal
    • Inside the terminal, run conda activate trend_dashboard

Application Setup and Startup

Install Required Libraries

  1. In the same terminal,

Start & Run the App

  1. In Anaconda > Home, click on the Launch button under Jupyter Notebook to open Jupyter Notebook in the web browser.
  2. Locate and open the folder titled "uidashboard".
  3. Open and run 05_dashboard.ipynb notebook. Then click on the URL output from the last cell to launch the app. Note: Sometimes the port number might already be running on your system. In that case change the port numerb to 5000 or 7000.

Screenshots of Application

Journal Trends: Simple UI

Journal Trends: Advanced UI

Journal Trends: Diagnostics

Dataset

App Development Guide for Developers

To build the app on new dataset or rebuild the app on the updated dataset, run the following Jupyter notebooks in the order listed:

  1. Data preprocessing: 00_data_preprocessing.ipynb
  2. Feature extraction: 01_features_extraction.ipynb
  3. Data Normalization/Reduction: 02_feature_engineering.ipynb
  4. Model Results: 04_model_results.ipynb
  5. Interactive Dashboard: 05_dashboard.ipynb

About

An Interactive Web-Based Dashboard to Track Trending Topics in Financial Journals using Plotly and Dash

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 96.2%
  • Python 3.8%