- Stock Price Predictions: Uses models like Linear Regression, Random Forest, Gradient Boosting, XGBoost, Support Vector Regressor, Multi-Layer Perceptron, and LSTM to forecast stock prices.
- Technical Indicators: Analyzes popular indicators such as Moving Averages, RSI, MACD, etc.
- Interactive GUI: Visualizes stock performance and prediction results using Matplotlib and Plotly.
- Feature Engineering: Automated feature selection using SelectKBest for improved accuracy.
- Hyperparameter Tuning: Optimizes models with GridSearchCV.
- Frontend: PyQt5
- Backend: Python, Machine Learning models (Scikit-learn, TensorFlow, XGBoost)
- Data Sources:
yfinancefor stock data - Libraries Used:
pandasfor data manipulationmatplotlib&plotlyfor visualizationseabornfor statistical plotsscikit-learnfor machine learning algorithms and utilitiestensorflow&kerasfor deep learning (LSTM)xgboostfor gradient boosting algorithms
-
Clone the repository:
git clone https://github.com/aseng21/Stock_Market_Analysis cd Stock_Market_Analysis -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
- Select a Stock: Enter a stock ticker (e.g., AAPL, TSLA) to retrieve historical data.
- Choose Model & Indicator: Select a prediction model and any technical indicators you'd like to analyze.
- Train & Predict: The app will train the selected model and display predictions along with relevant charts.
- View Results: Analyze the predicted stock price, model performance metrics, and visual trends.
- Linear Regression
- Random Forest
- Gradient Boosting
- XGBoost
- Support Vector Regressor
- Multi-Layer Perceptron (MLP)
- Long Short-Term Memory (LSTM)
Feel free to contribute by submitting a pull request. Please ensure all changes are tested and documented.
- Add more machine learning models and techniques.
- Improve the GUI with additional customization options.
- Implement advanced portfolio management tools.
- Add support for cryptocurrency predictions.