Stock_Predictor_V2 is a Python-based project that leverages data extraction, data engineering, regression modeling, time series analysis, and reinforcement learning to predict and analyze stock market data. This project aims to provide insights into stock price trends, make predictions, and even includes a basic trading bot.
The Stock_Predictor_V2 project is divided into several key components:
-
Data Extraction and Data Engineering:
- Utilizes the
yfinancemodule to efficiently collect historical market data, such as stock prices and financial information, from Yahoo Finance. - Performs data engineering tasks, including feature extraction and trend analysis.
- Utilizes the
-
Regression Modeling:
- Applies linear and polynomial regression models to predict stock price changes.
- Determines the optimal model complexity based on evaluation metrics like mean absolute percentage error (MAPE).
-
Time Series Analysis:
- Explores LSTM and CNN neural network models for time series analysis of stock data.
- Trains models to capture patterns and make predictions.
-
Reinforcement Learning and Trading Bot:
- Develops a basic trading bot using reinforcement learning techniques.
- Utilizes OpenAI Gym and Stable Baselines libraries for RL agent training.
The project's directory structure is organized as follows:
models/: Stores trained regression and reinforcement learning models.Predictions_code.py: Python script containing the core functionality of the project.README.md: This readme file.requirements.txt: Lists the project's dependencies.
To get started with the Stock_Predictor_V2 project, follow these steps:
-
Clone this repository to your local machine:
git clone https://github.com/your-username/Stock_Predictor_V2.git
-
Install the project's dependencies using pip:
pip install -r requirements.txt
-
Ensure you have Python installed, preferably Python 3.7 or higher.
To use the Stock_Predictor_V2 project, follow these usage instructions:
-
Run the main Python script, e.g.,
main_gui.py, to interact with the project's functionalities. -
Select a stock model or enter "Other" to create a new model by providing a stock ticker symbol.
-
Explore the generated results, including regression analysis, time series predictions, and trading bot performance.
The project provides insights into stock market data analysis and prediction. However, the performance of the trading bot may vary, and further enhancements can be made for more accurate trading strategies.
Contributions to Stock_Predictor_V2 are welcome! To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes.
- Commit your changes and create a pull request.