01学完这一课,你能做到什么
上一课解决的是“晨会研究什么、怎样形成候选”。这一课解决“怎样把结果按时整理出来”。产物是市场扫描报告,不是自动下单程序。
学完这一课,你应该能:
- 把板块分析、、报告生成和交付串成四个节点;
- 配置时区、交易日历、立即测试和定时触发;
- 处理数据过期、节点失败、重复运行和外部推送边界;
- 用运行清单核对报告是否真的来自本次运行。
- 1板块分析强度、阶段、排名
- 2因子选股评分、股票候选
- 3拼接报告Markdown 与 HTML
- 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时钟Asia/Shanghai
- 2交易日节假日和临时休市
- 3进程常驻、日志、告警
- 4幂等防重跑和重复推送
一句话记住工作日、交易日和进程常驻是三件事。
07立即测试和模拟模式要拆开
simulate 参数可以表示立即运行,不必等待定时点;不加参数则按计划触发。但参数名不能自动说明使用的是虚构数据,也不能保证不会外部推送。
至少把三个开关分开:
- 立即触发,还是按计划触发;
- 真实数据,还是测试数据;
- 只保存本地,还是推送外部渠道。
推荐先用立即触发、测试或只读真实数据、仅本地保存,回读报告确认数据日期和 Top-N,再启用定时和已授权的交付渠道。
一句话记住立即运行不等于测试数据,更不等于禁止外发。
08每次运行都要核对结果
不要只对照一个数字。比如板块事件数 11436 与上次一致,只能说明计数相同,不能证明计算完全一致,也不能掩盖运行中的报错。
每次运行至少核对:
- 退出状态是否成功;
- 输出文件的生成时间是否属于本次运行;
- 行数和关键字段是否完整;
- 数据哈希或抽样数值是否一致;
- 是否误读了上一次残留结果;
- 节点是否有错误、降级或过期提示。
多因子有效性看 、分层和稳定性;板块轮动有效性看事件研究和前推验证。晨会只负责组织这些结果,不能把尚未验证的研究包装成确定建议。
退出状态
有没有报错、重试或降级。
文件和字段
时间、行数、关键字段和哈希。
有效性证据
IC、分层、事件研究和前推验证。
一句话记住一个计数相同,不等于整条链路正确。
09动手任务
准备一个小股票池和板块数据,分别输出板块阶段与排名、多因子候选,再把两份结果接到报告生成节点,保存 Markdown、HTML 和运行清单。
至少测试四种失败:数据缺失、某节点失败、报告生成失败、交付失败。每种情况都要确认系统不会把失败标成成功。
设置 Asia/Shanghai 时区,核对下次计划时间和交易日;立即运行一次,回读报告中的数据日期和 Top-N;未授权外部推送时只保存本地预览。
最终验收是“按时生成且内容可追溯”,不是“名单以后上涨”。
一句话记住先验收生成和追溯,再讨论研究是否有效。
4 道小题
全部答对,这一课就算真正读懂了。答错了会告诉你为什么。
这一课,浓缩成一张卡
学完可以保存或分享给朋友。保存成图片的功能会在下一版加上。
按交易日生成报告,数据日期、规则版本、失败状态和交付结果都能回读核对。
- 工作日不等交易日
- 立即运行不等于测试
- 失败不能标成功
记住这 5 句话
- 01晨会工作流是板块分析、因子选股、报告生成和交付四个节点,State 要记录版本、日期和状态。
- 02报告要同时保留当前强弱、历史可靠性、风险和待核验事项,不能只贴榜单。
- 03先增量更新并核对数据,再生成晨报;旧数据降级时必须显示真实日期。
- 04定时任务要检查 Asia/Shanghai 时区、交易日历、进程常驻、重试和幂等。
- 05立即触发、数据模式和外部推送分开配置;一个计数一致不等于整条链路正确。
完成这一课
读完讲义、答对小题,这一课就算学完了。
- 读完讲义
- 通过随堂自测
实验数据AI+金融投资训练营教学样本。固定教学样本
固定教学样本只用于解释量化研究方法,不代表任何真实标的未来表现,也不构成投资建议。