研究案例 / 研究原型

投资组合风险决策引擎

一个 Python 工作流程,用于比较投资组合风险、历史压力情景敞口与约束下的再平衡决策。

实现流程

  1. 验证 ETF 价格
  2. 风险诊断
  3. 压力测试与优化
  4. 滚动比较
  5. 报告与仪表板

研究问题

在投资组合再平衡时,跟踪误差、集中度、对过往压力时期的敞口和交易成本会如何指向不同的选择?

研究动机

风险估计只有与具体决策及其背后的假设放在一起,才更有参考价值。这个项目建立了可复现的流程,用来比较多种目标,而不是把单一指标当作完整答案。它是示意性的研究系统,不是客户投资组合或投资建议。

已实现的内容

  • Python 命令行流程验证经过调整的 ETF 价格,保存本地 Parquet 数据,并计算波动率、跟踪误差、回撤、集中度和资产风险贡献。
  • 历史情景采用新冠疫情期间的市场下跌和 2022 年股债回撤时期的实际观察区间。
  • CVXPY 优化器在跟踪误差、单项资产权重和换手率约束下评估再平衡,同时计入估算的交易成本。
  • 2023—2025 年的滚动比较在相同样本外日期上评估不再平衡、规则策略和优化决策。
  • 报告代码可基于本地数据生成 CSV 表格、图表、决策摘要、稳健性分析和离线仪表板。分析模块有基于合成数据的测试。

数据与假设

示例配置包含 SPY、QQQ、IWM、IEF 和 GLD,以 SPY 为基准,使用 2018 至 2025 年的日度市场数据。价格来自 Yahoo Finance。投资组合、压力情景区间、风险预算、交易成本和再平衡频率均为明确列出的配置选择,并非针对客户要求校准。完整历史诊断与滚动比较采用不同的再平衡约定,仓库文档对此作了说明。

结果与可视化

下载市场数据并在本地运行后,代码会生成图表和离线仪表板。数据快照与生成的报告未收入公开仓库,因此这里不展示数值结果,也不声称取得了特定绩效。方法说明与稳健性说明解释了如何解读输出。

局限

Yahoo Finance 数据可能存在错误或修订。选定的 ETF 范围和历史压力区间仅供示例;协方差估计窗口、约束与成本假设都会影响决策。模型未考虑税收、市场冲击、流动性和日内执行。历史滚动比较无法证明未来绩效或危机保护能力。

从方法中得到的认识

仓库中的稳健性分析将预测跟踪误差、实际跟踪误差、压力情景敞口和分散程度分别看待。一个指标的改善,并不能证明其他指标也改善。审慎解读引擎的决策,需要保留这一区分。