因子中性化 1....行业中性化 行业中性化有两种方法,一种是之前所说类似计量中加控制变量的方法,用因子值做因变量,用所属行业(申万行业、中信行业)虚拟变量做自变量进行OLS回归,用回归之后的残差值代替因子值。...市值中性化 用因子值做因变量,市值做自变量(有时也取市值对数),进行回归,取残差。...一般将行业虚拟变量和市值同时放在自变量上进行回归,同时进行市值中性化和行业中性化,理论上可以证明,回归后的残差序列与自变量序列均正交,因此可以认为回归后的残差是因子剔除了行业和市值影响后的纯净的因子。...做完上面的所有处理之后,就可以对因子进行单因子测试了,因子测试的两种方法之后两篇文章来写,同时也会把进行中性化和不进行中性化的测试结果进行对比。 文章为个人理解,有问题请指出,谢谢!
例如,价值因子在多空策略中从行业中性化中获益,而在纯多策略中则可能不受益。这强调了在实施行业中性化策略时,需要根据因子的特性和投资者的风险偏好进行定制化决策。...表2通过对比多空(long-short)因子和纯多(long-only)因子的回报分解,深入阐释了行业中性化在因子投资策略中的应用和影响。...在图7中,当使用多空策略进行多元回归时,我们可以看到大多数标准因子(即未进行行业中性化的因子)的截距为负,而行业中性化的因子的截距大多为正,并且价值和盈利能力因子的截距统计显著。...在这些回归中,所有版本的标准纯多因子都显示出正的截距,而行业中性化的因子中有一部分显示负的截距。...特别是,规模和盈利能力因子的行业中性化版本,以及价值加权的价值和动量因子的行业中性化版本,都显示出负的alpha值。这表明在纯多策略中,行业中性化可能会减少投资组合的超额回报。
回测区间:20091231-20191231 全A股,剔除ST和新股 计算因子IC,先看不做行业市值中性化的结果 SUE-含漂移项 ? SUE-不含漂移项 ? SUR-含漂移项 ?...不做中性化时,带漂移项的业绩超预期因子ICIR更高,不带漂移项的因子IC更高。 对因子用申万一级行业和流通市值做市值行业中性化后计算IC如下 SUE-带漂移项 ? SUE-不带漂移项 ?...可以看出,中性化后,因子稳定性明显上升,ICIR变大。 分层测试结果 限于篇幅,这里只给出中性化后的,未中性化的结果可以在代码文件中查看。 SUE-带漂移项 ? SUE-不带漂移项 ?...04 业绩超预期模拟组合 接下来给出在米筐和聚宽平台上,模拟组合的结果 回测区间:200912-201912 股票池:中证800 规则:中性化后的因子降序排列,买入最大的100只股票,每月末月度调仓...SUE-带漂移项-不中性化 ? SUE-不带漂移项-不中性化 ? SUE-带漂移项-中性化 ? ? SUE-不带漂移项 ? ?
选取第一组的前提是因子值越大的股票越好,但有的因子可能是越小越好(比如PB,市值因子),这类因子,应该买入最后一组的股票,但为了编程统一,一般对这类因子取倒数(比如PB,一般用BP = 1/PB)。...PB因子(windcode:pb_lf) 多头组合净值曲线(因子中性化) ? 多空组合净值曲线(因子中性化) ? 多头组合净值曲线(因子未中性化) ? 多空组合净值曲线(因子未中性化) ?...市值因子(因子中性化) 多头组合净值曲线 ? 多空组合净值曲线 ? 市值因子不同组对比 ? 可以看出,不论是PB因子还是市值因子,相对于沪深300指数,均有明显超额收益,但今年以来净值曲线存在回撤。...未做中性化的因子效果明显比做中性化的因子效果差。...1if_neutral_industry = False 2if_neutral_mktcap = False 3monthdata['BP'] = 1/monthdata.pb_lf 4# 标准化,中性化
选股因子在行业的暴露度过高可能会导致股票过于集中而带来的极端风险。这会影响选股因子有效性的判断。 A股行业市值效应明显,为降低选股因子在行业和市值的暴露度,我们通常会进行市值和行业中性化处理。...IC分析结果比对: 通过IC分析结果对比,不论从因子有效性、稳定性还是预测能力来看,SAM提纯后的因子效果都显著优于行业中性化处理的因子。...Alpha004测试结果 不同持仓周期下对照组中性化因子与实验组提纯后因子IC分析结果比对。...,从因子IC分析、因子收益指标及模拟资产组合交易三个方面验证对比了行业中性化处理及提纯后因子的表现。...2、提纯后的因子相较于行业中性化后的因子,不仅预测能力与稳定性都得到了显著的提升,且有效性也有所提升,这说明信息提纯进一步挖掘了因子的增量信息,起到了优化因子的作用。
我们知道,一个因子值的处理大致分为三个步骤,去极值、标准化、中性化,上次我们对因子值进行了去极值和标准化,这一次,我们主要讲一讲中性化,也就是neut。 ...所以,很多因子数值在一个行业内比较才是有效的。同样的思路,有些因子虽然看起来不是一些基本的风格因子,比如PE,但是,其实我们知道,PE和市值有很大的关系,大市值的公司,一般是成熟的公司,PE往往不高。...也就是做一个回归,其中,因子值是y,需要中性的风格因子的暴露为x,然后我们进行回归。回归之后的残差就是因子值对行业中性化后的值。这里的风格因子可以是一个也可以多个,也就是一元回归和多元回归的区别。...2.行业中性化 由于分风格因子通常会购买barra的数据服务,所以,这里我们只进行行业中性。 首先,我们需要获得行业数据,也就是每个股票行业的类别。...目前,我们暂时只进行行业中性,然后进行因子的回测。
本框架在此基础上对因子进行实证分析,目的是筛选掉与收益率相关性不高的因子,从而得到真正有效的因子池。 2.因子有效性、因子衰减周期、因子轮动。...JupyterNote 数据来源:通联数据 依赖包:数据处理(pandas、numpy)、数学工具(scipy、自带包statsmodels)、绘图包(matplotlib、seaborn) 数据预处理与中性化处理...标准化 采用(因子值-因子平均值)/因子标准差,将所有因子归一到统一的中心值和标准差分布,使其具有等权可加性。 因子中性化 因子中性化是为了避免因子与某些行业和风格过度耦合所带来的偏差。...本文中对因子进行了行业和市值的中性化,主要做法是:对每期的因子值对行业哑变量和流动市值做线性回归,取得回归的残差作为对原始因子值的替代。 标准化与去极值还有很多计算方式可参考,本文从简。...在利用IC值评价因子有效性时,需先进行因子中性化处理(与回归分析法一致)。
2、中性化探索与思考 由于风格风险因子表现非常不稳定(不建议依靠这类因子赚钱),所以剥离它们的影响也就是业界常说的中性化过程,已经非常重要。...某因子中性化前后的因子top-bottom对冲性能对比 如上图,一个短期量价因子做了行业和主要风格中性化前(上部分),对冲净值曲线,和中性化后(下部分),性能差异显著。...所以中性化并非都降低了因子性能,反而有助于大部分因子体现出真实绩效。 风格因子中性化见仁见智,为了alpha的纯净属性,剥离大部分风格因子是必须的。...中性化过程几乎不能跳过Barra模型。实际使用中,我们将因子针对Barra提出的风格风险因子做中性化,并没有太多考虑Barra模型本身的推导过程。...最终的模型打分结果可以再次中性化处理 还有一种方式被称为“后置中性化”,如上图,其针对模型每日的股票打分当作一个因子,使用行业哑变量和风格风险因子,对打分做中性化线性回归处理。
深度学习因子与流通市值的相关性:IC序列的相关性 经过行业和市值中性化之后,深度学习因子更少受到市值因子的影响。...深度学习因子与流通市值的相关性:截面相关性 经过行业和市值中性化之后,深度学习因子更少受到流通市值因子的影响。...:估值因子、规模因子、反转因子、流动性因子、波动性因子、技术 指标,共计128个因子,以及28个行业0-1变量 风险因子:行业、流通市值 深度学习模型训练:每半年滚动更新模型,采用最近4年的样本作为训练集...总结 将风险因子中性化处理后,可以构建新的深度学习选股模型,该模型受风险 因子的影响较小。...即使是采用同样的特征和模型结构,风险因子中性化之后,训练的策略也会 有较大的差别,可以通过此方法丰富深度学习选股策略的多样性。
报告的关注点在于行业内价值和行业间价值的差异,主要论点论据是以下两张图 上图是是用五个行业中性化的估值因子等权合成后,计算的value spread,因为做了行业中性化,所以反映的是行业内的(with-industry...实际反映的是价值因子多空头的估值差,spread高时,价值因子表现较好。
基本上覆盖到了因子评估的每个方面每个细节,小白友好型,很长,慢慢看。 关于因子评估,很早之前写过三篇单因子测试的三篇文章:上、中、下,分别写了因子中性化、回归测试和分组测试,也可以参考这三篇。...上述都是因子自身的分析,当然除了行业,也可以从更多风格上分析因子的取值,比如看不同市值上的因子取值等等。接下来做一些因子和股票未来收益的分析,这部分也是大家最关注的部分,做之前首先做中性化处理。...04 因子中性化 因子中性化主要是为了剔除因子在行业和市值上的特异性,让因子在行业和市值上可比。...中性化的原理为用因子值对市值和行业虚拟变量做回归,取回归的残差,因为回归残差和自变量之间是相互正交的。另外也可以证明,对行业虚拟变量回归去残差和在行业内减均值除以标准差的效果是一样的。...,当然这里因为已经做过了中性化,实际上可以认为在每个行业上的暴露是差不多的。
01 市值因子测试总述 规模因子是A股长期以来非常显著的一个负向因子,单调性表现非常好,本文共测试如下6个规模因子。 ?...测试方法:分层测试、回归测试、IC 测试区间:2010年1月-2018年6月 是否中性化:行业中性,不市值中性 加权方法:等权 IC:rankIC 回测代码说明见文章最后,自娱自乐,不保证正确性,请理性看待...非线性规模因子强调的是中等规模的因子。...def norm(self,data,if_neutral_industry,if_neutral_mktcap): """ 中性化函数...,对因子进行中性化 """ return data def getIC(self,data, rt, method = 'rank'):
如果以多空策略为例,Alpha的本质就是在截面上,通过组合的优化及风险的处理(这时由于做空限制的放开,可以中性化掉很多风险),来获得多头部分相对空头部分的超额收益。...同时,量化模型应该对这些噪音进行中性化处理,即使无法中性化掉,那也应该在风险层面去控制。噪音的冲击往往会带来阶段性的亏损,但噪音之后的均值回归又会给量化策略带来可观的收益。...在随后构建因子组合的过程中,我们也不会使用预定义的概念对因子进行分类并从中筛选因子进行组合,而会从结果去看因子的相关性。最后的组合也会完全的进行市值行业中性化处理。...最后,再把人工挖掘的因子和GA因子进行组合。但组合的过程中,我们并不会把GA因子与人工的因子配置相等的权重。比如人工挖掘了100个因子,GA算法可能在短时间就能挖掘出10000个因子。...比较安全且合理的做法是先将这10000个GA因子组合成一个或几个因子,再与100个人工Alpha因子进行组合。
近一个半月疯狂的接触多因子模型,其中对于单个因子的回测,是最熟的。而对于单个因子,或者叫做signal(这一系列文章后续都这么叫),是多因子模型的基础。...1.我们开始的数据 这一系列的教程,我们将从一个因子开始,最简单的因子,revs10,也就是,十天收益率。...这个教程,注重的是整个signal测试的框架,包含两个方面,测试的思路和软件的平台建设,而我们的因子是否好,其实不是我们关注的点。...2.计算因子值 我们的因子叫做revs10,说白了就是十天的收益率的值。 res10(t) = close(t) / close(t - 10) - 100% 公式大概就是上面这样。...其实,多因子模型的第一步就是这么简单。当然,这个因子是最简单的一个因子了,别的因子会用到别的数据,无论如何,核心的一步就是,千方百计计算好你的因子值,然后存下来。
社区俱乐部成员把 WorldQuant Alpha 101 的每个因子都了做一次最详细的解释和回测研究,一层一层的去拆分因子,把每个公式都说清楚。...4、x4=rank(x3)0.5 结构:先排序,再进行-0.5 中性化变换。...逻辑:rank(x3)表示对x3排序,返回其对应排名的 boolean 值,再进行-0.5中性化操作,使得最后的返回值x4一半为正一半为负。x3为3中的返回值。...那么,我们对其进行排序以及-0.5中性化操作,最后返回的x4就是我们得到的 Alpha #001 因子。...5、将每只股票返回的索引号进行排序,返回其股票对应排名的boolean 值(排名 所占总位数的百分比),再减去0.5 的中性化操作得到最终的alpha001 因子。
本文给出另一种更为常用的解决因子间相关性的方法:因子正交化。...01 背景 因子多重共线性 如上一篇所述,传统的多因子模型一般采用IC加权、ICIR加权等方法,这些方法都是以IC为基础确定各因子在模型中的权重。而IC是当期因子暴露与下一期收益间的相关系数。...如果因子间存在较强的相关性/相关性,通过上述加权方式,最终会导致因子对于某种风格的因子重复暴露。使得整个组合的表现严重偏向于该因子,削弱其他因子的效果。...具体来说,当因子表现好时,组合会获得更高的超额收益,但因子表现不好时,也会出现更大幅的回撤。 举个栗子,在上篇三因子组合市净率、1个月动量、市值的基础上,加入流通市值因子进行四因子组合。...基准采用沪深300指数,显然,四因子组合由于在估摸因子上的重复暴露,导致15年股灾之后,相较于三因子组合出现了超额增长,但在17年规模因子失效后出现了更大回撤。
01 WHY DCA 传统的多因子模型是在一个特定域内对所有股票一视同仁的打分,市值行业中性化后排序打分。...H是high组,L是low组,然后可以把整体的IC也拆成两部分 因子的IR可以表示为 如果考虑极端的情况,因子在L组完全没用,IC=0, 如果因子在高低组的相关性是负数,那整体的IR会小于只在高...其实行业变量也可以理解成一个分域变量,在行业内做中性化也是为了消除行业间的差异性,也可以理解成一种分域的处理。 因此构建DCA模型的第一步:寻找分域变量 这部分参考了东方很早以前的一篇报告。...这里报告是用barra风险因子来分层看的,报告建议关注因子的自相关系数和覆盖度。根据这两个维度,最终挑出来的风险因子如下,过程详见报告。...实证就略过了,感兴趣的童鞋可以自己尝试下 参考文献 [1]动态情景Alpha模型再思考——因子选股系列研究之十九 [2]动态情景多因子Alpha模型——因子选股系列研究之八 [3]量化多因子系列(2)
将factor的因子水平进行修改比较方便的包为forcats 测试数据集:forcats::gss_cat 数据集,该数据集是综合社会调查数据的一份抽样。...gss_cat数据集是由一个 R 包提供的,因为当因子保存在 tibble 中时,其水平不是很容易看到的。查看因子水平的一种方法是使用 count() 函数来直接计算数量。
之前两篇分别总结了因子数据的预处理和单因子测试的分层测试法,本篇总结回归测试法,相较于分层测试法,回归测试法更简洁。...---- 因子预处理 与分层测试法不同,回归法测试时,因子可以不进行中性化处理,只进行异常值处理和标准化(zscore)处理,将中性化的过程包含在测试过程中。...得到的回归结果中,因子暴露的系数即为因子收益率,通过多期回归后,就可以得到因子收益率序列及回归的t值序列,通过这两个序列可以构造指标分析因子的表现。...因子测试实例 测试因子:pb_lf,需倒数 测试区间:2010年1月-2018年5月 ? ? ?...:因子测试框架
今天说一说因子分析过程_怎么得出公因子stata,希望能够帮助大家进步!!!...言归正传进入主题 什么是因子分析 因子分析法是指从研究指标相关矩阵内部的依赖关系出发,把一些信息重叠、具有错综复杂关系的变量归结为少数几个不相关的综合因子的一种多元统计分析方法。...综合得分 利用因子给每个样本一个综合得分 首先计算各因子的值,使用上面的步骤计算因子1,2,3的得分 其次计算各因子所占的比例,利用旋转后的结果如下: 每个因子所占比例分别是0.2193,0.1998,0.1879...,累计贡献率是0.6069 则每个因子所占比例: 因子1权重 = 0.2193 / 0.6069 因子2权重 = 0.1998 / 0.6069 因子3权重 = 0.1879 / 0.6069 最后综合得分...= 因子1权重 * 因子1得分 + 因子2权重 * 因子2得分 + 因子3权重* 因子3得分 最终的综合得分到底如何使用,表达什么,只能仁者见仁智者见智了。
领取专属 10元无门槛券
手把手带您无忧上云