无需代码构造您自己的衍生因子

宽客学院
标签: #<Tag:0x00007fd31d6763d8>

(iQuant) #1
作者:bigquant
阅读时间:3分钟
本文由BigQuant宽客学院推出,难度标签:☆☆

导语:因子是影响机器学习效果最重要的因素之一。特别是在股票等市场,高质量的因子直接影响策略收益。

在前面的例子中,你可以能看到像 close_1/close_0 这样的因子,这是通过运算符连接,重新定义的新的衍生因子。本文主要介绍如何通过运算符构建衍生因子。

在 BigQuant 平台上,我们提供的因子库,包括2000+基础因子;同时,我们提供的因子计算引擎,让用户无需编程,通过运算符就可以用基础因子生成新的衍生因子。

运算符

运算符使用的语法和我们常用的数据表达式一致。求三日平均收盘价,可以按如下写:

(close_1 + close_2 + close_3) / 3

支持的运算符:

1.+:加
2.-:减
3.*:乘
4./ :除
5.==:等于。逻辑运算支持,如果为True,则为1,否则为0。例如,表达式 (10 == 10) + 1,这个值是 2
6.>:大于
7.>=:大于等于
8.<:小于
9.<=:小于等于
10.and:逻辑与
11.or:逻辑或
12.iif:使用 iff(判断条件,条件为True的值,条件为False的值),例如, iif(close_1 > close_0, close_1, close_0)
13.max:最大值,支持2个或者更多参数,例如,max(high_0, high_1, high_2) / close_0
14.min:最小值,支持2个或者更多参数,例如,min(low_0, low_1, low_2) / close_0
15.ln:取自然对数
16.log:取10为底的对数

示例

  1. 过去五日均价除以今日收盘价:
    (close_0 + close_1 + close_2 + close_3 + close_4) / 5 / close_0
  2. 过去三日振幅:
    max(high_0, high_1, high_2) / min(low_0, low_1, low_2)

小结: 掌握平台支持的运算符,大家就可以通过BigQuant提供的大量基础因子构建您自己所需的衍生因子,进一步完善您的量化策略。


   本文由BigQuant宽客学院推出,版权归BigQuant所有,转载请注明出处。


【宽客学院】StockRanker结果解读
【宽客学院】StockRaker模型结果的解读
(Ghislain) #2

表达式

表达式使用的语法和我们常用的数据表达式一致。求三日评价收盘价,可以按如下写:

感觉有错别字,是不是平均收盘价?


(iQuant) #3

已经修改,万分感谢!


(Ghislain) #4

客气客气,^_^。祝平台越来越好


(suibian) #5

image

小细节:“大于/小于”符号错了


(iQuant) #6

已经修改 谢谢~


(KinwaiY_AI) #7

请问说包含2000+基础因子 但我看到在文档中的“A股预计算因子”下的“基础因子”貌似没有那么多


(达达) #8

每个因子中有很多参数,比如close_0、close_1、close_10等,总计数据。而且你还可以用表达式功能自己组合各种新因子出来。


(KinwaiY_AI) #9

我意思就是把close_0,close_1这种全部算进去(基础因子不包含那种表达式得出来的吧)有2000+么


(达达) #10

这个从数据字典您可以自己查看一下具体的字段数目,各种表的基础字段数据和基础因子数量应该超过了,我们也是在不断填加数据。


(KinwaiY_AI) #11


我的意思的你们不是把A股的基础因子都归纳到这个分支下了吗 还是这个分支以外的也有A股的基础因子


(达达) #12

我们提供了部分原始数据的清洗后因子,但是还有很多原始数据可以自己抽取并处理,我们统称为因子。比如融资融券、搜索指数等一些数据我们提供了原始数据表字段,可以根据需要自己提取,根据数据情况自行填充缺失值或清洗。


(bluetooth503) #13

mark一下


(focus_1) #14

过去30天的均价 必须用close_1加到close_30在除以30吗?


(o_o918) #15

mean(close_0,30)就行了