因子自定义分析模块(支持期货、可转债等)
由polll创建,最终由polll 被浏览 19 用户
因子分析大家应该都不陌生了,我们平台也有很多关于因子分析的模块供大家使用。最近我们根据平台上原有的因子分析模块进行了扩展。原来的因子分析模块的应用场景仅适用于股票市场,但随着市场发展的变化以及客户们对于因子分析领域的不断扩展,我们开发了一个新的模块:因子自定义分析。 在这个模块中,我们能够将因子分析领域应用到同时包括股票以及之外的期货、债券、基金等市场。下面就应用一个例子来给大家介绍一下应该如何利用此模块进行相关的因子数据分析。
这个模块有两个必要的接入口,【数据源】以及【因子列表】。
-
数据源。在下面例子当中,我们用到的数据源是期货当中的部分主连数据,大家也可以根据自己的需要导入不同市场不同品种的数据。
数据源里必须包含的字段【date(日期), instrument(标的代码), close(标的价格)以及在因子列表中表达式引擎里用到的基础特征字段】,比如我们示例中运用到的因子表达式 close/shift(close, 44) - 1,因此我们必须在数据源中包含 close字段才能进行后续因子数据的运算。
以上是在后续做因子分析的时候必须包含的字段,但是不仅限于只能导入这些字段。我们同样可以在数据处理的时候保留其他的字段,来进行筛选或者是其他的判别。例如我们示例当中的数据过滤字段,可以对已经处理好的数据进行过滤之后再导入因子分析模块。
-
因子列表。在这里大家可以根据需要进行自定义因子表达式在特征列表中输入即可,须要使用表达式引擎来撰写因子表达式,具体表达式引擎的使用方法大家可参考表达式引擎文档。
接下来就将两个准备好的input接入我们的模块中即可进行因子分析了。
模块参数
- start_date:因子分析的开始时间
- end_date:因子分析的结束时间
- 调仓周期:调仓天数,默认为22
- 买入成本:买入的交易成本(%)
- 卖出成本:卖出的交易成本(%)
- IC计算方式:分两种计算方式,IC和RankIC,默认RankIC
- 分层数量:分层回测时分层数量,默认5
- 是否标准化:默认将数据进行标准化
- 是否去极值:默认将数据进行去极值
\
输出结果演示
主要输出结果与之前的因子分析模块类似,分为三块:因子IC分析、因子收益率分析以及因子绩效分析。示例选择的因子分析时间段是2019-01-01到2021-01-01 。
因子IC分析
因子的IC分析反应的是当期因子暴露和下一期的标的收益之间的相关度,所以绝对值越高说明该因子在收益表现上越突出。(IC为当期因子IC值,IC_cumsum为从因子分析开始日期到当期的IC累计值)
因子收益率分析
因子收益率是通过当期股票收益率和因子暴露进行截面回归得到的,反应的是该因子与股票收益之间的关系。Beta即为该因子收益率。
因子绩效分析
因子绩效分析即为因子分层回测,在每个调仓周期按照因子大小对标的进行排序调仓,是最能直观反应一个因子是好是坏的方式之一。
以下为我们给出的一个示例模板,大家可以作为参考自定义自己需要的因子进行分析。
https://bigquant.com/experimentshare/157ae2df7f10425cb26e917946291007
\