This is python web application build using Streamlit for predicting stock prices using Facebook's forecasting algorithm Prophet
Please refer to the docs folder in which there is a Python based Jupyter note book detailing all relevant comments pertaining to the the individual functions this application is developed upon
This has been exported to a PDF file for ease of reading at Stock Prediction Application
This application can be executed via two methods:
- Using native local host execution via Streamlit's inbuilt web server protocol
- Using docker
Prerequisites as per the text file
pip3 install -r requirements.txt
steamlit run src/main.py
Prerequisites:
The docker logic has been developed as follows:
- Multi-stage build. In the first stage all necessary Python packages are installed inside a virtual environment
- Create a non-root user with the correct user permissions. Then copy the Python libraries from the build image into the runtime image.
- Mount local folders from your computer to the Docker container. Develop the app while using Docker and save changes.
A docker compose file has been utilised for convenience of application loading
To execute the build of the docker image build via the below command:
docker-compose build
docker run -it --rm --port '8501:8501' -v '$(pwd)/project:/usr/scr/app/project:delegated' latest
Start the Docker container in the background with docker-compose
docker-compose up -d
From local testing, to successfully run this application the minimum spec is:
- 3 vCPU
- 10 GB RAM
*** Note: This is primarily due to system requirements for running PyStan ***