// ML & Quant Finance

Nifty 50
Portfolio
Optim.

↗ GitHub

ML framework constructing and evaluating five optimized portfolios on Nifty 50 data (2014–2023) — achieving a best Sharpe Ratio of 3.26 with Hierarchical Risk Parity, outperforming all Mean-Variance baselines.

// Best Sharpe Ratio
3.26
HRP Portfolio
// Best Annualized Return
23.7%
All Nifty 50 (MVO)
// Best CVaR (95%)
−0.1%
HRP Portfolio
// Data Period
10 Years
2014 – 2023
// Overview
Overview
Constructed and evaluated five investment portfolios using a decade of Nifty 50 stock data. The framework integrates XGBoost-based return prediction, GARCH volatility modeling, K-Means sector clustering, and multiple optimization strategies — Mean-Variance, Equal Weight, Minimum Volatility, CVaR, and Hierarchical Risk Parity. The HRP portfolio achieved a Sharpe Ratio of 3.26 with near-zero tail risk, comprehensively outperforming all Mean-Variance baselines.
// Specs
Specifications
Dataset
Nifty 50 stocks · 2014–2023
Prediction Model
XGBoost (return forecasting)
Volatility Model
GARCH (dynamic risk estimation)
Clustering
K-Means (sector grouping)
Portfolios
MVO · Equal Weight · Min Vol · CVaR · HRP
Risk Simulation
Monte Carlo (10,000 simulations)
// Results
Portfolio Comparison
Portfolio Sharpe Ratio Ann. Return CVaR 95%
HRP Best 3.26 18.4% −0.1%
All Nifty 50 (MVO) 2.87 23.7% −1.8%
Min Volatility 2.41 14.2% −0.9%
CVaR Optimal 2.63 16.8% −0.4%
Equal Weight 1.94 19.1% −2.3%
// Features
Features
01
XGBoost-based return prediction with technical indicators and rolling features
02
GARCH volatility modeling for dynamic, time-varying risk estimation
03
K-Means sector clustering to group and diversify correlated asset exposure
04
Hierarchical Risk Parity allocation using dendrogram-based inverse-variance weighting
05
Monte Carlo simulation (10,000 runs) for forward-looking risk and return distributions
06
Comparative evaluation across five strategies using Sharpe Ratio, CVaR, and annualized return
// Tech Stack
Tech Stack
Python XGBoost GARCH (arch) HRP K-Means Monte Carlo Mean-Variance (cvxpy) Pandas NumPy Matplotlib Seaborn yfinance
Interested
in Quant
Finance?

Want to discuss portfolio optimization strategies, quant finance methodology, or explore collaboration on financial ML projects? Let's talk.

Get In Touch →