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
= 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.
.sharpe_plot

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

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

Best Performing Model
Identifies the strategy that performed best according to the Sharpe ratio.
.best_model
'NCO'
Performance Summary
Provides a comprehensive summary of key performance metrics for all strategies, including returns, volatility, Sharpe ratio, and more.
.performance_report

Model-Specific Analysis
For model-specific analysis, replace "model_name" with the actual model name (e.g., HRP, HERC, NCO, or EQUAL).
Cumulative Returns
["model_name"].backtest_plot

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.
["model_name"].backtest_report

Rolling Sharpe Ratio
Visualizes how the Sharpe ratio of the model changes over time, indicating consistency of performance.
["model_name"].sharpe_rolling_plot

Model Composition
Illustrates the asset allocation for the specific model.
["model_name"].composition_plot

Drawdown Contribution
Shows which assets contribute most to the portfolio's drawdowns, helping identify risk sources.
["model_name"].drawdown_contribution_plot

Sharpe Ratio Contribution
Indicates which assets contribute most to the portfolio's Sharpe ratio, highlighting return drivers.
["model_name"].sharpe_contribution_plot

Correlation Heatmap
Displays the correlation structure of assets used in the model (not available for EQUAL).
["model_name"].heatmap_plot

Clustering Dendrogram
Visualizes the hierarchical clustering of assets used in the model (not available for EQUAL).
["model_name"].cluster_plot

Current Recommended Allocation
Provides the model's most recent recommended asset allocation.
["model_name"].recommended_allocation

Sharpe Ratio Distribution
Shows the distribution of Sharpe ratio helping to understand the consistency of risk-adjusted returns.
["model_name"].recommended_allocation

Daily Weights
Shows how the model's asset allocation changes day-by-day over the backtesting period.
["model_name"].daily_weights

Last updated
Was this helpful?