问答交流

请教有关因子分析模块的详细说明

由congcong009创建,最终由congcong009 被浏览 18 用户

因为平台的因子分析模块是个黑盒,文档只描述了参数,并没有对其回归逻辑和数据处理等细节做详细说明,为了确保分析模块对因子解析的技术可说服性更强,这里我尝试去做了一个不成熟的横向对比,抛砖引玉。

数据准备

我以沪深300为股票池,平台模块直接使用了单因子分析,参数如左下图所示。作为对照组,采用了Alphalens包,数据准备上我用基础特征提取等节点,取出了同样的数据样本,并采用了默认的基础数据处理,如去极值、标准化和过滤逻辑。


左图为因子分析节点的参数,右图为我手动提取了市场数据,并将输出数据导入Alphalen{w:100}

\

基于平台的一些假设

这里在数据准备上假设条件如下:

  • 数据来自同一个源,无论我直接用因子模块,还是手动提取,源没有变,包括且不限:个股日线、因子库、行业分类数据
  • 数据处理的功能,因子模块和多模块组合在逻辑上是一致的,包括且不限:去极值、标准化、股票池内成分股刷新、股票池过滤

我以 PE_TTM_0 因子为例,调仓时间为22天,采用因子分析模块直接计算的结果如下:

\

因子模块输出



表现概述为总体收益,因子模块输出的分组数据基于调仓日即22天{w:100}



IC 时序图{w:100}



总体的IC结果{w:100}

\

Alphalens 输出

接下来看看 Alphalens 的计算结果


这里仅看22D的首尾两个分组的收益统计{w:100}



由于不能输出22D的分组收益,这里就看看1D的图吧,暂时不具备可比性{w:100}



IC 时序图{w:100}



注意这里,22D 的 IC 数据,和因子模块的结果差别就很明显{w:100}

\

探讨

从结果上看,差异是比较大的,这里抛出几个不成熟的问题,以求探讨:

  • Alphalens由于开源,所有的算法和回归处理都是可直接考察的,平台的模块是看不到的,请问平台在因子处理上,和 Alphalens 有哪些区别呢?如果有不一样的地方,请问逻辑是什么,可以有个对比列表么,我们也可以自行评价?如果有改进,请问改进点在哪呢?以及改进的理由呢?
  • 同样的数据,采用不同的方法得到不同的结果,哪种更合理呢?或者说,平台的因子分析优势是什么,如何说服用户更信任结果并放心使用呢?

\

{link}