【Python量化投资与A股量化研究 |StudyQuant】| 系列6 - 论因子数据预处理的重要性

前言

StudyQuant -【量化投资教学系列帖子】,通过实际案例教初学者使用python进行量化投资,分享最前沿的研究成果。希望能对大家有帮助。

微信:82789754 (附加信息 (CSDN),有问题欢迎交流。

量化投资介绍

量化投资,是一个很宽泛的概念。主要是指基于大量的数据,用数学、统计学等量化的方法来研究金融市场中资产价格等并作出投资决策,而非描述性或定性分析和决策它并非是基本面分析和技术面分析的对立面,而是基于基本面分析并结合技术分析因素来构造量化投资模型。它是一种主动投资方法,一般通过开发各种量化模型,希望能够战胜市场获得超额收益。

简单地说,量化投资就是以数据模型为核心,以程序化交易为手段,追求绝对收益为目标的一种投资方法。其本质是通过程序化交易来实现交易思想。

前导

市场上的投资者,不管是价值投资者,还是投机者,或者短线交易者,都会根据某些因子来判断股票的涨跌。当有一群交易者同时采用某个因子的时候,就造成该因子有效。例如,当很多投资者认为低PE的价值型的股票是好的投资标时,他们纷纷买入低PE的股票,会使得该股票出现上涨,或者越大市。这样就得低PE这个因子的有效性得到体现。

市场上有很多这样的因子,它们在不同的市场环境下,或多或少会起作用,从量化分析的角度来看这些因子和收益率之间存在因果关系。本节的多因子模型就是研究市场上有哪些因子对最终收益率的作用比较大,它们在不同市场阶段的表现如何。

多因子选股策略

在量化交易中,多因子策略是一种常被提及且应用广泛的选股策略。我们会经常使用某种指标或者多种指标来对股票池进行筛选,这些用于选股的指标一般被称为因子。顾名思义,多因子模型是指使用多个因子,综合考量各因素而建立的选股模型,其假设股票收益率能被一组共同因子和个股特异因素所解释。

多因子模型的优点在于,它能通过有限共同因子来有效地筛选数量庞大的个股,在大幅度降低问题难度的同时,也通过合理预测做出了判断。

多因子模型理论背景

根据现代金融理论的定义,投资组合获取的收益均可以分为两个部分,一部分是来自市场的收益也就是????,另一部分则是超出市场的收益也就是我们常说的????。如何准确的定义和寻找股票市场中的???ℎ?一直是学术界和业界不断探索的问题, 已有的模型包括资本资产定价模型CAPM 和Fama-French 三因素模型等,而多因子模型正是基于套利定价理论(APT) 而建立的更为完善的定价模型。
从模型的构建目标上看,我们可以将多因子模型分为???ℎ?模型和风险模型。以Barra 为代表的风险模型更多的用于投资组合的业绩归因。 本报告主要讲单因子测试中,数据预处理的重要性。

单因子测试

有效的单因子首先应该具有一定的逻辑支撑,其次则是与股票收益率的相关性较为显著。多因子模型构建流程中很重要的一部分就是因子的挖掘和单因子的测试,我们的因子测试体系则是基于回归法和分层回溯法来建立的。截面回归(Cross-Section Regression)是目前业界较常用于因子测试的方法。 回归模型选择有 最小二乘法robust linear model 稳健回归等。

单因子有效检验,采用多期截面RLM回归后,我们可以得到因子收益序列, 以及每一期回归假设检验t检验的t值序列, 针对这2个序列,我们可以通过统计指标比如 T值绝对值 判断因子的有效性及稳定性,

由于单因子回归法所得到的因子收益值序列并不能直观的反应因子在各期的历史收益情况以及单调性,为了同时能够展示所检验因子的单调性,我们将通过分组打分回测的方法作为补充。在进行分层回溯法时,我们在各期期末将全市场A 股按照因子值得大小分成5 等分。

分层回溯法

市盈率的用法

使用PE因子选股为例,市盈率一直被看作是衡量股票投资价值的指标,简单来看,市盈率是股价与每股收益的比值。一般来说,市盈率越低,表明投资收回成本的周期越短,因此投资价值越高。这里第一组表示因子较强的一组, 第五组表示因子最弱的一组

PE因子分组回测

PE因子分组回测

PE单因子分组回测结果

在这里插入图片描述
大家可以通过分位数来判断因子的好坏, 根据这个图来看, 这个因子不算一个非常稳健的因子, 没有得到明显的单调性, 因子表现不够稳定, 比如第5组的因子,在2015年之前都比其他分位组表现好,而在2016年后,因子较强的组合表现较好, 而因子较弱的组合表现有了明显的回撤。

单因子分组回测(数据预处理后结果)

在这里插入图片描述

单因子分组回测结果(数据预处理后结果)

在这里插入图片描述

从此图可以看出,做完数据预处理后, 因子的较强的组合表现更好,且呈现出较强的单调性。8年时间回测,的年华收益也更高。 那么为什么会出现这种情况呢?主要时因为回测时对因子做中性化处理, 剔除 GROWTH, leverage 杠杠, 流动性,市值等因子的影响。

其他

如果还有什么不懂的,欢迎添加 微信 82789754 咨询
添加 Rudy 微信 82789754,免费领取 珍藏PYTHON 量化学习资料

本报告的相关代码使用了优矿平台, 如需要相关代码,可报名**Python量化投资与金融数据分析** 领取学习

在这里插入图片描述

如何避开市盈率缺陷

1、公司、行业分类分析

要用好市盈率,首先得把公司分好类,不同的公司用不同的市盈率进行估值,有些公司甚至根本不适合用市盈率对其进行估值(在业绩判断不出来的情况下)。

其次,不同行业不同分析,每个行业的情况是不一样的,不能统一判断。你不能用银行股的市盈率去跟互联网板块做对比,两者没有可比性。

2、设定可接受估值区间

给自己设定一个能够接受的估值区间,很多公司估值太贵,连看的价值都没有,所以为了避免自己进入这种泡沫型的公司里,最好给自己设定一个可以接受的估值区间。

3、抱团平均

在某一时刻的市盈率说明的情况有限,可以抱团平均,然后将市盈率与去年同期相比。在操作的时候,可以剔除市盈率异常变动的时点,求得平均市盈率,作同比环比的比较。

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值