• 基于alphalens对qlib的alpha158做单因子分析


    本次百天计划第32篇“AI+量化投资”系列。

    这个本次100天小目标,要基于qlib打造一个AI量化投研平台基础

    今天的重点是“因子分析”。

    因子就是机器学习里的特征。

    有人说,回测不重要,因子分析更有意义

    回测只能证伪,而不能证实。

    什么意思,就是回测结果不行,那实盘肯定不行,因为过往历史数据告诉你,你这个策略结果不好;但回测结果很好,实盘不一定行,为什么呢?

    这里本质大家要想清楚,即便你的策略的确不包含“未来函数”,没有错误,但很有可能包括了”隐性“未来函数,比如2016年以来,价值因子明显有收益,像消费行业起飞,若你的策略使用的是价值因子,那超额收益一定不错,但这个一定可以持久的嘛?未必。

    因子分析简单说就是看因子与结果之间在统计意义上的相关性,尽管是线性的相关性,但至少有统计学意义的数学基础保证,当然更进一步,我们可以对因子进行非线性的归因分析。

    tips1:加载alpha158需要的时间比较长,使用jupyter notebook来测试会大幅度提升效率,尤其是需要频繁试验自己的想法。

    tip2: xgboost相比lightGBM,无论是CPU还是内存,还是训练时间,都大得多。机器学习量化相对传统量化,对于机器的要求高很多。

    01 因子分析神器 alphalens

    alphalens是量化平台鼻祖quantopian的三大开源包之一。

    使用pip直接安装即可。

    pip install alphalens

    1. def get_clean_factor_and_forward_returns(factor,
    2. prices,
    3. groupby=None,
    4. binning_by_group=False,
    5. quantiles=5,
    6. bins=None,
    7. periods=(1, 5, 10),
    8. filter_zscore=20,
    9. groupby_labels=None,
    10. max_loss=0.35,
    11. zero_aware=False,
    12. cumulative_returns=True)

    重点关注两个参数,一个是因子factor,二是价格prices。

    alphalens使用简单,难在于数据格式整理,

    factor的格式与qlib的比较像,它叫asset,qlib叫instrument。

    价格就是每支股票,每天的收盘价:

    从alpha158里直接读出来一个因子:KMID

    通过修改index.names:

    从qlib数据库里读出的数据格式如下:

    使用pandas的处理功能,把它变成alphalens的格式:

    而后调用就非常简单了:

    因子的收益分析:

    累计收益分析:

    还有好多图就不全贴出来了。

    明天结合qlib以及alphalens的代码一并来解读。

    小结:

    1、当下的模型其实都差不多,核心还是特征工程。

    2、对于量化而言,数据预处理都差不多,一则就找更好的数据源,二则找更好的特征。

    3、就特征挖掘而言,有两种,一是通过经验,实证,有逻辑的去构建因子,还有一种就是纯粹大数据挖掘。后者更像黑盒,但更符合机器学习的玩法。worldquant的alpha101,一看公式很难想象那是人工设计出来的,应该有机器参与的部分。

    4、qlib肯定有不完善的地方,但目前来看,还是值得坚守,自己造一个平台,一开始看似爽,但后面到了大数据,算法阶段,该踩的坑一个不少,都得踩,毕竟微软还是有它的实力在,没有必要从头造轮子。

    5、我们今天引入的alphalens就是因子分析很好的补充。

  • 相关阅读:
    通过DSSM算法进行商品推荐 代码+数据
    微信小程序 uniapp奶茶点单系统r4112
    JSP基础
    Springboot毕设项目唱片商城系统h2lbq(java+VUE+Mybatis+Maven+Mysql)
    走进网络世界 了解一些基础知识
    IO流核心模块与基本原理
    huffman编译码
    Linux Centos7 下使用yum安装的nginx平滑升级
    CentOS Stream9 安装远程桌面服务 Xrdp
    【Pod】
  • 原文地址:https://blog.csdn.net/weixin_38175458/article/details/126640688