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

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

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

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

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

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

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

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

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

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

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

01 因子分析神器 alphalens

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

使用pip直接安装即可。

pip install alphalens
def get_clean_factor_and_forward_returns(factor,prices,groupby=None,binning_by_group=False,quantiles=5,bins=None,periods=(1, 5, 10),filter_zscore=20,groupby_labels=None,max_loss=0.35,zero_aware=False,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就是因子分析很好的补充。

基于alphalens对qlib的alpha158做单因子分析相关推荐

  1. Quantopian单因子分析工具:Alphalens

    Quantopian是国外著名的量化交易平台,早期聚宽就是仿照这个网站开发的,算是这类平台的鼻祖了,可惜Quantopian最近刚宣布要停止运营了.Quantopian开发了许多优秀的开源项目,其中比 ...

  2. 2017CVPR NID-SLAM:基于归一化信息距离的鲁棒单目SLAM系统

    原作:Geoffrey Pascoe 翻译:Frank 转载请注明出处 水平有限,错误请指出 NID-SLAM:基于归一化信息距离的鲁棒单目SLAM系统 摘要 本文提出了一种基于归一化信息距离(NID ...

  3. 基于微信小程序的奶茶点单系统设计与实现-计算机毕业设计源码+LW文档

    奶茶点单小程序 摘  要 随着Internet的发展,人们的日常生活已经离不开网络.未来人们的生活与工作将变得越来越数字化.网络化和电子化.本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要 ...

  4. 语音顶会 ICASSP 2022 成果分享:基于时频感知域模型的单通道语音增强算法

    近日,阿里云视频云音频技术团队与新加坡国立大学李海洲教授团队合作论文 <基于时频感知域模型的单通道语音增强算法 >(Time-Frequency Attention for Monaura ...

  5. 华为防火墙做单臂路由_防火墙做单臂路由实现VLAN间通信

    防火墙做单臂路由实现 VLAN 间通信 网络设备 : 1 台 USG2130 ,若干 S2700 交换 机 客户需求: 交换 机上划分 VLAN ,并在 USG2130 上做单臂 路由 ,同时要求三个 ...

  6. 基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器——《干饭聊天室》

    基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器--<干饭聊天室> 在这里首先感谢前端小伙伴飞鸟 前端技术请看一款基于React.C++,使用TCP/HTTP协 ...

  7. 实验-思科设备划VLAN做单臂路由

    思科单臂路由 实验拓扑: 步骤: 一,为PC配置IP地址(使用VPCS) 二,在交换机划VLAN,并以access方式将各接口加入到vlan中 SW1: SW2: 三,在路由器上划分子接口做各vlan ...

  8. 一款基于jquery ui的动画提交表单

    今天要给大家分享一款基于jquery ui的动画提交表单.这款提交表单的的效果是以动画的形式依次列表所需填写的信息.效果非常不错,效果图如下: 在线预览   源码下载 实现的代码. html代码: & ...

  9. 基于jQuery会员中心安全修改表单代码

    基于jQuery会员中心安全修改表单代码.这是一款登录密码,交易密码,手机号码,实名认证,电子邮箱,安全设置表单,会员表单等设置代码.效果图如下: 在线预览    源码下载 实现的代码. html代码 ...

  10. 智能城市dqn算法交通信号灯调度_博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型...

    原标题:博客 | 滴滴 KDD 2018 论文详解:基于强化学习技术的智能派单模型 国际数据挖掘领域的顶级会议 KDD 2018 在伦敦举行,今年 KDD 吸引了全球范围内共 1480 篇论文投递,共 ...

最新文章

  1. Atitit onvif协议获取rtsp地址播放java语言 attilx总结
  2. i3处理器_十代酷睿i3-10100F配GTX1650S组装机配置清单
  3. The Geometry has no Z values 解决办法(转载)
  4. jQuery源码学习
  5. html5毕业作品开场白,毕业典礼主持人开场白
  6. hdu4280(最大流)
  7. linux-impdp的使用
  8. nginx的日志配置
  9. nginx正向代理 反向代理
  10. 5G精华问答 | 5G是否会“逼退”4G?
  11. Linux下命令详解(-)
  12. python编写一个登陆验证程序_用python实现一个简单的验证码
  13. C. Molly's Chemicals
  14. deploy mysql_Deploy Mysql
  15. JavaScript 动态生成表格 及删除表格
  16. 第二章、Zigbee模块参数(DRF1609H、DRF2657C)
  17. c#email格式不正确_C#校验Email(电子邮件)地址是否合法
  18. 为什么RGB 与 CMYK的差异,会有所不同?
  19. mirna富集分析_miRNA富集分析数据库
  20. 浅浅的介绍一下STL

热门文章

  1. 给网站添加SSL安全证书
  2. 央央家政:住家育儿嫂和月嫂的工作内容明细
  3. 小朋友适合读增广贤文么,增广贤文适合多大的孩子看?
  4. 不良事件总结怎么写_年度不良事件总结
  5. 礼物帮手项目(3) - 传id跳转详情页(尝试2种方法)
  6. 计算机连接拒绝访问,打印机拒绝访问,教您打印机拒绝访问怎么解决
  7. android mmdd 时间问题
  8. 计算机专业中职生自我鉴定报告,【中职生计算机自我鉴定】应届计算机毕业生自我鉴定...
  9. Emby for Mac(多媒体影音库)
  10. 每个知识库管理系统必备的七大关键功能