alphalens教程4--Turnover Analysis

      衡量一个因子的好坏还有一个指标,就是稳定性。因子的稳定性直接决定了你的调仓频率。

1.基本数据获取

        每天每个股票的因子分层位置。         我们先来看第一个计算换手率的函数。 def quantile_turnover(quantile_factor, quantile, period=1):         我们来看一下这个计算出来的是什么:某一层因子中,某个股票之前不在这个层,现在在了的比例是多少。 参数解释: quantile_factor : pd.Series 日期、股票名为index,因子层序号为value的series,也就是factor_data['factor_quantile'],所以,我们先把quantile_factor = factor_data['factor_quantile']定义好。 quantile : int 计算哪一层的换手率 period: int, optional 计算哪一个周期调仓的换手率 返回一个 pd.Series,value是换手率,例如:

alphalens.performance.quantile_turnover(quantile_factor, 1, 1),返回的就是日调仓,因子层第一层的换手率。

        当然,我们希望获得的是每个层的换手率,所以,写成下面这样的列表表达式,然后concat一下。 quantile_turnover = pd.concat([alphalens.performance.quantile_turnover(quantile_factor, q, turnover_period)

2.绘图

        接下来,我们利用上面生成的数据来绘制图形。 def plot_top_bottom_quantile_turnover(quantile_turnover, period=1, ax=None): top和bottom层的换手率图。 alphalens.plotting.plot_top_bottom_quantile_turnover(quantile_turnover, turnover_period)

        除了换手率查看因子的稳定性外,因子的自回归程度也是一个很重要的衡量因子稳定的指标。 def factor_rank_autocorrelation(factor_data, period=1):         计算自回归系数的函数很简单。 factor_autocorrelation = alphalens.performance.factor_rank_autocorrelation(factor_data, period=1)

alphalens.plotting.plot_factor_rank_auto_correlation(factor_autocorrelation)

当然,同样的,也有一个整个的函数。

alphalens.tears.create_turnover_tear_sheet(factor_data)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C语言及其他语言

【每日一题】问题 1111: Cylinder

Using a sheet of paper and scissors, you can cut out two faces to form a cylinde...

13620
来自专栏HUBU生信

对KMP算法中next数组的深入理解(这个算法真有点难懂)

首先了解kmp算法是干嘛的,它的作用是进行一个模式匹配,即在一个字符串中寻找是否存在某一个子串,比如在aabbccabc这个主串中是否存在abc这个模式串,并且...

1.5K10
来自专栏高性能服务器开发

整型变量赋值操作是原子性的吗?

这条指令操作一般是原子的,因为对应着一条计算机指令,cpu将立即数1搬运到变量a的内存地址中即可,汇编指令如下:

1.2K40
来自专栏Linyb极客之路

我们来谈下高并发和分布式中的幂等处理

幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。

20030
来自专栏前沿技墅

从图灵到高德纳:《算法分析导论》作者师承考据

普林斯顿大学计算机系创始人,在斯坦福大学师从D. E. Knuth院士;曾任Adobe Systems公司董事会成员,并在Xerox PARC、IDA和INRI...

27540
来自专栏苦逼的码农

【链表问题】打卡9:将单链表的每K个节点之间逆序

以专题的形式更新刷题贴,欢迎跟我一起学习刷题,相信我,你的坚持,绝对会有意想不到的收获。每道题会提供简单的解答,如果你有更优雅的做法,欢迎提供指点,谢谢。

12850
来自专栏苦逼的码农

广播路由算法: 我是如何优雅着把悄悄话带给其他人的

对于广播,我相信在现实生活中我们时常都能接触到,例如学校一言不合就响起了校歌,搞的全校的人都能够听到,想假装没听到都不行。

10440
来自专栏美图数据技术团队

干货 | 拒绝日夜调参:超参数搜索算法一览

感谢阅读「美图数据技术团队」的第 25 篇原创文章,关注我们持续获取美图最新数据技术动态。

52020
来自专栏HUBU生信

利用栈写一算法解决特定序列识别判断问题

question:试写一算法,识别依次读入的一个以@为结束字符序列是否为形如“序列1&序列2”模式的字符序列。其中序列1和序列2均不含字符&,且序列2是序列1的...

14720
来自专栏数据猿

深入机器学习系列之:Bisecting KMeans

k-means算法分为两步,第一步是初始化中心点,第二步是迭代更新中心点直至满足最大迭代数或者收敛。

13810

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励