- Demo
- Overview
- Motivation
- Technical Aspects
- Installation
- Execution
- Deployment on Streamlit Cloud
- Technologies Used
- Team
- LICENSE
- DISCLAIMER
App link
This is a web application built extending my final year project. In that only stock price prediction across exchanges is being done. Here features extension have been done by adding functionalities such as desired news feed, stocks and crytpos analysis by providing visuals and data. For stocks data balance sheets,financial statements etc are also returned. An investor never simply invests anywhere they need to do some analysis, stay updated with the news such as what's going on out there and also need to have idea what might the future trend of the asset. With all that in mind this project have been made.Whole project is written using only python programming language.
The working of the project have 4 pages which are explained one after other in sequence
-
Home Page
- The home page works using 3 libraries. The streamlit library is for providing user interface of the page. The streamlit_lotte is for the GIF on the page. And requests have been used for the web requests purposes such as getting the yoututube video. Upon signing on user lands on the news feed page.
-
News Page
Here user can get various kinds of news based on the requirements. The news types are divided into 3 types which are explained below- International News : In this user gets international news based on the prefernce of the category selected.
- Local News : In this users gets news related to India based on the selected category.
- Particular News : This is if a user wants to read particular news then they can search for that using it.
-
Analysis Page
- Here users can get the information and insights about the stocks and crypto currencies.
-
Forecasting Page
-
Fetching Data : Program takes the user inputs such as the stock exchange, company name and forecast interval. yFinance library is used to fetch the data of the stock. By default we are taking only 5 years of data of a stock for prediction
-
Preprocessing Data : Upon fetching data we need to preprocess it.We are using LSTM as they are suitable for time-series-analysis. So we need to convert the data into LSTM compatible format.
-
Training Model : After preprocessing the data is sent to the model for training it.
-
Generating forecasts and displaying : After training the past data is used to forecast the future values.
-
pip install -r requirements.txt
streamlit run appName.py
- Create an account on streamlit
- Connect your github account with the streamlit account.
- Create an app by selecting the respective settings such as repository, path of the code etc.
Note: For guidance check here
Libraries | Usage |
---|---|
Numpy | Used for numerical computations in python |
Pandas | Used for file reading and other operations when working with large data. |
Sklearn | This is a machine learning library for python. |
Plotly | Interactive data visualization library |
TensorFlow | Deep Learning library from which model has been built |
Streamlit | Framework for providing interface of the web app |
Datetime | For datetime operations |
yFinance | For fetching stock data |
Streamlit Lottie | Used for generating gifs on the web pages |
Requests | Used during for fetching the data from web |
Wikipedia | To get information about a topic from wikipedia |
News Api | This is an api used for getting the news feed from newsapi website. |
- The video in the home page used for telling the importance of Investment is used just for educational purposes. This is not promotion of Edelweiss as it is taken for educational purposes only.
- The predictions being done here are not for financial purposes rather they are just for demonstration purposes.