This repository began as a 7th-semester minor project and evolved into our 8th-semester major project, "Advanced Stock Price Forecasting Using a Hybrid Model of Numerical and Textual Analysis." It utilizes Python, NLP (NLTK, spaCy), ML models, Grafana, InfluxDB, and Streamlit for data analysis and visualization.
The Advanced Stock Price Forecasting Using a Hybrid Model of Numerical and Textual Analysis project involves a comprehensive approach to predicting stock prices using both numerical data and textual analysis. The project components include:
-
Data Collection and Storage: We gathered historical stock data of major companies and stored it in an InfluxDB database to efficiently handle large-scale time-series data.
-
Data Visualization: A Grafana dashboard has been set up for real-time visualization of stock prices and analysis results, enhancing data interpretation and decision-making processes.
-
Textual Analysis for Enhanced Forecasting: We utilized Natural Language Processing (NLP) libraries, such as NLTK and spaCy, to analyze financial news and reports. This component complements numerical analysis to improve the accuracy of our hybrid forecasting model.
-
Machine Learning Models: The project used models including Naive Bayes, MLP (Multi-Layer Perceptron), Logistic Regression, and Random Forest to process both numerical and textual data, creating a robust and comprehensive stock prediction system.
-
Reddit Chatbot Data Visualization Integration: The project involved adding static and interactive plots to represent chatbot data from Reddit, using Matplotlib and Seaborn to visualize user interactions, message frequency, and topic distribution effectively.
-
Collaboration and Project Management: The repository includes contributions from all team members with well-organized tasks, ensuring seamless collaboration and effective version control.
π Stock-Market-Prediction/
βββ π Codes/ # π§ Core code modules for analysis and app development
β βββ π Historical_Data_Analysis/ # π Scripts for long-term market trend analysis
β βββ π Partial_Data_Analysis/ # π Focused short-term or segmented data analysis
β βββ π Ticker_Symbols_Stocks/ # πΉ Scripts for retrieving and managing ticker symbols
β βββ π Flask_App/ # π Web interface built using Flask framework
β
βββ π Conferences/ # π€ Presentation and academic conference materials
β
βββ π Documents/ # π Miscellaneous reports and supporting documents
β βββ π Major_Project/ # π Final-year major project resources
β β βββ π PPT/ # π½οΈ Presentation slides for the major project
β β βββ π Proforma_&_Progress_Report/ # π Official progress reports and planning forms
β β βββ π Thesis/ # π Final thesis document with research and results
β β
β βββ π Minor_Project/ # π― Minor-project materials
β βββ π PPT/ # π§Ύ Slides prepared for minor project presentation
β βββ π Proforma_&_Progress_Report/ # π Progress reports and planning forms for minor project
β βββ π Thesis/ # π Final minor project report or thesis
β
βββ π Reference_Documents/ # π Research papers and helpful external references
β
βββ π Resources/ # π οΈ Datasets, libraries, and supporting tools
β
βββ π LICENSE # π Terms and conditions for usage and distribution
βββ π README.md # π Overview, setup guide, and project introduction
π Major & Minor Project Reports Detailed thesis reports for both major and minor projects are available under their respective
Thesis
folders inDocuments/
.
π Time-Series Data Storage & Integration Step-by-step InfluxDB setup and data integration guide is available at
Codes/Historical_Data_Analysis/InfluxDB/
.
π Visualization Dashboard Setup Grafana dashboard setup and InfluxDB connection guide is available at
Codes/Historical_Data_Analysis/Grafana_Dashboard/
.
- Python: Core programming language used for data analysis, model building, and backend development.
- GitHub: Platform for version control and collaborative development.
- InfluxDB: Database for efficient time-series data storage and retrieval.
- Grafana: Tool for real-time data visualization and dashboard creation.
- Streamlit: Framework for creating interactive web applications.
- Flask: Lightweight framework for developing the projectβs backend.
- Pandas: Library for data manipulation and analysis.
- Matplotlib & Plotly: Libraries for data visualization and graphical representation.
- NLP Libraries (NLTK, spaCy): Tools for processing and analyzing text data.
- Machine Learning Libraries: Used for implementing models like Naive Bayes, MLP, Logistic Regression, and Random Forest.
For easy visualization and data management, we are using the following tools:
This section provides an overview of the stock market, project details, and descriptions of the companies used in the project, including MAANG, Nvidia, Microsoft, and TCS.
This section displays numerical data of the stock market, featuring graphs of open, high, low, and close prices along with volume bar plots, RSI, and moving averages.
This section highlights model predictions, including individual and comparative graphs of predicted and actual values for stock prices, as well as predicted RSI and moving averages.
This section visualizes sentiment analysis from news headlines, showcasing positive, negative, and neutral sentiment scores.
The hybrid model combines numerical and textual data for a comprehensive analysis.
- Streamlit: The app is deployed at: Β Stock Market Numerical and Text Hybrid Prediction
Here's an overview of the Streamlit App:



- Flask: The app codes can be seen here: Flask App Codes.
Here's an overview of the Flask App:
Madhurima Rawat | Geetanshu Dev Meshram | Sneha Jha | |
---|---|---|---|
Role | Project Planner & Developer | Data Analyst & Backend Developer | Data Analyst |
Responsibilities | Project planning, managing GitHub repo, docs, InfluxDB setup, Grafana dashboard, Streamlit & Flask, data viz & preprocessing | Model building for numerical data, Flask app design | Text data processing, model building, hybrid model creation |
Tools | GitHub, InfluxDB, Grafana, Streamlit, Python, Flask, Pandas, Matplotlib, Plotly | Python, Flask, ML libraries | NLP libraries, ML libraries, hybrid modeling tools |
GitHub | GitHub | GitHub | GitHub |
| |||
|
-
Partial Data Analysis:
- Historical Stock Prices: Yahoo Finance
- Textual and Hybrid Data:
-
Complete Historical Data:
- Alphabet (Google) (GOOG): Google Stock Price
- Apple (AAPL): Apple Stock Price
- Amazon (AMZN): Amazon Stock Price
- Meta (META): Meta Stock Price
- Netflix (NFLX): Netflix Stock Price
- Nvidia (NVDA): Nvidia Stock Price
- Microsoft (MSFT): Microsoft Stock Price
- TCS: TCS Stock Price
- Illustration Links:
- Drop a π if you find this repository useful.
- If you have any doubts or suggestions, feel free to reach us.
- Contribute and Discuss: Feel free to open issues π, submit pull requests π οΈ, or start discussions π¬ to help improve this repository!