Optimizing Portfolio Performance through Clustering and Sharpe Ratio-Based Optimization: A Comparative Backtesting Approach
ArXiv ID: 2501.12074 “View on arXiv”
Authors: Unknown
Abstract
Optimizing portfolio performance is a fundamental challenge in financial modeling, requiring the integration of advanced clustering techniques and data-driven optimization strategies. This paper introduces a comparative backtesting approach that combines clustering-based portfolio segmentation and Sharpe ratio-based optimization to enhance investment decision-making. First, we segment a diverse set of financial assets into clusters based on their historical log-returns using K-Means clustering. This segmentation enables the grouping of assets with similar return characteristics, facilitating targeted portfolio construction. Next, for each cluster, we apply a Sharpe ratio-based optimization model to derive optimal weights that maximize risk-adjusted returns. Unlike traditional mean-variance optimization, this approach directly incorporates the trade-off between returns and volatility, resulting in a more balanced allocation of resources within each cluster. The proposed framework is evaluated through a backtesting study using historical data spanning multiple asset classes. Optimized portfolios for each cluster are constructed and their cumulative returns are compared over time against a traditional equal-weighted benchmark portfolio.
Keywords: portfolio segmentation, K-Means clustering, Sharpe ratio optimization, backtesting, risk-adjusted returns, Multi-Asset
Complexity vs Empirical Score
- Math Complexity: 5.0/10
- Empirical Rigor: 7.0/10
- Quadrant: Holy Grail
- Why: The paper employs standard but non-trivial mathematical optimization (maximizing the Sharpe ratio with SLSQP) alongside clustering, which is moderately complex. It demonstrates high empirical rigor through a detailed backtesting framework using real historical data, explicit code implementation, and specific performance metrics (e.g., total return, Sharpe ratio) comparing optimized portfolios to a benchmark.
flowchart TD
A["Research Goal:<br/>Optimize Portfolio Performance<br/>(Risk-Adjusted Returns)"] --> B["Input Data:<br/>Historical Multi-Asset Log-Returns"]
B --> C["Methodology 1:<br/>K-Means Clustering<br/>(Group assets by return similarity)"]
C --> D["Methodology 2:<br/>Sharpe Ratio Optimization<br/>(Calculate optimal weights per cluster)"]
D --> E["Computational Process:<br/>Backtesting<br/>(Construct portfolios over time)"]
E --> F["Outcome 1:<br/>Cluster-Specific<br/>Optimized Portfolios"]
E --> G["Outcome 2:<br/>Performance Comparison<br/>(Optimized vs. Equal-Weight Benchmark)"]