2024 | Machine Learning, Time Series Analysis, Unsupervised Clustering
This Algorithmic Trading System was developed to identify, cluster, and optimize trading opportunities within the S&P 500 universe. By using advanced techniques like Rolling Ordinary Least Squares (OLS), factor modeling, and K-Means clustering, the system dynamically ranks equities based on technical indicators and fundamental factors. It then constructs an optimized portfolio that adapts to market conditions on a monthly basis.
Traders and investment firms are often overwhelmed by the complexity of financial markets, especially when analyzing large datasets from thousands of securities. Traditional approaches struggle to handle complex factor modeling and the volatility inherent in high-frequency market data. The challenge was to systematically incorporate multiple data sources (technical, fundamental, and factor-based) into a cohesive framework that delivers actionable trading signals.
Our Algorithmic Trading System addresses these challenges through several innovative steps:
Built on a robust Python ecosystem, this project incorporates several libraries for data retrieval, feature calculation, clustering, and optimization:
pandas_datareader
to compute rolling betasThe system has shown promising performance in backtests and experimental live trading:
Quantitative Analyst
2 months
solo (Data Scientists)
The algorithmic strategy outperformed the S&P 500 during economic growth period. Learnt alot about the importance of data preprocessing and feature engineering in building a trading strategy. Morever, I learnt alot about financial modelling and the importance of risk management in trading.