晨会研究做完以后,怎样在正确的交易日、正确的时间生成一份可追溯报告?

晨会工作流与定时运行

约 9 分钟4 道小题

学完你能说清楚把板块分析和因子选股接成报告流水线,再按交易日可靠运行。

01学完这一课,你能做到什么

上一课解决的是“晨会研究什么、怎样形成候选”。这一课解决“怎样把结果按时整理出来”。产物是市场扫描报告,不是自动下单程序。

学完这一课,你应该能:

  1. 把板块分析、、报告生成和交付串成四个节点;
  2. 配置时区、交易日历、立即测试和定时触发;
  3. 处理数据过期、节点失败、重复运行和外部推送边界;
  4. 用运行清单核对报告是否真的来自本次运行。
晨会工作流的四个节点
  1. 1板块分析强度、阶段、排名
  2. 2因子选股评分、股票候选
  3. 3拼接报告Markdown 与 HTML
  4. 4交付本地保存或授权推送

一句话记住上一课定研究框架,这一课定运行和交付。

02四个节点组成一条直线

晨会示例是一条直线:板块分析 → 多因子选股 → 拼接报告 → 交付。

第一节点读取板块数据,输出静态强度、阶段、综合分和排名;第二节点计算评分并筛选候选;第三节点将结构化结果转换为 Markdown 和 HTML;第四节点把已完成报告保存到指定位置。企业微信或钉钉推送需要单独配置,并取得明确授权。

LangGraph 可以统一 State、运行记录和后续扩展;如果流程简单,普通函数顺序执行也可以。选择框架的理由应是检查、恢复和扩展,不是让流程名称显得复杂。

一句话记住框架服务于可检查和可恢复,不是增加名词。

03State 要记录输入、结果和状态

State(状态)至少要保存:运行日期、数据截止时间、股票池、板块层级、Top-N、因子版本、阶段规则版本、板块结果、选股结果、报告路径、生成状态和交付状态。

Top5 板块与 Top5 股票是否强关联,必须提前写清:

  • 如果目标是“强势板块内选股”,第二节点要用第一节点的历史成分映射筛选;
  • 如果是独立扫描,就要分成两个结果,不能让读者误以为股票都来自前五板块。

每次运行还应生成唯一标识,例如交易日期加规则版本,避免同一份报告被重复交付。

一份运行状态要回答什么
输入

用的哪天数据

运行日期、截止时间、股票池和版本。

过程

节点做了什么

板块结果、候选结果和失败信息。

输出

交付到哪里

报告路径、生成状态和交付状态。

一句话记住Top5 板块和 Top5 股票是否关联,要写进规则。

04报告不是把两个榜单贴在一起

晨报至少应包含:数据状态、市场概况、板块候选、股票候选、风险与冲突、待核验事项、方法和版本。每个候选都要能回答“为何入选”。

例如某板块当前强度高,但历史同类信号的示例约为 27.3%,报告应写成“当前强、历史可靠性弱”,保留这条冲突,而不是只展示上涨的一面。是否过滤或降低权重,需要独立验证,不能因一次永久拉黑。

先保存 Markdown,便于检索和版本比较;再生成 HTML,便于阅读。不要暗示已经存在一个统一的成熟模板,模板本身也应纳入版本管理。

报告要同时放下强弱证据
当前

板块强度高

描述今天的价格和量能状态。

历史

可靠性约 27.3%

提醒历史同类信号并不稳定。

一句话记住当前强和历史可靠,不是同一个结论。

05先更新数据,再生成晨报

先触发日 K 增量更新,再运行工作流。盘前日线通常只能使用最近一个已经完成的交易日,不能把当天还没走完的日 K 当成完整数据。

如果更新失败,不能悄悄沿用旧文件并写成“今日最新”。可以停止运行,生成醒目标记为过期的报告,或按事先定义的降级策略继续;无论哪种方式,都要显示数据日期、失败原因和影响范围。

一句话记住旧数据可以降级使用,但不能伪装成最新数据。

06定时器要同时理解时区和交易日

cron 和 APScheduler 都能安排任务。比如周一至周五 9:00 运行,但必须明确使用 Asia/Shanghai 时区。服务器可能配置成 UTC;如果不检查,任务可能错开 8 小时。服务器不一定都是 UTC,实际配置要核对。

周一至周五不等于交易日。节假日、临时休市和特殊安排需要交易日历。进程式调度器还要有常驻进程;关闭终端或退出程序,任务可能失效。正式运行需要进程管理、日志和失败告警。

还要处理重复启动、任务重叠、错过计划时间和重试。用交易日期加规则版本生成唯一运行标识,防止同一晨报被重复推送。

定时运行前的三层检查
  1. 1时钟Asia/Shanghai
  2. 2交易日节假日和临时休市
  3. 3进程常驻、日志、告警
  4. 4幂等防重跑和重复推送

一句话记住工作日、交易日和进程常驻是三件事。

07立即测试和模拟模式要拆开

simulate 参数可以表示立即运行,不必等待定时点;不加参数则按计划触发。但参数名不能自动说明使用的是虚构数据,也不能保证不会外部推送。

至少把三个开关分开:

  • 立即触发,还是按计划触发;
  • 真实数据,还是测试数据;
  • 只保存本地,还是推送外部渠道。

推荐先用立即触发、测试或只读真实数据、仅本地保存,回读报告确认数据日期和 Top-N,再启用定时和已授权的交付渠道。

一句话记住立即运行不等于测试数据,更不等于禁止外发。

08每次运行都要核对结果

不要只对照一个数字。比如板块事件数 11436 与上次一致,只能说明计数相同,不能证明计算完全一致,也不能掩盖运行中的报错。

每次运行至少核对:

  • 退出状态是否成功;
  • 输出文件的生成时间是否属于本次运行;
  • 行数和关键字段是否完整;
  • 数据哈希或抽样数值是否一致;
  • 是否误读了上一次残留结果;
  • 节点是否有错误、降级或过期提示。

多因子有效性看 、分层和稳定性;板块轮动有效性看事件研究和前推验证。晨会只负责组织这些结果,不能把尚未验证的研究包装成确定建议。

11436 之外还要核对什么
运行

退出状态

有没有报错、重试或降级。

产物

文件和字段

时间、行数、关键字段和哈希。

研究

有效性证据

IC、分层、事件研究和前推验证。

一句话记住一个计数相同,不等于整条链路正确。

09动手任务

准备一个小股票池和板块数据,分别输出板块阶段与排名、多因子候选,再把两份结果接到报告生成节点,保存 Markdown、HTML 和运行清单。

至少测试四种失败:数据缺失、某节点失败、报告生成失败、交付失败。每种情况都要确认系统不会把失败标成成功。

设置 Asia/Shanghai 时区,核对下次计划时间和交易日;立即运行一次,回读报告中的数据日期和 Top-N;未授权外部推送时只保存本地预览。

最终验收是“按时生成且内容可追溯”,不是“名单以后上涨”。

一句话记住先验收生成和追溯,再讨论研究是否有效。

检验
检验一下

4 道小题

全部答对,这一课就算真正读懂了。答错了会告诉你为什么。

01周一至周五 9:00 的任务还缺什么检查?
02立即运行参数最稳妥的理解是什么?
03事件数 11436 与上次一致,说明什么?
04数据更新失败时,哪种处理更合适?
知识卡

这一课,浓缩成一张卡

学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。

AI+金融投资训练营 · 晨会工作流与定时运行晨会自动运行的验收标准是什么?

按交易日生成报告,数据日期、规则版本、失败状态和交付结果都能回读核对。

  • 工作日不等交易日
  • 立即运行不等于测试
  • 失败不能标成功
quant.jtxaionline.com
这一课的要点

记住这 5 句话

  1. 01晨会工作流是板块分析、因子选股、报告生成和交付四个节点,State 要记录版本、日期和状态。
  2. 02报告要同时保留当前强弱、历史可靠性、风险和待核验事项,不能只贴榜单。
  3. 03先增量更新并核对数据,再生成晨报;旧数据降级时必须显示真实日期。
  4. 04定时任务要检查 Asia/Shanghai 时区、交易日历、进程常驻、重试和幂等。
  5. 05立即触发、数据模式和外部推送分开配置;一个计数一致不等于整条链路正确。
完成这一课

完成这一课

读完讲义、答对小题,这一课就算学完了。

  • 读完讲义
  • 通过随堂自测

实验数据AI+金融投资训练营教学样本。固定教学样本

固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。