Alphalens因子分析(4) - Information Coefficient方法

在前面的笔记中,无论是回报分析,还是因子Alpha,它们都受到交易成本的影响。信息分析 (Information Analysis)则是一种不受这种影响的评估方法,主要研究方法就是信息系数(Information Coefficient)。


信息系数的范围为-1到1,绝对值越大,表明因子与收益之间的相关性越强;绝对值越小,表明因子对收益的贡献越小;因此,0表示因子对收益完全不产生贡献,1表示完美的线性关系(预测能力好),-1则表示因子与收益完全负相关,这也表明它的预测能力强。

我们通过factor_information_coefficient方法来求因子的IC:

from alphalens.performance import factor_information_coefficient
ic = factor_information_coefficient(factor_data)

ic.head()

当然研究时间序列的最好方式还是可视化:


从图形上我们能看出来什么?IC的均值似乎很接近于零。按照IC的定义,这是不是说明,低换手率因子与预测涨跌几乎没有关联,因而不值得我们考虑这个因子?

在下结论之前,我们先看看我们得到的IC究竟如何:

它的均值只有0.058,最大值也只有0.52。这是否说明这个因子不够好?

我们来看看聚宽因子库中,最好的因子IC均值是多少:

聚宽是一家百亿私募,他们也提供了类似quantpian一样的众包平台。在它的网站上有一个栏目叫因子看板,我们把他所有的因子都列出来,按IC均值降序排列:


聚宽的三年期因子中,IC均值最大的是0.01,因此,我们这个因子的预测能力,已经超出了聚宽因子库中的因子。实际上,聚宽因子库中收纳了多个换手率相关因子,比如有年度平均月换手、240日平均换手等。其中年度平均月换手率因子的IC是-0.035,年化是13.39%。当然,这些因子是如何计算的,不得而知。

出于好奇,我们也把这个问题抛给了GPT4:

50%


当我们使用随机变量的均值时,我们常常会担心这个均值是否受到了少数极值的影响。我们可以通过标准差来度量,不过最直观的方式是通过直方图,或者QQ图:

from alphalens.plotting import plot_ic_hist

plot_ic_hist(ic)

这仍然要非常有经验,才能看出来IC的分布好坏。看直方图关键是要看多数时间IC的表现如何,何处IC值很可能下降,以及是否存在肥尾。如果借助QQ图,观察要容易很多:

from alphalens.plotting import plot_ic_qq

plot_ic_qq(ic)

75%


QQ图能显示IC值分布与正态分布之间形状的差异。特别是对了解分布中最极端的数值是如何影响预测能力的特别有帮助。

应该说1日换手率因子的表现相当好。多数点落在对角线上。

最后,作为一个快捷方式,Alphalens允许我们调用create_information_tear_sheet来一次性获取所有的信息分析数据:

from alphalens.tears import create_information_tear_sheet

create_information_tear_sheet(factor_data)

这将把今天笔记中出现的所有图,以集中显示的方式绘制一次。

factor_data是一切的起点。我们在第一篇笔记中对它作过介绍,它是通过utils包中的get_clean_factor_and_forward_returns来获得的。

在这里插入图片描述

【因子分析系列】

因子分析(3)- 都是坑!这么简单的Alpha计算,竟然错了?!
Alphalens因子分析(2) - 低换手率因子秒杀98%的基金经理?
Alphalens 因子分析 - 以低换手率因子为例(1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/312469.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8S集群重新初始化--详细过程

K8S集群重新初始化 0、当前环境1、master节点1.1、在master节点执行下面reset命令:1.2、手动清除配置信息,这一步很关键:1.3、重新引导集群1.4、创建配置目录,并复制权限配置文件到用户目录下:1.5 查看集群状态1.6 安装…

【Redis】Redis面试热点

Redis 集群有哪些方案? 主从复制:解决了高并发问题 哨兵模式:解决了高并发,高可用问题 分片集群:解决了海量数据存储,高并发写的问题 主从复制 图示: 主从复制:单节点 Redis 并发…

1、理解Transformer:革新自然语言处理的模型

目录 一、论文题目 二、背景与动机 三、卖点与创新 四、解决的问题 五、具体实现细节 0. Transformer 架构的主要组件 1. 注意力、自注意力(Self-Attention)到多头注意力(Multi-Head Attention) 注意力到底是做什么的&…

【一、测试基础】Java基础语法

Java 的用法及注意事项有很多,今天的目标是了解Java基础语法,且能够输出"hello world" 几个基础的概念 对象:对象是类的一个实例,有状态和行为。一只猫是一个对象,猫的状态有:颜色、名字、品种&…

绝地求生:【违规处罚工作公示】1月1日-1月7日

1月1日至1月7日期间,共计对113,490个违规账号进行了封禁,其中103,133个账号因使用外挂被永久封禁。 若您游戏中遇到违规行为,建议您优先在游戏内进行举报; 另外您也可以在官方微信公众号【PUBG国际版】中点击“ 服务中心 - 举报…

可运营的SSL证书在线生成系统源码,附带图文搭建教程

安装教程 运行环境 PHP8.0.2-8.2最好选用8.0 Nginx1.22.1版本 Mysql5.7 伪静态设置为Thinkphp 后台账号admin 密码123456 系统使用API申请地址:https://www.sslprogen.com/

SQL-分组查询

目录 DQL-分组查询 分组查询注意事项: DQL- 排序查询 🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL &…

OSG加载STL模型

下载了2个简单stl模型,用基本的加载代码;直接可以加载; 查一点资料; 怎样在OSG中添加支持STL格式的模型文件? 使用OSG时,如果需要导入STL格式的模型文件,需要添加STL插件。 可以通过在代码中调…

uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法

目录 #平台差异说明 #基本使用 #配置顶部的提示信息和底部取消按钮 #如何知道点了第几项 #API #Props #Event 本组件用于从底部弹出一个操作菜单,供用户选择并返回结果。 本组件功能类似于uni的uni.showActionSheetAPI,配置更加灵活,所…

PDF-XChange Editor v10.2.0.384

软件介绍 PDF-XChange Editor,号称打开速度最快最强大的PDF编辑器/PDF阅读器,PDF-XChange专注于PDF文档的编辑,打开PDF文件速度快,软件小功能强大,可以自定义制作PDF电子文档,具有创建,查看&am…

用通俗易懂的方式讲解大模型分布式训练并行技术:自动并行

之前的文章已经对多种并行技术进行了讲解,如:数据并行、张量并行、流水线并行以及多种并行方式组合使用的多维混合并行。 然而大模型的分布式训练是一个非常复杂的问题,目前的绝大多数的分布式训练系统,都依赖用户人工反复尝试以…

JavaScript基础02

1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。 JavaScript中常用的运算符有: 算数运算符 递增和递减运算符 比较运算符 逻…

HiDataPlus 3.3.2-005 搭建(个人的一点心得体会 x86 平台)

HDP 集群搭建 前置安装 yum -y install createrepo yum install -y lrzsz yum install -y wget yum install -y vim修改当前集群机器的主机名 hostnamectl set-hostname XXX​ 这里的 XXX 就是要设置的当前机器的主机名称。主机名称是集群唯一的,一定不要重复&am…

少儿编程 2023年12月中国电子学会图形化编程等级考试Scratch编程三级真题解析(选择题)

2023年12月scratch编程等级考试三级真题 选择题 1、运行左图程序,想得到右图中的效果,红色框应填写的数值是 A、12 B、11 C、10 D、9 答案:D 考点分析:考查积木综合使用,从右边的图形中可以看到第一层小正方形个数为9个,而左边程序中内外层循环的次数都是一样,所以…

使用Flash_Download_Tool下载PlatformIO生成的bin程序到ESP32

使用Flash_Download_Tool下载PlatformIO生成的bin程序到ESP32 来源 当我们没有PlatformIO环境时,还要下载PlatformIO生成的程序时,可以使用Flash_Download_Tool工具下载。 说明 使用PlatformIO时,用cmd终端命令下载程序pio run -v -t upl…

架构01 - 知识体系详解

架构,又称为知识体系,是指在特定领域或系统中的组织结构和设计原则。它涵盖了该领域或系统的核心概念、基础理论、方法技术以及实践经验等。架构的主要作用是提供一个全面且系统化的视角,帮助人们理解和应用相关知识,并指导系统的…

【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

从这篇文章开始,我们就正式开始学习AI大模型应用开发的相关知识了。首先是提示词工程(Prompt Engineering)。 文章目录 0. 什么是提示词(Prompt)1. 为什么Prompt会起作用 - 大模型工作原理2. Prompt的典型构成、原则与…

AcWing1210-连号区间

文章目录 题目输入格式输出格式数据范围样例输入样例1输出样例1输入样例2输出样例2样例解释 思路代码 题目 输入格式 输出格式 数据范围 样例 输入样例1 4 3 2 4 1 输出样例1 7 输入样例2 5 3 4 2 5 1 输出样例2 9 样例解释 思路 固定L,遍历R在[L,R]区域中找到最大…

【JVM】本地方法接口 Native Interface

一、JNI简介 JVM本地方法接口(Java Native Interface,JNI)是一种允许Java代码调用本地方法(如C或C编写的方法)的机制。这种技术通常用于实现高性能的计算密集型任务,或者与底层系统库进行交互。 二、JNI组…

[计算机提升] 创建FTP共享

4.7 创建FTP共享 4.7.1 FTP介绍 在Windows系统中,FTP共享是一种用于在网络上进行文件传输的标准协议。它可以让用户通过FTP客户端程序访问并下载或上传文件,实现文件共享。 FTP共享的用途非常广泛,例如可以让多个用户共享文件、进行文件备份…