
日前,聚宽正式对外发布了单因子分析工具 jqfactor_analyzer 的开源代码地址,开发者们可以在 Github 上获取源代码并参与开发,希望可以和大家共同交流探讨。
此外,为了便于监控因子表现,我们新上线了因子看板功能。因子看板给出了在不同股票池、不同时间段中,long-only/long-short 模型下因子表现情况,助您快速获悉因子表现。后期还支持用户监控自定义的因子。

根据现代金融理论的定义,投资组合获取的收益均可以分为两个部分,一部分是来自市场的收益也就是 beta,另一部分则是超出市场的收益也就是我们常说的 alpha。如何准确地定义和寻找股票市场中的 alpha 一直是学术界和业界不断探索的问题 。而因子分析是其中最为重要和关键的一个步骤。
市面上因子分析的工具不少,聚宽单因子分析工具整合了数据接口,搭配聚宽的开源数据工具 jqdatasdk,可以十分方便地实现『数据获取->因子构建->因子分析』的流程。
同时我们在不缩减功能的前提下,简化了因子分析函数的使用方法,提供了包括计算因子IC值、因子收益、因子换手率、因子自相关性等各种详细指标,用户可以按照自己的需求查看因子详情。
安装
您可以通过 pip 直接安装 jqfactor_analyzer。
pip install jqfactor_analyzer
点击文末阅读原文可到Github上获取源代码并参与开发。
可视化输出
因子的特征分析
因子加权收益分析
IC分析的时序图、分布直方图、QQ图、行业分组IC图等
多期换手率分析图表
因子自相关分析图表
预测能力分析等
有效因子数量统计图
......
属性列表
查看因子值
去除 nan/inf,整理后的因子值、forward_return 和分位数
按分位数分组加权平均因子收益
按分位数及行业分组加权因子收益标准差
信息比率
月度信息比率
计算指定调仓周期的各分位数每日累积收益
计算指定调仓周期和前面定义好的加权方式计算多空组合每日累计收益
滞后n天因子值自相关性
滞后 0 - n 天因子收益信息比率(IC)的移动平均
......
使用实例
# 载入函数库import pandas as pdimport jqfactor_analyzer as ja# 获取 jqdatasdk 授权,输入用户名、密码,申请地址:http://t.cn/EINDOxE# 聚宽官网及金融终端,使用方法参见:http://t.cn/EINcS4jimport jqdatasdkjqdatasdk.auth('username', 'password')# 获取5日平均换手率因子2018-01-01到2018-12-31之间的数据(示例用从库中直接调取)# 聚宽因子库数据获取方法在下方from jqfactor_analyzer.sample import VOL5factor_data = VOL5# 对因子进行分析far = ja.analyze_factor(factor_data, # factor_data 为因子值的 pandas.DataFramequantiles=10, periods=(1, 10), industry='jq_l1',weight_method='avg', max_loss=0.1)# 生成统计图表far.create_full_tear_sheet(demeaned=False, group_adjust=False, by_group=False,turnover_periods=None, avgretplot=(5, 15), std_bar=False)
结果展示
收益分析



IC分析


其他分析



有任何疑问,欢迎加入 jqfactor_analyzer 交流群,随时咨询。群聊QQ号码:779882614。

为了便于监控因子表现,我们新上线了因子看板功能。当前版本实现了对聚宽因子库中因子数据的监控,后续将支持用户监控自定义的因子。详情可至聚宽官网查看。

我们提供:
因子分类:基础类因子、质量类因子、每股指标类因子、情绪类因子、成长类因子、风险类因子
股票池:沪深300、中证500、中证800
测试周期:近3个月、近1年、近3年、近10年
组合构建:Long-Only(纯多头组合)、Long-Short(多空组合)

因子列表
多空组合

纯多头组合

因子详情页
因子详情页给出了因子在不同股票池、不同时间段、不同模型下的表现。
提供了收益分析、IC时序图、行业IC、换手率分析、信号衰减分析等。

获取因子列表数据
为了方便用户获取因子看板的每类数据,我们提供了 API 用于获取最新的看板数据。
from jqfactor import get_factor_kanban_valuesget_factor_kanban_values(universe='hs300',bt_cycle='month_3',model='long_only',category=['quality','base','emotional','growth','risk','per_share'])
返回一个 DataFrame,针对 [model - 组合构建模型]选择的不同,返回的结构有所差异。


福利时间
感谢大家一直以来对聚宽的支持,为了更好地提供服务,我们诚挚邀请大家参与“你最期待聚宽增加的新功能是什么?”的互动,我们将在留言中抽取点赞数最多的前3名赠送定制充电宝!

- The End -

