历史文档

【历史文档】因子构建与标注-因子自定义

由clearyf创建,最终由small_q 被浏览 1650 用户

更新

本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明

新版量化开发IDE(AIStudio):

https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW

新版模版策略:

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU

新版数据平台:

https://bigquant.com/wiki/doc/dai-PLSbc1SbZX

新版表达式算子:

https://bigquant.com/wiki/doc/dai-sql-Rceb2JQBdS

新版因子平台:

https://bigquant.com/wiki/doc/bigalpha-EOVmVtJMS5

\

导语

BigQuant平台的因子库上有许多因子,但是如果想计算一些个性化的自定义的因子,比如相对大盘的收益率等因子应该怎么构造呢?本文将通过几个示例进行展示。

自定义因子的方式很灵活,为大家介绍几种常用的自定义因子构建方式。

构建大盘收益率因子

第一步:通过DataSource模块获取‘000001.HIX’指数对应的close数据列,然后通过衍生特征抽取模块计算5日收益率数据,我们通过选择列模块仅保留日期和大盘5日收益率因子列。 第二步:通过基础特征抽取和衍生特征抽取模块获取股票的其它因子数据。 第三步:将上述两步的结果以date列作为公共列横向连接在一起。 流程图如下所示,左支为第一步,右支为第二步,最后通过m8模块将因子连接在一起。 {w:100} 我们可以查看结果: {w:100}

本案例策略链接

构建大盘相对收益率因子

第一步:通过DataSource模块获取‘000001.HIX’指数对应的close数据列,然后通过衍生特征抽取模块计算5日收益率数据,我们通过选择列模块仅保留日期和大盘5日收益率列bmret。 第二步:通过基础特征抽取和衍生特征抽取模块获取股票收益率列stockret。 第三步:将上述两步的结果以date列作为公共列横向连接在一起。 第四步:通过衍生数据抽取模块m17计算相对收益率列relative_ret 流程图如下所示,左支为第一步,右支为第二步,通过m8模块将因子连接在一起后计算相对收益率。 {w:100}我们可以查看结果: {w:100}

本案例策略链接

\

计算ROE的滚动平均值

第一步:通过DataSource模块获取financial_statement_CN_STOCK_A表中的fs_roe数据,然后过滤出年报数据,我们通过衍生特征抽取模块m5计算3年ROE的滚动平均值。 第二步:抽取股票的交易日数据。 第三步:将上述两步的结果以date和instrument列作采用outer方式合并,这是因为财报数据的发布日不一定是交易日,采用outer方式合并可以保留所有的日期序列。 第四步:将合并后的数据按股票分组后采用前后向填充的方式填充每个交易日的3年ROE滚动均值。 第五步:上一步处理后的数据再次使用inner方式与交易日数据合并去除非交易日 流程图如下所示,左支为第一步,右支为第二步,通过m9模块将因子连接在一起。在m11模块按股票进行数据填充,使用m12模块inner方式拼接去除非交易日数据

{w:100}

我们可以查看结果:

{w:100}


本案例策略链接

结语:因子构建流程包含了数据读取、数据处理和数据拼接,熟悉平台常用的数据表字段,结合表达式引擎的计算能力,就可以轻松构建自定义因子。

\

评论
  • 抽取股票的交易日数据为什么用的st_status,求大神普及
  • 抽取股票的交易日数据为什么用的st_status,求大神普及
  • 抽取股票的交易日数据为什么用的st_status,求大神普及
  • 抽取股票的交易日数据为什么用的st_status,求大神普及
  • 这里用st_status不关键,用其他字段也是一样的,只是为了获取交易日期和股票代码而已,在m14就把这个字段过滤掉了。
{link}