Vibe-Trading 盈利预测与一致预期分析技能(earnings-forecast)实战指南:SUE / PEAD / 分析师预期修正动量全解析
【免费下载链接】Vibe-Trading"Vibe-Trading: Your Personal Trading Agent"项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading
本文基于 Vibe-Trading 开源仓库中的 earnings-forecast 技能文档 展开,结合 earnings-revision 技能、多智能体预设 earnings_research_desk 以及 SkillsLoader 加载机制 等仓库源码,系统讲解"围绕盈利预测与市场一致预期偏差构建交易信号"的完整方法论。读完本文,你将掌握自上而下/自下而上预测法、标准化未预期盈利(SUE)、盈余公告后漂移(PEAD)与分析师预期修正动量(ERM)四大信号体系的公式、阈值、A股实战参数与组合构建方法,并了解该技能在 Vibe-Trading Agent 中如何被按需加载、被多智能体研究团队调度执行。
概述:为什么"预期差"比"绝对盈利"更有价值
该技能文档开门见山点出核心逻辑:股价短期由盈利预期差驱动,捕捉「预期差」比预测绝对盈利更有价值。围绕企业盈利预测和市场一致预期偏差,技能文档给出了两条主线:
- 自主预测 vs 一致预期对比寻找偏差——用自己的预测(Top-Down 或 Bottom-Up)与卖方分析师的一致预期比较,计算 SUE 等偏差指标;
- 跟踪分析师预期修正动量——监控分析师群体的上调/下调行为,捕捉"预期修正"这一被学界反复验证的持续性 Alpha 因子。
这一逻辑与仓库中姊妹技能 earnings-revision 的判断一致:"Earnings revisions are among the most persistent and well-documented alpha factors in equity markets — stocks with upward revisions tend to continue outperforming, and vice versa"(盈利修正是股票市场中最持久、被记录最充分的 Alpha 因子之一——获上调的股票倾向于继续跑赢,反之亦然)。行为金融学技能 behavioral-finance/SKILL.md 也从投资者反应不足角度佐证:"After an earnings beat, the stock price digests it gradually rather than all at once"(业绩超预期后股价是逐步消化而非一次性到位),这正是 PEAD 漂移的心理学根源。
核心概念一:自上而下预测法(Top-Down)
预测链条:
GDP增速预测 → 行业增加值增速 → 行业收入增速 → 龙头公司收入增速 → 利润率假设 → EPS预测A股实战示例(以白酒行业为例):
| 层级 | 指标 | 预测逻辑 |
|---|---|---|
| 宏观 | GDP +5.0% | 消费占GDP比重65%,消费增速约+6% |
| 行业 | 白酒收入 +8% | 高端白酒量价齐升,结构升级 |
| 公司 | 贵州茅台(600519.SH) | 出厂价+10%,销量+2%,收入约+12% |
| 盈利 | 净利润率55% | 提价传导,费用率稳定 |
| EPS | 约62元 | 净利润/总股本 |
适用场景:行业beta判断、大盘盈利周期定位、宏观策略配合。
自上而下法的本质是把宏观判断逐层传导到公司盈利,适合判断行业 beta 与盈利周期位置。需要注意链条每一环都存在传导损耗,宏观增速到公司收入之间至少隔着行业结构与公司份额两层假设,任何一环偏差都会被下游放大。
核心概念二:自下而上预测法(Bottom-Up)
与 Top-Down 相反,自下而上法从公司经营细节出发向上汇总,技能文档给出收入拆解三板斧:
# 方法1:量价拆解 revenue = volume * price # 例:中国神华(601088.SH) = 煤炭销量(亿吨) × 煤价(元/吨) + 电力收入 # 方法2:客户/产品拆解 revenue = sum(segment_revenue for segment in business_lines) # 例:美的集团(000333.SZ) = 暖通空调 + 消费电器 + 机器人及自动化 # 方法3:门店/用户拆解 revenue = stores * revenue_per_store # 或 users * ARPU # 例:海底捞(6862.HK) = 门店数 × 翻台率 × 客单价 × 营业天数利润率假设关键点:
- 毛利率:原材料成本占比变动、产品结构升级
- 费用率:规模效应(收入增、费用率降)、研发投入变动
- 税率:高新技术企业15% vs 普通25%,是否有税收优惠到期
从仓库源码结构看,Vibe-Trading 的因子库(agent/src/factors)中大量财务类因子本质上就是对上述拆解结果的标准化落地;而earnings-forecast技能的价值在于把"量价拆解 / 分部拆解 / 门店拆解"这类行业特定方法固化成可复用的推理框架,供 Agent 在执行分析任务时直接调用。
核心概念三:标准化未预期盈利(SUE)
公式:
SUE = (actual_EPS - consensus_EPS) / std(actual_EPS - consensus_EPS) # consensus_EPS = 分析师一致预期EPS(取中位数) # std = 过去8个季度预测偏差的标准差SUE 的分子是"实际值相对一致预期的偏差",分母是"历史预测偏差的标准差",相当于把超预期程度标准化到 σ 尺度,使不同波动特征的股票可比。姊妹技能 earnings-revision 对 SUE 的解释与此完全一致:sue = (actual_eps - consensus_eps) / std_of_forecast_errors,并补充解读口径——SUE > +2为大幅正超预期、|SUE| < 0.5为符合预期、弱信号。
信号阈值(A股实证参考):
| SUE范围 | 含义 | 交易动作 |
|---|---|---|
| SUE > +2.0 | 大幅超预期 | 强买入信号 |
| SUE +1.0~+2.0 | 温和超预期 | 买入信号 |
| SUE -1.0~+1.0 | 符合预期 | 无信号 |
| SUE -2.0~-1.0 | 温和低于预期 | 卖出信号 |
| SUE < -2.0 | 大幅低于预期 | 强卖出信号 |
行为金融学技能中同样以 σ 阈值定义超预期:SUE (standardized unexpected earnings) > 2σ -> buy and hold for 60 days(behavioral-finance/SKILL.md),与本文档的 SUE > +2.0 强买入口径完全对齐,印证了 2σ 阈值在仓库多份方法论中的一致性。
核心概念四:盈余公告后漂移(PEAD)
现象:业绩公告后,超预期方向的股价漂移可持续30-60个交易日。
PEAD 是最稳健的市场异象之一。姊妹技能给出了基于超预期五分位(quintile)的漂移幅度参考表:
| Surprise Quintile | Average 60-day Drift | Strategy |
|---|---|---|
| Q5 (top surprise) | +4 to +8% | Go long, hold 60-90 days |
| Q4 | +1 to +3% | Mild long |
| Q3 (in-line) | ~0% | No action |
| Q2 | -1 to -3% | Mild short / underweight |
| Q1 (worst surprise) | -4 to -8% | Go short / avoid, hold 60-90 days |
A股PEAD策略实现:
# 策略逻辑 # 1. 业绩公告日(年报4/30前,中报8/31前,季报各截止日) # 2. 计算SUE # 3. SUE > +1.5 的股票买入持有 40 个交易日 # 4. SUE < -1.5 的股票卖出/做空(如果可以) # 关键参数 holding_period = 40 # 持有交易日数 sue_threshold = 1.5 # SUE阈值 max_positions = 10 # 最大持仓数 rebalance_on = "earnings_date" # 在业绩公告日调仓A股PEAD注意事项:
- A股做空受限(融券),PEAD策略通常只做多头
- 业绩预告(1月底/7月中旬)比正式报告更早,抢先反应
- 年报4/30截止,集中在4月发布,信息拥挤期需分散
PEAD 增强过滤器(来自 earnings-revision 技能):
- 中小市值 > 大市值(分析师覆盖少 = 价格发现更慢,漂移更充分)
- 低机构持股 > 高机构持股(信息扩散更慢)
- 方向上首次超预期 > 连续同向超预期
- 收入超预期 + EPS 超预期同时出现 > 仅有 EPS 超预期
核心概念五:分析师预期修正动量
三个关键指标:
# 1. 预期修正比率(ERM) ERM = (上调家数 - 下调家数) / 总覆盖家数 # ERM > 0.3 = 正面动量, ERM < -0.3 = 负面动量 # 2. 预期变化幅度 eps_change_pct = (new_consensus - old_consensus_30d_ago) / abs(old_consensus_30d_ago) # 变化 > +5% = 显著上调 # 3. 预期离散度 dispersion = std(all_analyst_EPS) / mean(all_analyst_EPS) # 离散度 > 0.3 = 分歧大, 不确定性高 # 离散度 < 0.1 = 共识强, 确定性高预期修正动量策略:
- 买入:ERM > +0.3 且 eps_change_pct > +5% 且 dispersion < 0.25
- 卖出:ERM < -0.3 且 eps_change_pct < -5%
- 信号有效期:约 60-90 个交易日(预期修正动量衰减)
姊妹技能 earnings-revision 提供了同源指标的补充口径:修订广度(breadth)公式同为(upgrades - downgrades) / total_analysts,阈值体系为 breadth > +0.5 强上调动量、< -0.5 强下调动量、|breadth| < 0.2 方向不明;估计离散度阈值为高分歧 >15%、低分歧 <5%(美股市值口径,A股文档口径为 0.3/0.1 的比值阈值)。两文档口径的差异源于市场结构(美股分析师覆盖深、A股覆盖薄),使用时需按市场选用对应阈值。此外 earnings-revision 技能还给出了信号层级强度排序:盈余惊喜(beat/miss,典型年化 Alpha 3-8%、漂移 60-90 天)> 共识修正广度(4-6% long-short spread、3-6 个月)> 估计幅度变化(3-5%、1-3 个月)> 管理层指引修正(5-10%、事件日 + 30-60 天漂移)> Whisper number(2-4%、1-2 周),可作为多信号叠加时的权重参考。
分析框架:盈利分析四步法
- 构建预测:选择Top-Down或Bottom-Up方法,输出EPS预测值
- 获取一致预期:从Wind/东方财富/同花顺获取分析师一致预期EPS
- 计算偏差:SUE或简单百分比偏差,判断超预期/低于预期方向
- 信号生成:根据SUE阈值生成交易信号,结合PEAD持有期管理仓位
财报日历(A股关键时间节点)
| 时间 | 事件 | 策略动作 |
|---|---|---|
| 1月中旬 | 年报业绩预告披露高峰 | 抢先捕捉预期差 |
| 3-4月 | 年报正式发布 | 确认SUE,PEAD建仓 |
| 4月30日 | 年报截止日 | 未披露 = 利空信号 |
| 7月中旬 | 中报业绩预告 | 半年度预期修正 |
| 8月31日 | 中报截止日 | 同上 |
| 10月31日 | 三季报截止日 | Q3数据验证全年预期 |
这份 A 股财报日历与仓库中 ashare-pre-st-filter 技能的业绩数据实践互相印证:业绩预告(forecast)、业绩快报(express)分别对应 tushare 的stock_yjyg_em、stock_yjbb_em接口,且"业绩预告 1 月底 / 7 月中旬 / 10 月底高发、业绩快报 1-4 月年报前夕高发"的时间分布与本技能文档的财报日历完全吻合。若在 Agent 工作流中把两个技能串联,可以实现"财报日历驱动 → 业绩预告数据抓取 → SUE/PEAD 信号计算"的自动化研究流水线。
预期差交易组合构建
# 组合构建参数 config = { "universe": "沪深300成分股", # 流动性保障 "signal": "SUE > +1.5 或 ERM > +0.3", # 超预期信号 "max_positions": 20, # 最大持仓 "position_weight": "equal", # 等权 "holding_period": 40, # 交易日 "rebalance": "earnings_calendar", # 按财报日历调仓 "stop_loss": -0.08, # 8%止损 }组合构建要点的可验证依据:universe限定沪深300 成分股,是为了规避技能文档"小市值股票分析师覆盖少(< 3家),一致预期统计意义弱"的注意事项;rebalance设为earnings_calendar意味着调仓时点严格对齐上文财报日历表;8% 止损用于控制信息拥挤期(4月/8月)PEAD 信号互相干扰带来的回撤。
输出格式:Agent 可引用的标准化研究模板
技能文档规定了最终分析结果的标准输出结构,保证 Agent 每次产出的研究报告字段一致、可被下游解析:
## 盈利预测分析 — [标的代码] [公司名称] ### 盈利预测 - 预测方法:[Top-Down / Bottom-Up] - 预测EPS:[X元] - 预测依据:[收入增速X%,利润率X%,关键假设] ### 一致预期对比 - 一致预期EPS:[X元](来源:[Wind/东财],覆盖[N]家) - 预期偏差:[+X% / -X%] - SUE:[+X.X] - 预期离散度:[X.X]([高分歧/低分歧]) ### 分析师动量 - ERM(预期修正比率):[+X.X](过去30日[N]家上调/[M]家下调) - 预期变化幅度:[+X%] ### 信号判断 - SUE信号:[强买入/买入/无/卖出/强卖出] - 动量信号:[正面/中性/负面] - PEAD建仓窗口:[是/否](距财报发布[X]日) ### 风险提示 - [具体风险:如一次性收益、会计政策变更、商誉减值等]姊妹技能 earnings-revision 的 US/HK 输出模板可视为同一骨架的跨市场变体:其 Consensus Snapshot(当前 FY 一致预期、30/60 天修订趋势)、Earnings Quality(FCF 转化率、应计比率、非 GAAP 差距)等字段与 A 股模板互补,做跨市场(如 A+H 双重上市)标的时可合并使用。
技能在 Agent 中的实际调度:load_skill 与多智能体编排
earnings-forecast是 Vibe-Trading 技能体系(agent/src/skills 目录下数百个 SKILL.md 之一)中的analysis类别技能。它的加载与执行机制可以从源码确认:
- 按需加载(progressive disclosure):SkillsLoader 负责扫描
agent/skills/目录,读取每个 SKILL.md 的 frontmatter(name、description、category)并缓存 body;系统提示词中只注入一行摘要(get_descriptions),完整文档由 load_skill 工具 在运行时按需拉取。 - 骨架 + 分节读取:对超出单次工具结果上限的文档,
load_skill会先返回章节骨架(_render_outline,见 load_skill_tool.py),Agent 再用section="<标题>"精确读取某个章节——这意味着本技能文档的"核心概念 / 分析框架 / 输出格式"各节都可以被单独检索引用。 - 多智能体编排:earnings_research_desk.yaml 预设中,
revision_tracker(预期修正与共识追踪员)智能体显式挂载了skills: [earnings-revision, earnings-forecast],其任务描述正是"量化修正动量并识别 PEAD 机会";最终由earnings_strategist汇总基本面、修正动量与期权定价三维信号,输出包含进场/离场/止损/目标价的事件交易建议。这说明earnings-forecast技能在实际仓库工作流中承担"方法论注入"角色——为 Agent 提供 SUE/ERM/PEAD 的计算口径与阈值,而不是替代数据获取。
注意事项与使用边界
技能文档明确列出的实操红线,务必在回测与实盘研究中遵守:
- 一致预期数据需要Wind/Choice等付费终端,免费数据源(东方财富网页版)可能不够及时
- SUE计算需要至少8个季度的历史预测偏差数据来估计标准差
- 业绩预告和业绩快报是比正式财报更早的信号源,但精度较低
- A股财报季信息拥挤(4月/8月),PEAD信号可能互相干扰
- 一次性损益(资产处置/政府补贴/投资收益)会扭曲EPS,需剔除非经常性损益用扣非EPS
- 预期修正动量有自我实现倾向(分析师羊群效应),拐点识别比趋势跟踪更有价值
- 小市值股票分析师覆盖少(< 3家),一致预期统计意义弱,优先选择沪深300/中证500成分股
- 本框架仅用于研究回测,不构成投资建议
姊妹技能还补充了两条 A 股之外的跨市场经验:"beat and lower"(本季超预期但下调未来指引)往往净负面,以及指引撤回几乎总是利空——做美股/港股事件驱动时需要额外把关指引变化方向。结合本文档,推荐的研究工作流是:先用财报日历定位事件窗口,用 Top-Down/Bottom-Up 构建自主预测,与一致预期对比计算 SUE,叠加 ERM 动量确认方向,最后按 PEAD 持有期与止损规则构建组合;全程将数据源、覆盖家数与假设依据写入输出模板,确保每一个数字都有可追溯的链条(这与 earnings_research_desk 预设中 event_options_analyst 的强制要求——"Every number here needs the chain——retrieve it or drop the section"——保持一致)。
【免费下载链接】Vibe-Trading"Vibe-Trading: Your Personal Trading Agent"项目地址: https://gitcode.com/GitHub_Trending/vi/Vibe-Trading
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考