| name | risk-parity |
| description | 风险平价模型,使用Newton迭代法计算等风险贡献(ERC)组合与杠杆调整。适用于风险预算与组合风控的。权重计算为简化数值求解,未考虑资产相关性动态变化与杠杆约束,不适用于实盘风控,不构成投资建议。 |
| version | 1.0.0 |
| author | wangyi |
risk-parity
风险平价策略工具,计算等风险贡献(ERC)组合,使用 Newton 迭代法求解权重,仅使用 Python 标准库。
📌 说明:本工具基于简化模型实现,仅使用 Python 标准库。结果仅供学习参考,不构成投资建议。
脚本API
portfolio_volatility(weights, cov_matrix)
计算组合波动率。
必填: weights, cov_matrix
marginal_risk_contributions(weights, cov_matrix)
计算各资产的边际风险贡献。
必填: weights, cov_matrix
risk_contributions(weights, cov_matrix)
计算各资产的风险贡献。
必填: weights, cov_matrix
erc_objective(weights, cov_matrix)
ERC目标函数:风险贡献差异的平方和。
必填: weights, cov_matrix
erc_gradient(weights, cov_matrix)
计算ERC目标函数的数值梯度。
必填: weights, cov_matrix
solve_erc_newton(cov_matrix, max_iter=1000, tolerance=1e-10, initial_weights=None)
使用Newton迭代法求解等风险贡献组合。
必填: cov_matrix
solve_erc_iterative(cov_matrix, max_iter=10000, tolerance=1e-08)
使用迭代比例调整法求解ERC组合。
必填: cov_matrix
leverage_adjust(weights, cov_matrix, target_volatility)
对风险平价组合进行杠杆调整以达到目标波动率。
必填: weights, cov_matrix, target_volatility
risk_pity_optimize(cov_matrix, method='newton', target_risk=None)
统一风险平价优化接口。
必填: cov_matrix
调用示例
python scripts/main.py \
--cov-matrix <cov_matrix> \
--method <method> \
--target-risk <target_risk> \
--initial-weights <initial_weights> \
--max-iter <max_iter> \
--target-volatility <target_volatility> \
--tolerance <tolerance> \
--weights <weights>