π Unsupervised Learning Trading Strategies
π Overview
This project applies Unsupervised Learning techniques to analyze stock market trends and optimize trading strategies. It primarily focuses on clustering S&P 500 stocks based on financial metrics and technical indicators to uncover hidden patterns.
π Key Features
π Data Collection:
Extracts S&P 500 stock data from Wikipedia.
Fetches historical stock prices using Yahoo Finance API (yfinance).
π Feature Engineering:
Computes technical indicators with pandas_ta (Moving Averages, RSI, Bollinger Bands).
Uses returns, volatility, and momentum-based features.
π Unsupervised Learning Approaches:
K-Means Clustering for stock grouping.
Hierarchical Clustering for deeper pattern analysis.
π Portfolio Optimization:
Applies PyPortfolioOpt to construct optimized portfolios.
Evaluates risk-adjusted returns using key financial metrics.
π Files in this Repository
File
Description
Project 1 - Unsupervised Learning Trading Strategies.ipynb
Jupyter Notebook with full analysis and code.
requirements.txt
List of dependencies for setting up the environment.
π How to Run
Clone this repository:
git clone https://github.com/yourusername/Unsupervised-Trading-Strategies.git
Install dependencies:
pip install -r requirements.txt
Run Jupyter Notebook:
jupyter notebook
Open & execute Project 1 - Unsupervised Learning Trading Strategies.ipynb.
π Future Enhancements
β Automate data fetching with APIs (Alpha Vantage, Quandl).
β Implement Dimensionality Reduction (PCA, t-SNE) to improve clustering performance.
β Enhance portfolio optimization using Reinforcement Learning techniques.
π¬ Contact
For any questions or suggestions, feel free to reach out via LinkedIn.
β If you find this project useful, don't forget to star this repository! β