【量化交易】因子数据处理-标准化和市值中性化

本文介绍了在因子数据处理中,如何进行标准化和市值中性化操作。首先,通过使用`StandardScaler`进行标准化处理,然后探讨了去极值后标准化是否能提高准确性。接着,详细解释了市值中性化的目的,即消除因子中的市值影响,防止选股过于集中。文中提出使用回归法去除市值影响,并通过实例展示了如何运用`LinearRegression`进行市场中性化处理,通过拟合后的残差作为新的因子值。

学习目标

  • 目标
    • 应用标准化对因子进行标准处理
    • 实现标准化函数

去完极值之后,我们再去进行标准化,是否会更加准确些?

一、对pe_ratio标准化

from sklearn.preprocessing import StandardScaler
std = StandardScaler()
std.fit_transform(factor['pe_ratio2'])

二、实现标准化

在调用fit_transform之后,数据的类型会变成array数组。不去修改原来的类型,我们可以简单的实现

def stand(factor):
  """自实现标准化
  """
  mean = factor.mean()
  std = factor.std()
  return (factor - mean)/std

调用

factor['pb_ratio'] = stand(factor['pb_ratio'])

因子数据处理-市值中性化

学习目标

  • 目标
    • 说明中性化处理因子数据的原理
    • 应用回归法对因子数据去中性化
    • 应用市值中性化进行选股

一、为什么需要中性化处理

市值中性化是为了在因子选股回测的时候(不属于因子挖掘时候使用)防止选到的股票集中在固定的某些股票当中

怎么理解?

1.1 市值影响

默认大部分因子当中都包含了市值的影响,所以当我们通过一些指标选择股票的时候,每个因子都会提供市值的因素,是的选择的股票比较集中,也就是选股的标准不太好。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值