| name | markowitz-optimizer |
| description | 均值-方差优化器,计算有效前沿、最小方差组合与最大夏普组合。适用于多资产组合配置的风险预算学习。简化实现不含交易成本、税费与流动性约束,不适用于实盘投资决策,不构成投资建议。 |
| version | 1.0.0 |
| author | wangyi |
markowitz-optimizer
马科维茨均值方差优化工具,计算有效前沿、最小方差组合与最大夏普组合,仅使用 Python 标准库。
脚本API
compute_mean_returns(returns)
计算各资产的预期收益率(均值)。
必填: returns
compute_cov_matrix(returns)
计算协方差矩阵。
必填: returns
portfolio_return(weights, mean_returns)
计算组合预期收益。
必填: weights, mean_returns
portfolio_volatility(weights, cov_matrix)
计算组合波动率(标准差)。
必填: weights, cov_matrix
sharpe_ratio(weights, mean_returns, cov_matrix, risk_free_rate=0.0)
计算夏普比率。
必填: weights, mean_returns, cov_matrix
min_variance_portfolio(cov_matrix, allow_short=False, max_iter=10000, tolerance=1e-10)
计算最小方差组合权重。
必填: cov_matrix
max_sharpe_portfolio(mean_returns, cov_matrix, risk_free_rate=0.0, allow_short=False, n_samples=50000, seed=42)
计算最大夏普比率组合。
必填: mean_returns, cov_matrix
efficient_frontier(mean_returns, cov_matrix, risk_free_rate=0.0, n_points=20, allow_short=False, seed=42)
计算有效前沿。
必填: mean_returns, cov_matrix
optimize(mean_returns, cov_matrix, risk_free_rate=0.0, allow_short=False, n_frontier_points=20)
统一均值方差优化接口。
必填: mean_returns, cov_matrix
调用示例
python scripts/main.py \
--mean-returns <mean_returns> \
--cov-matrix <cov_matrix> \
--risk-free-rate <risk_free_rate> \
--allow-short <allow_short> \
--n-frontier-points <n_frontier_points>