已在开头 下一篇 →

单因子分析

可参考聚宽单因子分析教程 目标:走通从数据获取、因子计算、因子分析的完整pipeline,并且能复现一些经典因子,进行实践。

Intro

单因子模型是关于资产定价(选股)的模型,与资本资产定价模型和单指数模型不同,单因子模型认为股票的价格并不仅仅取决于证券的风险,还取决于其他一些因素。

常见因子分类

个人倾向于分为基本面因子市场因子,但是更专业的分类如下:

估值因子:股票价格对基本面合理性,常见估值因子如下

规模因子:公司规模对股票收益的影响,常见规模因子如下

杠杆因子:公司财务杠杆对股票收益的影响,常见杠杆因子如下

交易因子:股票交易行为对股票收益的影响,常见交易因子一般分为量和价

因子分析的作用

不断挖掘新的因子,用单因子、多因子模型进行回测,为后续的多策略组合实现稳定盈利,包括数据获取,因子处理,收益分析,消息分析。

数据获取

数据来源:

数据处理(主要中性化处理)

数据处理包括数据预处理,极值处理,中性化处理etc,前两个常见不说,主要是中性化处理。 中性化处理是指将因子值与某些特定的变量(如行业、规模等)进行调整,剔除因子中某些特定的、 unwanted 的风险暴露(如行业、市值),从而提取出因子纯粹的 Alpha(超额收益)能力。

1. 为什么做中性化?

2. 中性化两种(行业,市值) 因子中性化最常用的方法是正交化处理,通常通过截面线性回归来实现。 在实际工程中,我们是按每一个截面(每一天)独立进行操作的。

第一步:数据准备

对于某一天$t$ ,获取全市场股票的原始因子值 $Y$ 。获取全市场股票的市值数据(取对数 $ln(MC)$ )。 获取全市场股票的行业分类,并将其转换为哑变量。(例如:股票A属于“银行”,则银行列=1,其他列=0;股票B属于“医药”,则医药列=1,其他列=0。)

第二步:数据清洗(非常重要)

第三步:执行线性回归

以 X (行业哑变量 + 对数市值)为自变量,Y (原始因子)为因变量,进行 OLS(最小二乘法)回归。

第四步:提取残差

计算 $ϵ=Y−Y_{estimate}$ 。这个 ϵ 就是中性化后的因子。

第五步:再次标准化(可选) 提取出的残差 ϵ 虽然已经中性,但其量纲可能与原因子不同,且均值为0,但方差不一定为1。为了后续合成因子,通常会再进行一次 Z-Score 标准化。

中性化的常见问题:

  1. 必须要剔除截距项吗?
  2. 为什么要用对数市值?
  3. 加权回归 (WLS)
  4. 中性化会破坏因子逻辑吗?