前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >业绩超预期因子

业绩超预期因子

作者头像
量化小白
发布于 2020-03-18 10:06:28
发布于 2020-03-18 10:06:28
3K00
代码可运行
举报
运行总次数:0
代码可运行

学术界很早就发现,股票市场存在显著的盈余公告后的价格偏移现象(Post-Earnings Announcement Drift PEAD)。通俗解释来说,投资者对于公司的盈利有一个预期值,如果财报公布后,公司的实际盈利超出了投资者预期,公司的股价会上升,会有明显的超额收益。如果实际盈利低于投资者预期,公司股价会下降,会有明显的负向收益。本文基于这一现象构造盈利超预期因子,并对因子进行测试。后台回复“业绩超预期”获取代码和参考文献,限时免费。

01

业绩超预期定义

PEAD最早提出早在1986年,学者们发现美国市场存在盈余公告后的价格偏移现象。之后学者们对各国股票市场都进行的研究,基本都存在这一现象,PEAD是非常稳健的一个学术异象。

首先对PEAD做一些分析。PEAD的定义是非常容易理解的,如果企业的盈利好,超出人们的预期,那么股票会上涨,也符合直观逻辑。

对于为什么会存在PEAD,即为什么盈利超预期的股票会涨?主流的逻辑是认为PEAD是投资者对盈余公告的延迟反映,是市场无效的结果。也就是说,市场对于盈余公告的反应不及时,存在套利空间。这里的盈余公告,不仅包括企业每年的财务报告,也包括业绩快报、业绩预告、公司公告等。也有从风险补偿和交易成本摩擦角度解释的,但没有得到广泛认同。

结合上文的逻辑,PEAD现象存在有两个条件,一个是业绩超出预期,另一个是市场反映不及时。对于第一点来说,对预期值的定义非常关键,学术界存在各种各样的方法,后面说明。对于第二点,也是这个现象可能失效的原因,如果企业的股价在财报出来之前,已经推的很高了,即使盈利超预期,大概也很难有正向超额收益,因为股价里可能已经包含了对超预期的反映。另外如果大量的投资者都发现了这一现象去投资,慢的人可能会去接快的人的盘。国内现在最慢的可能是韭菜了。

02

业绩超预期度量

大多数的学术研究采用公告值和预期值做差之后除以规模数作为超预期的度量,除以规模数是为了不同企业间可比。即

公司的标准化预期外盈利(standarized unexpected earnings SUE)作为Earnings Surprise的度量:

SUE = (Q - E(Q))/sigma

其中,Q表示公司公告的净利润,E为对净利润的预期值,sigma为预测的标准差。

类似的,公司的标准化预期外营业收入(standarized unexpected revenue SUR)作为revenue SUR的度量:

SUR = (REV - E(REV))/sigma

REV为公告的营业收入,E为预期的营业收入,sigma为预期的标准差。

这里的REV、Q都使用单季度数据。

对于预期值的度量,目前主要有三种方法:时间序列建模、分析师预期和横截面回归建模。本文主要介绍并实现时间序列建模的部分,分析师预期的方法即使用卖方分析师的一致预期数据均值作为预期值。横截面回归下次说明。

关于时间序列建模,常用的时间序列模型包括

本文使用带漂移项和不带漂移项的季节性随机游走模型建模,估计预期值,具体说明如下

带漂移项的季节性随机游走模型:

Q(i,t) = Q(i,t-4) + c(i,t) + e(t)

E(Q) = Q(i,t-4) + c(i,t)

不带漂移项的季节性随机游走模型:

Q(i,t) = Q(i,t-4) + e(t)

E(Q) = Q(i,t-4)

其中,Q(i,t)表示公司i在第t期的单季度净利润/营业收入,c为截距项,e为误差项。

漂移项c可以用过去两年 Q(i ,t) - Q(i,t-4) 的均值估计,预测的标准差sigma,对于含漂移项的模型,用Q(i ,t) - Q(i,t-4) 的标准差估计,不含漂移项的模型,用Q(i ,t) - Q(i,t-4) 的不带均值的标准差估计。

03

业绩超预期因子测试

基于上面的说明,分别构建两个SUE因子和SUR因子,建模时每一期使用过去8个季度有数据的所有上市公司。

由于手头没有数据,本文的测试基于聚宽和米筐完成,两个平台上都上传了代码。

回测区间:20091231-20191231

全A股,剔除ST和新股

计算因子IC,先看不做行业市值中性化的结果

  • SUE-含漂移项
  • SUE-不含漂移项
  • SUR-含漂移项
  • SUR-不含漂移项

不做中性化时,带漂移项的业绩超预期因子ICIR更高,不带漂移项的因子IC更高。

对因子用申万一级行业和流通市值做市值行业中性化后计算IC如下

  • SUE-带漂移项
  • SUE-不带漂移项
  • SUR-带漂移项
  • SUR-不带漂移项

可以看出,中性化后,因子稳定性明显上升,ICIR变大。

分层测试结果

限于篇幅,这里只给出中性化后的,未中性化的结果可以在代码文件中查看。

  • SUE-带漂移项
  • SUE-不带漂移项
  • SUR-带漂移项
  • SUE-不带漂移项

不带漂移项的SUE因子表现最好。

04

业绩超预期模拟组合

接下来给出在米筐和聚宽平台上,模拟组合的结果

  • 回测区间:200912-201912
  • 股票池:中证800
  • 规则:中性化后的因子降序排列,买入最大的100只股票,每月末月度调仓
  • 限于篇幅,只给出SUE后的结果。
  • SUE-带漂移项-不中性化
  • SUE-不带漂移项-不中性化
  • SUE-带漂移项-中性化
  • SUE-不带漂移项

聚宽结果和米筐结果差异较大,可能是数据差异还有模拟成交的区别,但都是不带漂移项更好

05

结果分析

从结果来看,SUE和SUR因子是非常有效的,当然整个分析过程非常粗糙,还有很大的提升空间。比如前文提到,业绩超预期因子有效的关键是市场反映不及时,体现在数据上就是要用最新的数据,所以要让模型效果更好的话,应该是结合业绩快报、业绩预告、公司公告的数据,以更高的频率去调仓,这里因为直接用的平台的数据,没有做更细致的分析。

06

代码

只给出因子定义和模拟组合部分的代码,其他代码见代码文件

因子定义

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def getSUE(res):
    res = res.copy()
    res = res.reset_index().sort_values(by = 'order_book_id')
    dates = res.date.tolist()
    res = res.drop(['date'],axis = 1).set_index('order_book_id')
    
    resv = res.values
    q_mean = np.mean(resv[:,1:-4] - resv[:,5:],axis = 1)

    q_std1 = np.std(resv[:,1:-4] - resv[:,5:],axis = 1)
    q_std2 = np.sum((resv[:,1:-4] - resv[:,5:])**2,axis = 1)**0.5/resv.shape[0]
   
    e_q1 = resv[:,4] + q_mean
    e_q2 = resv[:,4]
    SUE1 = (resv[:,0] - e_q1)/q_std1
    SUE2 = (resv[:,0] - e_q2)/q_std2
    
    f = np.array([res.index,dates,SUE1,SUE2]).T
    return f
  • 模拟回测代码-米筐
  • 模拟回测代码-聚宽

参考文献

[1]20180518-东方证券-东方证券因子选股系列研究之三十九:业绩超预期类因子

[2]20200219-长江证券-长江证券专题报告:业绩超预期中的投资机会-000001

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化小白躺平记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【HTML】HTML 标签总结 ★★★ ( 标签类型 | 排版标签 | 文本格式化标签 | 标签属性 | 图像标签 | 链接标签 | 注释标签 | 锚点定位 | 预格式化文本标签 | 特殊符号 )
HTML 英文全称 " HyperText Mark-up Language " , 中文名称是 " 超文本标记语言 " ;
韩曙亮
2023/03/30
7.3K0
【HTML】HTML 标签总结 ★★★ ( 标签类型 | 排版标签 | 文本格式化标签 | 标签属性 | 图像标签 | 链接标签 | 注释标签 | 锚点定位 | 预格式化文本标签 | 特殊符号 )
从零开始学Web之HTML(二)标签、超链接、特殊符号、列表、音乐、滚动、head等
文本倾斜:<em></em> <i></i> <!-- 工作里尽量使用em,原因同strong -->
Daotin
2018/08/31
2.6K0
2.文本标签-HTML基础
这六个标题标签在页面中的重要性是有区别的,其中 h1 标签的重要性最高,h6 标签的重要性最低。
见贤思齊
2022/01/11
3.5K0
2.文本标签-HTML基础
HTML的标签:
Y编程者
2024/08/09
4340
HTML的标签:
HTML标签学习
h1到h6:会将其中的数据加粗显示,并且显示依次减弱,标题标签自带换行功能(块级标签)
全栈程序员站长
2021/04/21
1.1K0
HTML标签学习
第 2 天:HTML 中的文本格式和链接
今天,我们将通过探索文本格式和链接来深入了解 HTML。在这篇文章的结尾,您将能够格式化文本并创建指向其他网页的链接。
哈德森sir
2024/06/01
3510
HTML5学习(五):基础标签(一)
<ul><li>需要显示的条目内容</li></ul> <h1 align="center">世界最后的国家是哪些</h1> <ul> <li>中国 :<t>自强</t></li> <li>韩国 :<t>悲剧</t></li> <li>印度 :<t>神奇</t></li> <li>美国 :<t>屌丝</t></li> </ul>
孙寅
2020/06/02
8470
HTML5学习(五):基础标签(一)
【前端】HTML标签
本文主要在初学HTML时,对常用标签做一些记录。主要是标签的使用,以及效果展示。目的在于有个大概的认识:有什么标签?能做什么?
Gavin-ZYX
2019/03/04
2.2K0
【前端】HTML标签
HTML 基础
utf-8 则包含全世界所有国家需要用到的字符,页面编码应与页面文件保存时的编码一致
久绊A
2023/03/24
5800
HTML
浏览器(browser application)是用来访问和浏览万维网页面的客户端软件,是显示、运行网页的平台。
用户9615083
2022/12/25
3.9K0
HTML
HTML 快速入门
HTML 是一种定义内容结构的标记语言。HTML由一系列元素组成,您可以使用这些元素来包含或包装内容的不同部分,以使其以某种方式显示或以某种方式执行。封闭的标签可以使单词或图像超链接到其他位置,可以斜体化单词,可以使字体变大或变小,等等;
HammerZe
2022/03/25
3K0
HTML 快速入门
【Java 进阶篇】HTML文本标签详解
HTML(Hypertext Markup Language)是构建Web页面的基础。在HTML中,文本标签用于定义和呈现文本内容。本文将详细介绍HTML中的一些常用文本标签,包括段落、标题、文本样式等,适用于初学者,让您了解如何创建和格式化文本内容。
繁依Fanyi
2023/10/12
3140
【Java 进阶篇】HTML文本标签详解
前端开发基础教程-HTML教程和CSS教程
html是超文本标签语言,又可以说是超文本标记语言,是基本功。html发展历史跳过。
达达前端
2019/07/03
2.6K0
body标签中相关标签
字体标签包含:h1~h6、<font>、<u>、<b>、<strong><em>、<sup>、<sub>
py3study
2018/08/03
4.8K0
body标签中相关标签
1.2.HTML的核心标签
序号 标签 标签解释 1 <head> 定义关于文档的信息 2 <title> 定义文档标题 3 <base> 定义页面上所有链接的默认地址或默认目标 4 <link> 定义文档和外部资源的关系 5 <meta> 定义关于html文档的元数据 6 <script> 定义客户端脚本 7 <style> 定义文档的样式信息
全栈程序员站长
2022/07/19
7130
HTML知识点概括——一篇文章带你完全掌握HTML
label标记可以连接其他元素(常用于与button,checkbox,radio等点击性标签使用)
秋落雨微凉
2022/10/25
1.8K0
HTML知识点概括——一篇文章带你完全掌握HTML
这些HTML标签你知道吗?
包含有序列表 <ol></ol> and 无序列表 <ul></ul>,列表项由<li></li>显示,其中有序列表的列表项以数字开头,无序列表的列表项以黑圆圈开头
佛系编程人
2019/08/14
8080
HTML基础
作用:为文本添加特殊格式,以突出重点。常见的文本格式:加粗、倾斜、下划线、删除线等。
777nx
2023/10/18
2320
HTML基础
HTML标签
HTML(英文Hyper Text Markup Language的缩写)中文译为“超文本标签语言”,主要是通过HTML标签对网页中的文本、图片、声音等内容进行描述。
星辰_大海
2020/09/30
7.5K0
【Web前端技术】第二节—HTML标签(上)
2. HTML 标签 通常是成对出现的 ,例如 <html> 和 </html> ,我们称为 双标签。 标签对中的第一个标签是开始标签,第二个标签是结束标签。
云边有个稻草人
2025/04/18
1230
【Web前端技术】第二节—HTML标签(上)
相关推荐
【HTML】HTML 标签总结 ★★★ ( 标签类型 | 排版标签 | 文本格式化标签 | 标签属性 | 图像标签 | 链接标签 | 注释标签 | 锚点定位 | 预格式化文本标签 | 特殊符号 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验