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

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

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

为什么要多一层推荐摘要

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

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

在量化系统里,这一层通常不是“交易信号”,而是“运营动作”。交易信号回答买卖方向,运营动作回答今天要不要人工介入、是否需要降低风险、是否可以继续观察。把这两者分开,可以避免提醒系统把一个技术信号包装成不该有的投资建议。

推荐对象

第 21 章新增 app/recommendations.py

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

这里的 action 先保持简单:REDUCE_RISKREBALANCEHOLD

  • REDUCE_RISK:先处理阻断级风险,比如单票过度集中或总仓位过高。
  • REBALANCE:没有阻断级风险,但已有调仓计划需要检查。
  • HOLD:没有明显风险,也没有达到最小调仓阈值,继续观察。

优先级

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

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

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

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

当前联动运行结果

现在可以通过第 21-25 篇共用的示例命令查看推荐摘要:

uv run python -m scripts.chapter_examples paper-ops

这条命令会先构造一个包含两只股票的模拟盘账户,再依次执行输入检查、状态保存、每日流程、推荐摘要、复盘汇总和输出检查。推荐摘要部分如下:

这次运行中,600519.SH 的持仓权重达到 49.90%,超过默认单票上限,因此推荐动作是 REDUCE_RISK。这里虽然也有一条调仓计划,但推荐层不会把它展示成普通调仓,而是优先提示风险处理。

本章更新与代码仓库

本章更新内容:

  • 新增 app/recommendations.py
  • 实现模拟盘推荐摘要对象。
  • 将快照、风控报告和调仓计划合成推荐动作。
  • 增加 paper-ops 联动示例,展示推荐摘要在完整模拟盘日流程里的输出。
  • 补充推荐动作和交易信号的边界说明。
  • 新增 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 篇只是把模拟盘内部状态整理成更适合人阅读的动作摘要。下一篇会把这些结果落到每日复盘记录里。

源码下载地址: https://pan.quark.cn/s/a4b39357ea24 谷歌公司设计了一款无费用且具备开源特性的网络浏览器,名为Chrome,因其卓越的速度、稳定性和安全性而广受赞誉。该浏览器运用了前沿的Web渲染引擎Blink以及JavaScript引擎V8,旨在保障网页载入与脚本运行的卓越效能。为应对无网络环境下的Chrome安装需求,特别准备了离线安装包。此缩文件内含32位与64位两种规格的Chrome浏览器离线安装方案,具体文件名分别为"chromedev_x64-v68.0.3423.2.exe"与"chromedev_x86-v68.0.3423.2.exe"。在文件命名中,"x64"标识64位版本,适用于64位操作系统平台,而"x86"则对应32位版本,适配32位操作系统。文件名中的"v68.0.3423.2"代表Chrome的一个特定版本号,各版本可能涵盖安全补丁、性能改进或新增功能。与32位Chrome相比,64位版本具备如下长处:能够处理更多内存容量,从而提升多任务作业能力;针对现代硬件的优化使其运行更为迅猛;64位版本更具备高级别的安全防护,能更周全地抵御恶意软件的侵袭。尽管如此,32位版本对于仍在使用32位操作系统的用户,或是在系统资源需求不高的场景下,依然适用。在部署Chrome浏览器时,用户需依据其个人计算机的操作系统平台,挑选匹配的版本进行安装。通过双击相应的.exe文件,安装流程将自动启动,一般包含接受使用许可、确定安装路径及构建桌面快捷方式等环节。若在安装阶段遭遇难题,可参照提示信息或联系技术支援获取协助,同时该缩文件发布者亦表明欢迎用户以留言形式反映问题。Chrome浏览器的主要特质涵盖:直观的用户界面设计...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值