程序员量化交易实战 21:把模拟盘结果压成推荐摘要
原创 · 约 6 分钟阅读 · 阅读 --
Last updated on

程序员量化交易实战 21:把模拟盘结果压成推荐摘要

作者: Alex Xiang


程序员量化交易实战 21:把模拟盘结果压成推荐摘要

古董级程序员,大厂出来后一直在创业公司,现在仍活跃在一线做 AI 相关的开发。这个专栏会把一个 A 股量化平台从 0 到 1 拆开写:数据、策略、回测、模拟盘、提醒和生产化,尽量用真实代码和真实运行结果说话。更完整的更新也会同步到微信公众号「字与码」。

第 20 篇已经能生成模拟盘日报。但日报更像“状态说明”,还不是一个适合复盘和提醒的动作摘要。

第 21 篇新增推荐摘要,把风控、调仓和持仓状态压成一个清晰动作:继续观察、检查调仓,或者优先降风险。

ZiCode 工程师整理模拟盘推荐摘要

为什么要多一层推荐摘要

风控报告告诉你哪里有问题,调仓计划告诉你可能要买卖什么,账户快照告诉你当前状态。

这些信息都重要,但提醒系统不适合把所有结构原样推给人。人每天更需要先看到一句话:今天需要做什么。

模拟盘推荐摘要

推荐对象

第 21 章新增 app/recommendations.py

@dataclass(frozen=True)
class PaperRecommendation:
    action: str
    severity: str
    summary: str
    reasons: tuple[str, ...]
    order_count: int

这里的 action 先保持简单:REDUCE_RISKREBALANCEHOLD

优先级

推荐逻辑的关键是优先级。

阻断级风控永远高于调仓建议。也就是说,如果账户已经触发单票超限或总仓位过高,系统不应该一边提醒你调仓,一边淡化风险。

if risk_report.severity == "blocker":
    action = "REDUCE_RISK"
elif rebalance_plan.orders:
    action = "REBALANCE"
else:
    action = "HOLD"

这个判断很朴素,但它把模拟盘的动作边界写进了代码。

本章更新与代码仓库

本章更新内容:

  • 新增 app/recommendations.py
  • 实现模拟盘推荐摘要对象。
  • 将快照、风控报告和调仓计划合成推荐动作。
  • 新增 tests/test_recommendations.py,覆盖风险优先、调仓建议和空账户继续观察。

代码仓库:

https://github.com/ax2/zi-quant-platform

本章代码:

git clone https://github.com/ax2/zi-quant-platform.git
cd zi-quant-platform
git checkout chapter-21
uv sync --extra dev
uv run pytest tests/test_recommendations.py

第 21 章提交为 8ede593,tag 为 chapter-21

本篇小结

推荐摘要不是预测收益,也不是投资建议。

第 21 篇只是把模拟盘内部状态整理成更适合人阅读的动作摘要。下一篇会把这些结果落到每日复盘记录里。