Weight Optimization

This module provides a comprehensive set of tools for portfolio managers and quantitative analysts to optimize asset allocation strategies and evaluate their performance.

Tutorials are the best documentation — Weight Optimization Tutorial

Key Features

  • Multiple optimization strategies

  • Comprehensive performance analysis

  • Risk-adjusted return metrics

  • Portfolio composition visualization

  • Drawdown and contribution analysis

  • Correlation and clustering analysis

  • Daily weight tracking

Usage

To use the Weight Optimization module, you first need to prepare your dataset. Here's an example of how to set up and run the optimization:

import sovai as sov

# Authenticate
sov.token_auth(token="your_authentication_token")

# Prepare your data
df_price = sov.data("market/closeadj")
df_mega = df_price.select_stocks("mega").date_range("2000-01-01")
df_returns = df_mega.calculate_returns().dropna(axis=1, how="any")

# Select the most uncorrelated stocks
feature_importance = df_returns.importance()
df_select = df_returns[feature_importance["feature"].head(25)]

# Run weight optimization
portfolio = df_select.weight_optimization()

Overall Portfolio Analysis

Sharpe Ratio Distribution

Shows the distribution of Sharpe ratios across different strategies, helping to understand the consistency of risk-adjusted returns.

Cumulative Returns Plot

Displays the cumulative returns of all portfolio strategies over time, allowing for easy comparison of overall performance.

Overall Composition Plot

Illustrates the asset allocation of all strategies, allowing for a comparison of how different models allocate capital.

Best Performing Model

Identifies the strategy that performed best according to the Sharpe ratio.

Performance Summary

Provides a comprehensive summary of key performance metrics for all strategies, including returns, volatility, Sharpe ratio, and more.

Model-Specific Analysis

For model-specific analysis, replace "model_name" with the actual model name (e.g., HRP, HERC, NCO, or EQUAL).

Cumulative Returns

Displays the cumulative returns of the specific model over the backtesting period.

Backtest Report

Detailed performance statistics from the backtesting period for the specific model.

Rolling Sharpe Ratio

Visualizes how the Sharpe ratio of the model changes over time, indicating consistency of performance.

Model Composition

Illustrates the asset allocation for the specific model.

Drawdown Contribution

Shows which assets contribute most to the portfolio's drawdowns, helping identify risk sources.

Sharpe Ratio Contribution

Indicates which assets contribute most to the portfolio's Sharpe ratio, highlighting return drivers.

Correlation Heatmap

Displays the correlation structure of assets used in the model (not available for EQUAL).

Clustering Dendrogram

Visualizes the hierarchical clustering of assets used in the model (not available for EQUAL).

Provides the model's most recent recommended asset allocation.

Sharpe Ratio Distribution

Shows the distribution of Sharpe ratio helping to understand the consistency of risk-adjusted returns.

Daily Weights

Shows how the model's asset allocation changes day-by-day over the backtesting period.

Last updated

Was this helpful?