欢迎大家来到IT世界,在知识的湖畔探索吧!
上个月写了一篇介绍聚宽量化因子的文章(聚宽的量化因子),简单的介绍了量化因子的作用,以及推荐了在聚宽平台对量化因子进行研究。今天我们就用最简洁的代码对因子进行入门级分析。
这次分析,我们用的因子是20日平均换手率。20日平均换手率大家应该是熟悉,是一个代表股票热门程度的指标。20日平均换手率低,代表大家对这支股票的热情比较低,交易较少;20日平均换手率高,代表大家对这支股票的热情比较高,交易较为活跃。20日平均换手率,有时被当作一个反转指标,无论过高或过低,都可能反转。
我们分析一下20日平均换手率,看看跟我们的经验是否相符。
首先,进入聚宽平台的研究环境,长这样:
欢迎大家来到IT世界,在知识的湖畔探索吧!
然后,导入所需要的两个函数:
from jqfactor import analyze_factor from jqfactor import get_factor_values
欢迎大家来到IT世界,在知识的湖畔探索吧!
给一会儿要用到的参数赋值
欢迎大家来到IT世界,在知识的湖畔探索吧!start_date = '2023-01-01'#开始日期 end_date = '2024-06-04'#结束日期 indexs = '000300.XSHG'#要分析的股票集合,我们选沪深300成分股 #获取开始日期那天的沪深300成分股 security_list = get_index_stocks(indexs, date=start_date) factor = 'VOL20'#20日平均换手率因子
VOL20因子在聚宽因子看板上的详情如下图所示:
下面我们获取-的因子值并查看最近10天的因子值。
factor_data = get_factor_values(security_list, factors=factor, start_date=start_date, end_date=end_date)[factor] factor_data.tail(10)
返回(部分截图):
数据有了,开始分析:
欢迎大家来到IT世界,在知识的湖畔探索吧!analysis = analyze_factor( factor_data, #factor_data='VOL20' quantiles=10, #这个是因子分组,我们分为10组 periods=(20,60) # 计算未来20、60天的结果 )
上面代码的意思为分析后赋值给analysis变量,不展现分析结果。查看分析结果用下面的代码:
analysis.create_summary_tear_sheet()
返回:
上图这是因子分组情况,按换手率从低到高分成了10组,每一组都有10260个左右数据。
上图是因子的alpha、beta等信息。
上图比较直观,为不同组的因子平均收益情况。越靠左,20日平均换手率越低;越靠右,20日平均换手率越高。可以看出,20日平均换手率越低,20和60日后越会出现较高的正收益;而20日平均换手率越高,出现负收益较为普遍,这与我们的经验相符:换手率低的时候,价格往往也低,适合进行埋伏;换手率高的时候,价格往往在高位,买进去容易接盘。
下图是较为专业的几个分析,限于篇幅,就不在这儿解读了。
以上就是给大家做的聚宽平台量化因子分析示例。因为是在做示例,所以能简化的地方都简化了,比如用了极少的函数,参数能用默认的就不去自定义,分析结果也是默认输出。想进一步研究的话,可以去聚宽平台全面了解和学习一下。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/111171.html