Skip to content

Latest commit

 

History

History
319 lines (241 loc) · 7.65 KB

File metadata and controls

319 lines (241 loc) · 7.65 KB

增强版ETF投资组合优化系统 - 使用指南

🎯 项目概述

本项目是一个功能强大的ETF投资组合优化系统,专为个人投资者设计,提供专业的投资决策支持。系统通过量化分析帮助用户构建最优投资组合,实现风险调整收益最大化。

🌟 核心特性

  1. 多目标优化 - 支持夏普比率、风险平价、稳定性等多种优化目标
  2. 高级风险管理 - VaR/CVaR计算、压力测试、集中度分析
  3. 动态再平衡 - 智能再平衡策略和交易成本优化
  4. 实用投资工具 - 投资增长预测、定投计算、业绩归因
  5. 综合分析报告 - 一站式投资决策支持

🚀 快速开始

1. 环境配置

# 创建conda环境
conda create -n sharpetf python=3.9 -y
conda activate sharpetf

# 安装依赖
pip install -r requirements.txt

2. 配置设置

  1. 复制配置文件:
cp config.json.example config.json
  1. 编辑 config.json
{
    "tushare_token": "your_tushare_token_here",
    "etf_codes": ["159632.SZ", "159670.SZ", "159770.SZ", "159995.SZ", "159871.SZ", "510210.SH"],
    "start_date": "20240101",
    "end_date": "20241201",
    "risk_free_rate": 0.02,
    "trading_days": 252,
    "output_dir": "outputs"
}

3. 运行系统

python main.py

📊 功能详解

1. 多目标优化引擎

系统提供四种优化策略:

最大夏普比率优化

  • 目标:最大化风险调整后收益
  • 适用:追求高收益的投资策略
  • 约束:权重和为1,不允许做空

风险平价优化

  • 目标:等风险贡献分散投资
  • 适用:稳健型投资策略
  • 特点:降低单一资产风险

稳定性优化

  • 目标:最大化收益稳定性
  • 适用:保守型投资策略
  • 权重:稳定性权重30% + 夏普比率70%

分层风险平价

  • 目标:基于相关性的智能分层
  • 适用:复杂投资组合
  • 特点:考虑资产间相关性

2. 高级风险管理

VaR/CVaR分析

# 计算不同置信度的风险价值
var_95 = risk_manager.calculate_var(returns, 0.95, 'historical')
cvar_95 = risk_manager.calculate_cvar(returns, 0.95, 'historical')

压力测试

  • 市场崩盘情景(-30%)
  • 温和下跌情景(-15%)
  • 闪电崩盘情景(-10%)
  • 熊市情景(-40%)

集中度风险

  • HHI指数计算
  • 有效持仓数量
  • 前5大持仓集中度

3. 动态再平衡策略

再平衡触发条件

  1. 时间触发:定期(月度/季度)
  2. 阈值触发:权重偏离超过5%
  3. 波动率触发:组合波动率偏离目标20%

交易成本优化

  • 最小交易金额限制
  • 交易成本计算
  • 净收益评估

4. 实用投资工具

投资增长预测

# 5年期增长预测(100万初始投资)
projection = calculator.project_portfolio_growth(
    annual_return=0.12,
    annual_volatility=0.15,
    years=5
)

定投计算器

# 月定投5000元,预期年化收益8%
dca_result = calculator.calculate_dollar_cost_averaging(
    monthly_investment=5000,
    expected_return=0.08,
    expected_volatility=0.12,
    years=10
)

📈 输出文件说明

1. 主要输出文件

文件名 内容描述
optimization_results.json 完整优化结果数据
cumulative_returns.png 累计收益对比图
efficient_frontier.png 有效前沿图
portfolio_weights.png 投资组合权重饼图
returns_distribution.png 收益率分布直方图
etf_optimizer.log 系统运行日志

2. JSON结果结构

{
    "config": "配置信息",
    "optimization_results": "优化结果",
    "performance_metrics": "绩效指标",
    "risk_analysis": "风险分析",
    "rebalancing_recommendations": "再平衡建议",
    "investment_projection": "投资预测",
    "multi_objective_comparison": "多目标比较"
}

🎛️ 高级配置

1. 风险参数调整

# 自定义置信度水平
risk_manager = get_advanced_risk_manager([0.90, 0.95, 0.99])

# 调整再平衡参数
rebalancing_engine = get_rebalancing_engine(
    transaction_cost=0.002,  # 0.2%交易成本
    min_trade_amount=5000    # 最小交易5000元
)

2. 优化参数设置

# 风险约束优化
weights, metrics = optimizer.maximize_sharpe_with_risk_constraint(
    annual_mean=mean_returns,
    cov_matrix=cov_matrix,
    max_volatility=0.12,     # 最大波动率12%
    max_drawdown=0.15        # 最大回撤15%
)

💡 投资建议解读

1. 风险评级说明

风险等级 特征 建议
低风险 VaR<2%,HHI<2000 适合保守型投资者
中风险 VaR<5%,HHI<3500 适合平衡型投资者
高风险 VaR>5%,HHI>3500 适合激进型投资者

2. 再平衡信号

  • 需要再平衡:权重偏离>5%
  • 建议立即调整:权重偏离>10%
  • 关注市场:权重偏离3-5%

3. 行业敞口分析

  • 均衡配置:单一行业<30%
  • 适度集中:单一行业30-50%
  • 高度集中:单一行业>50%

🚨 注意事项

1. 数据要求

  • Tushare积分:需要2000+积分访问fund_daily接口
  • 历史数据:建议至少2年历史数据
  • 数据质量:注意检查异常值和缺失值

2. 模型限制

  • 历史假设:基于历史数据,未来可能不同
  • 市场变化:极端市场条件下模型可能失效
  • 交易成本:实际交易成本可能高于理论值

3. 投资风险

  • 市场风险:系统性风险无法分散
  • 流动性风险:部分ETF可能存在流动性问题
  • 跟踪误差:ETF与基准存在跟踪误差

🔧 故障排除

1. 常见错误

Tushare API错误

❌ Tushare积分不足!获取 xxx 数据需要2000+积分

解决方案:访问 https://tushare.pro 购买积分

数据缺失错误

❌ 所有ETF数据获取失败!

解决方案:检查ETF代码格式和网络连接

优化失败错误

⚠️ 优化失败: xxx

解决方案:检查数据质量,系统会自动使用备用方案

2. 性能优化

  • 数据缓存:重复运行时使用缓存数据
  • 并行计算:多ETF并行获取数据
  • 内存管理:大数据集时注意内存使用

📞 技术支持

1. 日志分析

查看详细日志:

tail -f etf_optimizer.log

2. 调试模式

设置调试级别:

setup_logging("DEBUG")

3. 问题反馈

请提供以下信息:

  1. 错误日志
  2. 配置文件(去除token)
  3. ETF代码列表
  4. 运行环境信息

📝 更新日志

v2.3.0 (2025-10-06) - 代码重构优化版本

  • 🔧 统一优化引擎,自动选择CVXPY/SciPy后端
  • 🔧 统一量化信号模块,支持简单和高级模式
  • 🔧 代码精简优化,提升可维护性
  • ✅ 经过完整测试,确保功能稳定

v2.2.0 (2025-10-06) - 量化增强功能版本

  • 🚀 量化信号分析系统
  • 🚀 增强投资组合优化
  • 🚀 专业HTML报告增强

v2.1.0 (2025-10-05) - 增强功能版本

  • ✨ ETF中文名称支持
  • ✨ 复杂增长预测系统
  • ✨ 相关性分析模块

v2.0.0 (2024-12-01)

  • ✨ 新增多目标优化引擎
  • ✨ 增加高级风险管理模块
  • ✨ 实现动态再平衡策略
  • ✨ 添加实用投资工具
  • 🐛 修复已知问题
  • ⚡ 性能优化

v1.0.0 (2024-06-01)

  • 🎉 初始版本发布
  • 📊 基础夏普比率优化
  • 📈 有效前沿计算
  • 🎨 可视化图表生成

免责声明:本系统仅供学习和研究使用,不构成投资建议。投资有风险,决策需谨慎。