金母鸡量化教学场Zipline多因子策略的正确打开方式

量化交易中多因子策略可谓历史悠久的经典老派套路,而且直到目前为止也仍是宽客们使用频度最高,运用最熟练的策略就是Zipliner。今天我们一起来认识一下它。

金母鸡量化教学场Zipline多因子策略的正确打开方式

Zipliner的特点是结构清晰简单:好理解,好解释,实现上也较为容易。而且只要因子选择和合成合合理,则策略本身表现相当稳定,令人放心。 所以对于个人宽客而言,多因子策略无疑是基础工具,必须熟练掌握。

不过,个人宽客要想熟练驾驭多因子,能自由正确的实现因子,且能从因子上解释成败是非,也并非不费吹灰之力,总的来说还是要费点功夫的。

在多因子策略中下面几个环节最为重要,也是在策略学习实践上需要花时间最多的地方:因子发现、因子合成、风险管理。

一、zipline 环境下多因子策略的实现

分别在“zipline研究环境下实现因子回归统计分析”和”在zipline回测环境中实现Long-Short多因子策略” , 从而可以从统计学角度和机器学习角度审视多因子回归的本性!

前者对应用于对各种算法的回归性能做基本的统计分析,后者用于使用各种算法做预测的全策略回测。

zipline研究依次遵循的流程如下: 因子预处理 -> 回归模型选择 -> 统计学分析 -> LONG-SHORT策略回测分析

金母鸡量化教学场Zipline多因子策略的正确打开方式

二、zipline因子预处理

(1)标准化

不管是统计模型还是机器学习模型,回归前必然需要进行因子标准化(这个不多说了),在zipline上的标准化操作为:factorx.zscore()| rank() |demean();

(2)中性化

但对于量化领域因子而言,除了标准化外,特别要注意因子要根据所在版块和市值进行分段计算,之所以要安板块或市值分区是因为,不同版块或市值下指标的功效会大相径庭。举个好理解的例子,比如身高这个指标,使用时应该先区别男女后,否则就结果就是错的。

金母鸡量化教学场Zipline多因子策略的正确打开方式

在zipline为这种分区计算提供了:

按版块:factorx.zscore(groupby=sector())

按市值:factorx.zscore(groupby=market().quantiles(bins=10, mask=private_universe))

异常离谱值消除

对于离群值如果要处理,zipline中的提供的办法是:

按版块:factorx.zscore(groupby=sector(),mask=factorx.percentile_between(1, 99)) ;

按市值:factorx.zscore(groupby=market().quantiles(bins=10, mask=private_universe),mask=factorx.percentile_between(1, 99))

(3)OneHot化

对于分类型属性,没有比较关系的因子,比如我们常见的版块等,就应该已onehot编码实现,在zipline中,实现了个自定义因子OneHotSector, 它可返回版块的onehot编码。如pipeline 中版块因子会被如下展开成多个新0|1值得因子。

金母鸡量化教学场Zipline多因子策略的正确打开方式

zipline设计初衷就是为了方便回测,所以zipline中完成回测尤为容易,其中pipeline和自定义factor机制是我们最好帮手!

通过实例将整个回归和预测动作也封装成了一个自定义因子BasicFactorRegress,其input是时间段上内的多因子和收益向量组(另外它还支持支持传入不同的算法模型,以及支持指定是否因子交叉等),其返回则是对应股票按最后一天数据向后n天的的预测值。也就是我们多因子的组合得到的meta alpha。

金母鸡量化教学场Zipline多因子策略的正确打开方式

三、从量化工程角度看机器学习和统计学的方法论有何差异?

就大方法论上而言,统计学追求的”估计”概率分布模型,追求清晰的求解过程和对因果的解释力;而机器学习则更依赖“观察”,强调预测的实际结果,而放松可解释性要求。在量化侧路中其区别在因子选择、模型选择、残差检测上最有代表性。

  1. 关于因子数量问题 —— 简单说机器学习希望因子更多,而统计学希望因子更少。
  2. 关于因子共线性问题 —— 因子共线性是个普遍存在的现象,量化中也不例外。
金母鸡量化教学场Zipline多因子策略的正确打开方式

  1. 关于因子筛选问题 —— 统计学上最常用的是step wise方法逐步测试;机器学习则一般依靠算法内在特性进行处理。
  2. 关于线性模型或非线性模型 —— 统计学提倡使用线性模型,如果因变量有自相关性,最多可接受引入AR、ARCH、 GARCH时序模型。
  3. 关于残差检验问题 —— 统计学优雅的残差检测,在机器学习应用工程上,比较少用。

简而言之,在量化工程领域机器学习相比统计学而言,要对因子选择、模型选择和残差测试上更宽松得多。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/76678
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 12 日
下一篇 2024 年 7 月 12 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注