A股量化组合优化。当用户说"组合优化"、"portfolio optimization"、"均值方差"、"风险平价"、"最优权重"、"Black-Litterman"、"最小方差"、"最大夏普"、"怎么分配权重"、"等风险贡献"时触发。基于现代投资组合理论,对给定标的池进行量化权重优化,支持均值方差/最小方差/风...
bash
SCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts"
# 各资产日K线(用于计算收益率序列和协方差矩阵)
python "$SCRIPTS/cn_stock_data.py" kline --code [CODE] --freq daily --start [起始日期]
# 各资产最新行情
python "$SCRIPTS/cn_stock_data.py" quote --code [CODE1],[CODE2],[CODE3],...
# 无风险利率参照(十年期国债收益率,可手动指定,默认2.5%)
# 大盘基准(有效前沿对比)
python "$SCRIPTS/cn_stock_data.py" kline --code SH000300 --freq daily --start [起始日期]
bash
OPTIM="$SKILLS_ROOT/a-share-portfolio-optimize/scripts"
# 给定资产收益率矩阵,运行组合优化
python "$OPTIM/portfolio_optimizer.py" \
--returns_csv [收益率CSV路径] \
--method [min_var|max_sharpe|risk_parity|equal_weight] \
--rf 0.025 \
--long_only \
--max_weight 0.40
Step 1: 输入资产池与约束
收集用户信息:
项目说明默认值资产池股票代码列表用户提供历史窗口用于估计参数的历史区间近1年(250交易日)优化方法min_var / max_sharpe / risk_parity / equal_weight / BLmax_sharpe无风险利率Rf2.5%约束条件做多约束、个股上限、行业上限long_only, max 40%预期观点(BL)用户主观收益预期(仅BL模型需要)-
Step 2: 数据获取与收益率/风险估计
代码名称年化收益(%)年化波动(%)夏普比最大回撤(%)
相关系数矩阵热力图描述(哪些资产高度正相关、哪些负相关/低相关提供分散化收益)。
Step 3: 组合优化求解
根据用户选择的方法执行优化:
方法 A: 均值方差 / 最大夏普 (MVO - Max Sharpe)
方法 B: 最小方差 (Min Variance)
方法 C: 风险平价 (Risk Parity)
方法 D: 等权 (Equal Weight)
方法 E: Black-Litterman (可选)
调用 portfolio_optimizer.py 执行计算,输出最优权重。
Step 4: 结果展示与有效前沿
最优权重:
代码名称权重(%)风险贡献(%)
组合预期指标:
指标最优组合等权组合沪深300预期年化收益(%)预期年化波动(%)夏普比最大回撤(%)
有效前沿描述:
Step 5: 输出
维度formal(量化研报风格)brief(快速优化风格)篇幅4-6 页1-2 页统计分析完整收益/风险/相关性矩阵关键指标摘要优化方法多方法对比 + 有效前沿单一方法结果权重输出完整表格 + 风险贡献分解权重饼图描述敏感性参数敏感性分析不含理论说明含模型原理简述不含免责声明需要不需要