历史文档

【历史文档】因子构建与标注-表达式引擎

由ypyu创建,最终由small_q 被浏览 1882 用户

更新

本文内容已经过期,不再适合平台最新版本,请查看以下最新内容,作为参考资料学习。

新版表达式算子

旧表达式如何迁移至新版

新旧表达式差异

预计算因子表[数据平台]

导语

在本月初,我们发布了文章《AI Alphas(A股版)》反响不错,在量化领域得到不少好评。很多用户来信,希望了解文中提到的因子以及因子构造(虽然原文附录有完整因子列表),以便快速开发AI策略,这正是本文目的。

由于个别因子出现重复、构建错误,本文一共依次列举了274个因子,分别与《AI Alphas(A股版)》文章使用的因子一一对应。在《AI Alphas(A股版)》这篇文章中,因子构造使用的是M.user_feature_extractor 模块,最近BigQuant上线了M.derived_feature_extractor 模块,因子定义不需要编写代码,只需一些表达式就可快速定义因子(抽取特征),表达式引擎帮助文档为:bigexpr。这将是一个巨大的变革,通过表达式即可定义特征将大大提高策略开发速度,加快实验迭代。

因子表达式

什么是因子表达式呢?即通过简单的固定的语言就可以描述因子定义的思想,比如说,想定义5日简单移动平均线,之前的因子定义方式为:

(close_0+close_1+close_2+close_3+close_4)/5

这样的定义方式虽然简单直观,但是不太方便,比如,如果定义60日简单移动平均线就很麻烦,需要书写60个收盘价。

表达式引擎借鉴了WorldQuant、通达信、TB等平台的一些思想,通过引入一些简单常用的函数表达式,达到快速构建因子的目的。比如构建上述因子,我们可以这样:

  mean(close_0,5)

这样就能快捷灵活很多。不仅如此,再举几个例子:

  1. shift(close_0, 5) 表示5天前的收盘价,等价于close_5
  2. delta(close_0, 3) 表示今天的 收盘价减去 3 天以前的 收盘价,等价于close_0-close_3
  3. correlation(close_0, volume_0, 20) 表示在过去20 天中收盘价 和 成交量 的相关性
  4. ts_min(low_0,7) 表示过去7天最低价(是时间序列角度)
  5. rank(fs_pettm_0) 表示在当天所有股票中按市盈率的的百分比排名(是横截面角度)

这只是简单举几个常用的表达式,更多内容请参考:因子表达式

文中提到的两百多个因子,可以在此获取:预计算因子

使用BigStudio可以快速定义因子,我们以274个因子中如下几个示例因子举例,告诉大家怎样快速定义因子。

示例因子:

\

评论
  • 表达式引擎的函数列表在哪里查询?
  • m4
{link}