这一页是写给半年后的自己的。卡片上每个字段是什么意思、怎么算出来的、看到之后该做什么、什么时候可以不理它——忘了的时候来这里查。规则版本:宽基 v1.1(方案 D + ②b)+ 行业与策略 v1.1.1(中证红利 ②b 两个月确认),2026-10 起执行。
依次是:指数名 · 档位 综合便宜度 → 本月动作。标题栏颜色跟着档位走:便宜深绿、偏便宜浅绿、中性灰、偏贵橙、贵红。
三步算出来:
| 综合便宜度 | 档位 |
|---|---|
| ≥ 80 | 便宜 |
| 60 ~ 80 | 偏便宜 |
| 40 ~ 60 | 中性 |
| 20 ~ 40 | 偏贵 |
| < 20 | 贵 |
| 指数 | 用哪几把尺子 |
|---|---|
| 沪深300、中证500 等 A 股宽基 | PE-TTM、PB(MRQ)、股息率 |
| 中证红利 | PE-TTM、PB(MRQ)、股息率(股债差只展示) |
| 恒生指数、恒生国企 | PE-TTM、PB(MRQ)、股息率、股债差 |
为什么简单平均、不加权:权重一旦根据历史数据调过,就是在拟合过去。简单平均是最不容易骗自己的做法。
便宜分位 = 现在比过去 10 年(120 个月)里百分之多少的时间更便宜。越大越便宜,每把尺子的意思都一样。
意思是:历史上综合便宜度落在同一档的时候买入、持有 2 年,实际结果是多少。
| 字段 | 怎么算 | 什么意思 | 参与判档? |
|---|---|---|---|
| 股息率 | 过去 12 个月的分红 ÷ 当前价格 | 只靠分红,每年拿回多少 | 是 |
| 股债差 | 股息率 − 中国 10 年期国债收益率 | 光靠分红就比国债多拿多少 | 恒指、国企:是 红利:仅展示 |
| ERP | (1 ÷ PE) − 中债 10 年 | 全部盈利回报比国债多多少 | 仅展示 |
ERP 只展示的原因:它基本就是“PE 倒过来再减利率”,PE 已经是一把尺子,再算等于重复计分;多出来的利率部分,研究里没有验证出可靠作用。
1bp = 0.01 个百分点。只做风险提示,不参与判档。研究发现美债急涨和恒指下跌往往同时发生,没法提前预判;美债急涨之后(这时恒指通常也在跌),恒指接下来是反弹还是继续跌,历史上也没有规律。它的用处是:知道为什么在跌,以及在利率冲击期,买入后价格可能还会再往下走一段。
恒指专用。看主要权重股的派息率、回购变化,标 绿 / 黄 / 红。黄、红只是提醒你“分红的底子可能在变薄”,不调整买卖。
| 标签 | 什么意思 | 你要做什么 |
|---|---|---|
| 除息重叠标注 | 股息率因除息日挪动被重复计入,虚高了;判档改用折算股息率,原始值只展示。详见常见问题 | 什么都不用做,系统已按折算值判档 |
| 证据弱 | 历史同档独立样本数 ≤ 2 | 忽略“历史同档”那一行 |
| 仅展示 | 显示出来给你看,不参与判档 | 不要拿它推翻动作 |
| 仅风险提示 | 同上,偏风险方向 | 同上 |
| 数据缺失 | 主指数当天数据取不到(已重试 3 次),今日不判档、不写表 | 等下一次运行;连续几天都缺才需要排查 |
| 仓位超上限 | 该类持仓占总资产的比例超过上限(单一行业 20%;宽基+红利合计 50%) | 即使估值便宜也不买入 |
原则只有一条:照卡片上的“本月动作”做。动作是规则事先算好的,不需要你再判断。
| 档位 | 动作 |
|---|---|
| 便宜(≥ 80) | 从资金池投入 3 倍基数(池内不足则投完为止) |
| 偏便宜 / 中性(40 ~ 80) | 不买入,持有 |
| 偏贵(20 ~ 40) | 不买入,持有 |
| 贵(< 20) | 不买入;每月卖出“进入贵档时持仓”的 1/12,连续 12 个月卖完;回到 ≥ 20 即停止,再次进入时按新的持仓重新计算(②b)。“进入贵档时持仓”指进入贵档那个月月末的持仓;卖出的钱回到资金池(现金类),只在便宜档按 3 倍基数买回 |
基数 = 每月拨入资金池的那一份;没投出去的钱留在现金类资产里。3 倍要用之前攒下的钱,池里不够就投完为止。
沪深300 目前未持有(2026-06-05 已卖出),进入便宜档时按规则建仓。未持有期间,卡片和网站上的动作显示“不买入(未持有)”;综合便宜度到 80 以上时显示“从资金池投入 3 倍基数”,照做即可。
| 档位 | 动作 |
|---|---|
| 便宜(≥ 80) | 与宽基方案 D 相同:从资金池投入 3 倍基数(池内不足则投完为止) |
| 偏便宜 / 中性 / 偏贵(20 ~ 80) | 不买入,持有 |
| 贵(< 20) | ②b 加两个月确认:第一次月末 < 20 只提醒、不卖,这个月月末的持仓记为“进入贵档时持仓”;连续第二个月末仍 < 20 才开始每月卖出它的 1/12,卖满 12 次;中间回到 ≥ 20 即停止,再次进入时重新需要确认。卡片上第一个月显示“贵档第 1 个月,待下月末确认”。红利历史上从未进入贵档、单月读数跳动大,所以比宽基多确认一个月(2026-10-19 预注册) |
股债差在红利卡片上只展示,不参与判档。
恒生指数、恒生国企是港股宽基,规则与上面的宽基相同(方案 D + ②b):综合便宜度 ≥ 80 从资金池投入 3 倍基数;20 ~ 80 不买入,持有;< 20 每月卖出“进入贵档时持仓”的 1/12。和 A 股宽基的区别只在尺子:多一把股债差(股息率 − 中债 10 年),一共 4 把。
恒指目前尚未持有,进入便宜档时按规则建仓。未持有期间,卡片和网站上的动作显示“不买入(未持有)”;综合便宜度到 80 以上时,动作会显示“从资金池投入 3 倍基数”,照做即可。
恒生国企在卡片上是灰色的“参考(未持有)”一行,只看读数,不按它操作。
行业指数的估值规则没有通过检验,卡片只给参考,不给买卖动作。行业的买卖看两样东西:仓位上限(单一行业不超过总资产的 20%),以及每季度做一次的 8 个方向检查——跨界替代、技术迭代、买方议价、政策、需求结构、竞争产能、一次性利润、财务结构。
系统自己出问题、或数据看起来不对时,会往系统日志群发提醒。所有提醒都只提醒,不会改变判档。
| 提醒 | 什么时候发 | 你要做什么 |
|---|---|---|
| 任务运行失败 | 日常或月度任务报错退出 | 让 CLI 看 GitHub Actions 日志 |
| 数据缺失 | 主指数取数重试 3 次(每次隔 10 分钟)仍缺 | 偶尔一次不用管;连续 2~3 个交易日都缺,让 CLI 查 |
| 口径漂移:同日对照 | 两种问法问 iFinD 同一天的 PE / PB / 股息率,相差超过 0.5% | 很可能是 iFinD 换了口径,让 CLI 查返回的列名 |
| 口径漂移:日变动 | 剔除股价影响后,隐含盈利或净资产单日变动超过 3%,或分红点数超过 8% | 先看提醒里写的“可能原因”;都不是,再让 CLI 查 |
| 中证交叉核对 | A 股 4 个指数:iFinD 与中证官网的偏差,相对之前最多 20 个交易日(扣除节假日后通常 12~19 个)偏差的中位数,PE 偏离超过 3% 或股息率超过 0.3 个百分点。核对文件里最近一个两边都有数据的交易日(中证文件通常次日上午才更新)。只在“开始偏离”和“已恢复”时各发一次 | 同上 |
| 除息重叠回放失败 | 判断除息重叠要按当月每个交易日回放,逐日数据取不到时。月末入库:按缺数处理,不写入,次日重试;日常读数:按旧算法(当月读数 vs 上月)判断,卡片标“回放失败,按旧算法”;此时即使跨过 80 或 20 也不发档位提醒,只在这里发一条,以月末严格回放为准 | 日常的偶尔一次不用管;月末入库到 7 日还失败,让 CLI 处理 |
| 仅展示部分未取到 | 美债、ERP、分红质量、红利股债差、中证对照、口径哨兵等不参与判档的部分出错(例如数据商把数字改成了文本)。卡片上对应位置显示“未取到”,判档、写表、发卡照常 | 判档不受影响;同一项连续几天都未取到,让 CLI 查 |
| 问法每周自检 | 每周日用全部 iFinD 问法(主问法和备用问法)查一个固定的过去日期,和录下的真实返回比较。有问法失效或数值变了就列出来;全部通过时发一行“本周问法自检通过(N/N)” | 只是备用问法失效:不急,下次改;主问法和备用问法都失效:让 CLI 尽快改问法 |
| 月度入库失败 | 本任务负责的指数没有全部取齐(engine 4 个 A 股、hsi-monitor 2 个港股),回放取数失败同样视为未取齐 | 每月 1~7 日会自动重试;到 7 日还失败,让 CLI 手动处理 |
“可能原因”从哪来:系统有一张事件日历,提醒时自动对照——A 股财报季(4 月、8 月下旬、10 月下旬)、港股财报季(3 月、8 月)、中证指数调样(6 月、12 月第二个星期五的下一个交易日)、恒指季度调样(按恒生公告,每年初更新)、除息重叠标注生效中。注明了原因也照样发,因为特殊时段里也可能真的出问题。
股息率按“过去 12 个月除过几次息”来数分红。如果一家公司的中期分红除息日比去年提前了,那么在去年那次还没滑出 12 个月窗口时,今年和去年的中期分红会同时被算进去,股息率虚高,指数看起来比实际便宜。
系统怎么处理:用“股息率 × 指数点位”算出分红点数(数据商一共算进了多少点的分红),它和股价涨跌无关,正常时很平缓。
可信度:折算假设这一两个月里公司真实的全年分红没变——公司一年才定一次分红,几个月尺度内基本成立;最多用 3 个月,误差不会累积。原始值肯定偏高,折算值是更好的估计,但不是精确值。
绝对值是模糊的——3.60% 还是 3.65% 说不准。但我们用的是分位,拿现在和同一来源的过去 10 年比。只要数据商每年用同一套方法,固定不变的偏差会在比较中抵消,排位依然可靠。真正会破坏排位的,只有突然出现的偏差,比如除息重叠,所以单独处理。
太短(如 3 年)会被单一牛熊周期带偏;太长(如 20 年)会把市场结构已经变了的年代也拿来比。10 年是折中,也是研究里检验通过的版本。
MRQ 是用最近一个季度的净资产算的 PB。2026-10-12,iFinD 对同一句问法突然理解成了另一种口径(LF),数值只差不到 1%,看起来完全合理,却和历史不在同一口径。现在系统只收 MRQ,其他口径一律当缺数处理,并用两种问法同时问来互相核对。
见第 5 节第 5 条。它的价值是发现 iFinD 的问题,而不是在 iFinD 缺数时顶替。另外中证文件里没有 PB,也不覆盖港股。
参数一旦冻结,再改就要走预注册:先写好要检验什么、怎样算通过,再跑数据。这一节记录每次改了什么、为什么改。
| 日期 | 改了什么 | 为什么 |
|---|---|---|
| 2026-10 | 三套监控切换到“滚动 10 年综合便宜度”规则 v1.1,旧的 PE 六档、股息率五档规则停用 | 旧规则的档位来自经验,新规则的档位有历史检验支持 |
| 2026-10-11 | 除息重叠标注采用变体 D:只对跳升开启、4~9 月不开启、最长 3 个月;中证红利 12 月不开启 | 最初的规则误报太多,会把真实的分红变化当成假信号。参数是看过 2010~2026 回溯结果后选定的,两轮调整后冻结,再改并入 v1.2 |
| 2026-10-12 | PB 只收 MRQ 口径;缺数先重试、只影响缺数的那个指数;系统日志群提醒 | iFinD 对问法的理解变了,返回 LF 口径,导致当天任务全部失败 |
| 2026-10-13 | 新增口径漂移哨兵、中证官网交叉核对、事件日历;除息重叠改为按交易日逐日回放 | 多一道防线发现数据口径的变化;修复标注月中失效的问题。逐日回放比回溯时更早开启、保持更久,受 3 个月上限约束 |
| 2026-10-14 | 不参与判档的部分(美债、ERP、分红质量、红利股债差、中证对照、哨兵)出错一律隔离:只显示“未取到”并提醒,不中断判档、写表、发卡;美债数值兼容文本格式 | 数据商把美债收益率从数字改成了文本,恒指当天两次任务都因为一个只用于提示的字段整体失败 |
| 2026-10-15 | iFinD 问法清单:每个问法登记主问法、备用问法和期望返回列,列不符自动改用备用问法;每周自检;除息重叠回放取数失败时,月末入库按缺数处理(日常读数按旧算法并标注);中证交叉核对改为核对最近一个两边都有数据的交易日 | iFinD 的自然语言接口常把同一句话理解错(只返回代码列、PB 变成 LF 等),需要自动换问法、并定期检查问法是否还管用;月末正式读数不能用旧算法凑数;中证文件当天常未更新 |
| 2026-10-19 | 历史同档:独立样本数 ≤5 时不显示中位数和最差 1/10,改为逐段列出每段的实际 2 年收益;“证据弱”门槛写作 ≤2。兜底状态(除息重叠回放失败、按旧算法)的临时读数跨过 80 / 20 也不发档位提醒,只发系统日志,以月末严格回放为准。工作流固定 ubuntu-24.04 | 样本只有几段时,中位数和分位数会给人“统计结论”的错觉;兜底读数可能把股息率算错,不能据此提醒买卖;GitHub 从 10-19 起迁移 ubuntu-latest |
| 2026-10-19 | 中证红利贵档 ②b 改为两个月确认(行业与策略 v1.1.1):第一次月末 < 20 只提醒,连续两个月末 < 20 才开始卖出,卖满 12 次;宽基不变。同时修正显示:月中临时读数 < 20 时卡片、网站只显示提示,不再显示“卖出 1/12” | 红利贵档没有任何历史样本,单月读数可跳动 7~30 个点,误卖代价大于晚卖一个月;在 10 月月末读数产生前预注册,规则本身未经回测。临时读数显示“卖出”是既有显示错误,②b 一直按月末执行 |