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)"]