---
name: earnings-forecast
description: 盈利预测与一致预期分析（自上而下/自下而上预测法/SUE/PEAD/分析师预期修正），捕捉业绩超预期交易机会。
category: analysis
---
# 盈利预测与一致预期

## 概述

围绕企业盈利预测和市场一致预期偏差构建交易信号。核心逻辑：股价短期由盈利预期差驱动，捕捉「预期差」比预测绝对盈利更有价值。两条主线：① 自主预测 vs 一致预期对比寻找偏差；② 跟踪分析师预期修正动量。

## 核心概念

### 1. 自上而下预测法（Top-Down）

**预测链条：**

```
GDP增速预测 → 行业增加值增速 → 行业收入增速 → 龙头公司收入增速 → 利润率假设 → EPS预测
```

**A股实战示例（以白酒行业为例）：**

| 层级 | 指标 | 预测逻辑 |
|------|------|---------|
| 宏观 | GDP +5.0% | 消费占GDP比重65%，消费增速约+6% |
| 行业 | 白酒收入 +8% | 高端白酒量价齐升，结构升级 |
| 公司 | 贵州茅台(600519.SH) | 出厂价+10%，销量+2%，收入约+12% |
| 盈利 | 净利润率55% | 提价传导，费用率稳定 |
| EPS | 约62元 | 净利润/总股本 |

**适用场景：** 行业beta判断、大盘盈利周期定位、宏观策略配合

### 2. 自下而上预测法（Bottom-Up）

**收入拆解三板斧：**

```python
# 方法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%，是否有税收优惠到期

### 3. 标准化未预期盈利（SUE）

**公式：**

```python
SUE = (actual_EPS - consensus_EPS) / std(actual_EPS - consensus_EPS)
# consensus_EPS = 分析师一致预期EPS（取中位数）
# std = 过去8个季度预测偏差的标准差
```

**信号阈值（A股实证参考）：**

| SUE范围 | 含义 | 交易动作 |
|---------|------|---------|
| SUE > +2.0 | 大幅超预期 | 强买入信号 |
| SUE +1.0~+2.0 | 温和超预期 | 买入信号 |
| SUE -1.0~+1.0 | 符合预期 | 无信号 |
| SUE -2.0~-1.0 | 温和低于预期 | 卖出信号 |
| SUE < -2.0 | 大幅低于预期 | 强卖出信号 |

### 4. 盈余公告后漂移（PEAD）

**现象：** 业绩公告后，超预期方向的股价漂移可持续30-60个交易日。

**A股PEAD策略实现：**

```python
# 策略逻辑
# 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月发布，信息拥挤期需分散

### 5. 分析师预期修正动量

**三个关键指标：**

```python
# 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 个交易日（预期修正动量衰减）

## 分析框架

### 盈利分析四步法

1. **构建预测**：选择Top-Down或Bottom-Up方法，输出EPS预测值
2. **获取一致预期**：从Wind/东方财富/同花顺获取分析师一致预期EPS
3. **计算偏差**：SUE或简单百分比偏差，判断超预期/低于预期方向
4. **信号生成**：根据SUE阈值生成交易信号，结合PEAD持有期管理仓位

### 财报日历（A股关键时间节点）

| 时间 | 事件 | 策略动作 |
|------|------|---------|
| 1月中旬 | 年报业绩预告披露高峰 | 抢先捕捉预期差 |
| 3-4月 | 年报正式发布 | 确认SUE，PEAD建仓 |
| 4月30日 | 年报截止日 | 未披露 = 利空信号 |
| 7月中旬 | 中报业绩预告 | 半年度预期修正 |
| 8月31日 | 中报截止日 | 同上 |
| 10月31日 | 三季报截止日 | Q3数据验证全年预期 |

### 预期差交易组合构建

```python
# 组合构建参数
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%止损
}
```

## 输出格式

```
## 盈利预测分析 — [标的代码] [公司名称]

### 盈利预测
- 预测方法：[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]日）

### 风险提示
- [具体风险：如一次性收益、会计政策变更、商誉减值等]
```

## 注意事项

- 一致预期数据需要Wind/Choice等付费终端，免费数据源（东方财富网页版）可能不够及时
- SUE计算需要至少8个季度的历史预测偏差数据来估计标准差
- 业绩预告和业绩快报是比正式财报更早的信号源，但精度较低
- A股财报季信息拥挤（4月/8月），PEAD信号可能互相干扰
- 一次性损益（资产处置/政府补贴/投资收益）会扭曲EPS，需剔除非经常性损益用扣非EPS
- 预期修正动量有自我实现倾向（分析师羊群效应），拐点识别比趋势跟踪更有价值
- 小市值股票分析师覆盖少（< 3家），一致预期统计意义弱，优先选择沪深300/中证500成分股
- 本框架仅用于研究回测，不构成投资建议
