跳到正文

研究指南

公司研究与估值

盈利预测上调了吗:用同一家券商的前后预测追踪修正

追踪盈利预测修正,应把同券商、同公司、同目标财年的前后观测配对,计算EPS变化,再把新增或缺席覆盖另外报告。均值上涨可能只是样本换了券商,不代表原有券商都上调。配对面板让两种变化可以实际拆开,而不是只看前后两个平均数给市场情绪下结论。

本文执行合成A股式预测比较,历史快照由外部提供,不从当前一致预期恢复旧数据。CoTrading对应追踪器仍属规划或待核实,参考研报工具的时间窗口和返回上限也可能限制历史覆盖。示例证明的是配对和数值计算,不证明已经取得完整历史券商档案。

比日期前先固定预测对象

目标为虚构公司2027年、CNY、摊薄EPS。旧接受快照为2026年10月1日,新快照为10月26日。每份实际输入保留原来源、发表或快照时间、券商标识、预测财年、EPS定义和股本假设。历史材料应来自适当档案,或确实在当时保存,不能让后来值填进较早表。

脚本把它们作为已接受的合成表接收,没有逐报告核历史发布时间。真实流程先完成这道接受检查再配对。旧报告取不到属于覆盖限制,不允许用今天预测补旧快照。IAS 33概览说明每股分子分母为何重要,但不是A股一致预期方法,也不保证券商口径相同。

核对实际报告的基本或摊薄、调整或报告盈利及股本基础。口径改变时先解决可比性,不能因为同一家券商就默认前后一定兼容。发行人融资、拆股或会计范围变化可能影响每股预测,这些需要来源说明,不是简单相减就能识别全部经济驱动。

每个快照先归一券商并去重

用确认券商身份,不凭相似显示名模糊配对。一个快照里同券商同财年多份合格报告,应按事先声明的最新报告政策选择,保留旧记录。本例输入已完成该步,遇重复券商财年直接拒绝,不按行序挑一个。原报告条数与最终贡献券商数分别统计。

目标财年在两个时点固定。“明年”可能随着时间滚动成另一年度,不再是同一预测修正。本例E旧表是2026预测,新表为2027,因此它进入2027覆盖,两数不能配对。即使同一券商和公司都没变,也不能把不同年度差额当作分析师上调。

固定公司与测量合同内部,配对键是券商和财年;扩大数据集时加入公司及口径标识。不同上市线或股份单位也不能仅凭券商名称相同就连接。身份与定义先确认,数值运算才有解释基础。

计算有符号差额和有条件百分比

券商旧2027 EPS新2027 EPS有符号差额相对展示
A1.001.20+0.20+20%
B2.001.80−0.20−10%
C−0.50−0.20+0.30不报百分比
D0.010.02+0.01不报百分比

货币每股差额为新减旧,保留正负;变化幅度绝对值是另一项运算。相对变化为差额除旧EPS,但本例政策要求旧值大于0.05。这个近零显示门槛是明确操作选择,不是通用金融标准。等于或低于门槛都不强报百分比,原值和差额继续显示。

prior, current = before[broker], after[broker]
change = current-prior
relative = change/prior if prior > D("0.05") else None

Decimal官方参考支持明确十进制运算,不能修复财年错配或股本改变。若报告基础发生变化,保留阻断原因,不输出精确但误导的百分数。数字精度与经济可比性分开检查,也不要用更多小数位掩盖来源覆盖很窄。

实际生成配对与覆盖表

下载完整示例。使用Python 3.12+、标准库与合成预测,运行python R540.py。作者文件为docs/growth/research/round-5/examples/R540.py。

实际四家配对A至D,A和B相对变化0.2与−0.1;C、D保留每股差额,相对字段为空并注明负数或近零基数。配对中三家向上、一家向下。这些数量由计算产生,不把未配对新增报告算作同家上调。

四对有符号差额均值0.0775 CNY每股,变化绝对值的平均幅度0.1775。前者描述净方向,后者忽略方向描述大小,不能混用模糊的平均绝对变化名称。脚本实际计算并断言两者,避免相同词汇隐藏不同统计量。百分比适用对只有两家,不能把四家差额统计的分母套给它。

E、F进入捕获到的2027样本,G在新样本缺席,不进入配对变化均值。断言核覆盖集合并反转旧输入顺序,确认接受映射不变。新旧原表仍保留,读者可以同时看到预测修正与样本组成,不必从单个总平均反推。

负数和小基数属于不同机制

C亏损预测从−0.50收窄到−0.20,改善0.30。直接除负旧值会产生容易被误读为恶化的符号,样例只报每股变化,不硬套普通增长百分比。它不是缺数据,也不是不可确认方向,而是相对显示政策不适用。

D从0.01到0.02,百分比看起来很大,但绝对差额仅0.01。本例近零规则挡住该百分比,同时保留原值和差额,读者能检查政策,而不会把所有空百分数都理解为来源缺失。门槛选择应在看结果前声明,不能为弱化或放大某份报告临时改变。

这与未配对覆盖又不同。C、D都有固定合同下合法前后观测,只限制百分比展示;E、F在数据集里没有可比旧2027值,根本不能称为同家上调。三类状态分别保存,后续研究才知道是查旧档案、核口径还是解释数值变化。

不从覆盖缺席猜分析师意图

G不在新样本,不证明券商停止覆盖,可能是查询窗口、返回上限或档案不完整。写“本次捕获快照缺席”,保留取得边界。E旧2026值也不构成旧2027证据,虽然券商此前已经出现过。新增目标年覆盖,不等于首次研究公司,更不等于已证实乐观转向。

若有当前供应商均值,另存其时间与覆盖,不替代任何历史券商表。不同组成均值可以另做组成与数值分解,但不能取代本题配对。不要因为当前工具返回数据很方便,就把它贴上旧日期构造历史修正面板。

保持修正面板可复算

交付接受快照引用、券商财年表、配对差额、百分比适用原因、覆盖进出和清晰汇总。配对加旧独有对账旧目标年样本,配对加新独有对账新样本,报告条数另列。审阅者重算A百分比、C亏损改善和E未配对理由,才能检查关键分支。

新报告到来,在新快照更新相应券商财年并保留旧来源;来源更正单独标记,不冒充新预测;目标年份滚动另开面板,不覆盖旧比较。结果是有覆盖边界的数值预期变化产物,不是券商能力评分、完整历史市场一致预期库,也不预测股价一定跟随EPS修正。

审配对单位和汇总分母

匹配同券商不一定是同一个分析师,团队与作者可能变化。本例测券商机构层修正;要称个人分析师上调,需要接受的作者标识和另行配对政策,不能凭机构名推断身份。报告可以清楚写同机构预测改变,而不替作者连续性作没有证据的保证。

每项统计附分母。四对支持有符号均值和幅度均值,只有两对符合百分比基数政策,新增券商不扩大这些配对分母。覆盖表解释其存在,不给它虚构旧预测。若有人只看图表,应仍能找到哪些记录贡献了计算,哪些只属于未配对覆盖变化。

分享新面板前重放正基数上升、负基数改善、近零与年份错配。它们意义不同,即使输出都是数字字符串也不能混算。导出保留空值原因,不能让后续表格自动把空百分比转零。没有百分比不代表没有修正,也不代表修正为零;原因字段是计算合同的一部分。

历史来源窗口改变时,同时更新覆盖声明。更长窗口找回G,不表示它当天重新研究公司;可能只是取得过程改善。源覆盖修复与券商实际发布新预测分开记录,才能判断变化来自研究对象还是研究者的数据。保持这层区别,可以防止一次补档被误写成市场预期突然转向。

最后从两个保留快照直接重建配对键,再算差额,而不是从已经汇总过的均值反推。平均数丢掉个体信息,不能恢复机构配对,也不能决定哪个缺席报告应匹配。原始对照完整,未来新增作者或更细口径时才有继续核验的基础。

快照接受还要求选定EPS解析为Decimal后是有限数。NaN与正负无穷在进入券商映射前抛nonfinite_forecast_eps,下载样例断言三种都拒绝。该守卫不排除有限亏损预测,也不改变近零百分比政策,只防止不合法数字进入修正差额与汇总均值。来源错误应修复或隔离,不能让一个无穷值被当成极大上调参与统计。

常见问题

平均数上升就能说上调了吗?

不能,先分开配对券商变化与样本组成。

亏损预测要报普通增长百分比吗?

不能默认如此,应保留有符号每股差额与明确分母政策。

相关阅读