Skip to content

Files

Latest commit

07a28cc · Sep 2, 2023

History

History

fin_dashboard

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Sep 1, 2022
Aug 18, 2022
Sep 2, 2023
Nov 24, 2022
Aug 31, 2022
Aug 30, 2022
Sep 16, 2022
Oct 15, 2022
Jan 26, 2023
Aug 26, 2022
Feb 27, 2023
Sep 4, 2022

Fin-dashboard - Your financial markets dashboard

stock_image

Fin-dashboard is a web application that provides a dashboard for financial markets. It is built using Streamlit. It leverages the facebook's Prophet ML library to help predict the stock/index prices for next n days/months/years.

To access the web application visit Fin-dashboard.

Fin-dashboard features

Fin-dashboard provides a dashboard with the following features:

  1. Automatic detection of the user’s country to show predictions for the top five, country-specific stocks dashboard

  2. Ability for users to select long- or short-term predictions and to specify the number of forecasted days

  3. Ability for users to choose other stocks and other stock exchanges

  4. For long term predictions, a comparison of the model’s predicted price with the analyst’s target price analyst

  5. For short term predictions, a sentiment analysis of the stock news to enable visualization of its impact on stock price news

  6. Correlation of a stock with the index correlation

  7. Long term predictions for stock exchanges of different countries exchanges

To read a more detailed guide on how to use and deploy the application, refer to Edge Analytics with SUSE Rancher: Finance - Market Predictions.

To see the presentation and explanation of the Fin-dashboard project, refer to this video.

File Structure

Fin-Dashboard is composed of the following Python modules:

  1. geo_location.py: Determines the country where the user is located to give country specific information.

  2. index_correlation.py: Correlates the stock with its parent index.

  3. main.py: Contains all the Streamlit configurations/page setup and uses the other files to create the application.

  4. plot_charts.py: Contains the Prophet ML model for predicting stock prices. Contains two python functions - one for long term and other for short term predictions.

  5. sentiment.py: Collects stock news from Google News and uses the VADER sentiment analysis tool to determine the stock’s trend.

  6. stock_recomendation.py: Extracts the analyst’s price target of a stock from Yahoo Finance.

Steps to deploy the fin_dashboard app locally

  1. Install necessary libraries using pip install -r requirements.txt
  2. Run streamlit run main.py and access the application on localhost:8501

Steps to deploy the fin_dashboard as a container

  1. Pull the image from docker hub sudo docker pull navin772/fin_dashboard:latest or build the image yourself from the Dockerfile using docker build .
  2. Start a new container using the image sudo docker run -p 7000:8501 <image_id>
  3. Access the streamlit app on localhost:7000

Steps for deploying on k8s cluster

  1. Run kubectl apply -k yaml_files and kustomize will apply all the yaml files to the cluster currently configured with kubectl.
  2. Access the app on <NodeIP>:<NodePort>