表达式基础函数max()疑似有bug


(jove) #1

表达式基础函数max()疑似有bug

max(n1,n2,n3,n4,)时,也就是比较2个数以上时,无法准确选出最大值。

与之对应的min(n1,n2,n3,n4,)则正常工作。

麻烦管理用以下因子检测一下:
min(mean(close_0,5),mean(close_0,10),mean(close_0,20),mean(close_0,60),)
max(mean(close_0,5),mean(close_0,10),mean(close_0,20),mean(close_0,60),)

谢谢!


(iQuant) #2

之前有bug,已经得到修正,
通过下面的例子我们检查了max,目前已经没有问题。
您再检查一下,如果还有疑问,及时和我们联系。

克隆策略
In [9]:
# 基础特征抽取
m = M.general_feature_extractor.v6(
    instruments=[  '000002.SZA'],
    start_date='2017-01-01', end_date='2017-02-21',
    features=[ 'max(close_0,close_1,close_2,close_3)'])
[2018-02-23 11:54:03.207883] INFO: bigquant: general_feature_extractor.v6 开始运行..
[2018-02-23 11:54:03.212096] INFO: bigquant: 命中缓存
[2018-02-23 11:54:03.213035] INFO: bigquant: general_feature_extractor.v6 运行完成[0.005167s].
In [10]:
# 手动计算该特征
df1 = m.data.read_df()
df1['max'] = df1.max(axis=1)
In [11]:
# 衍生特征抽取
m2 = M.derived_feature_extractor.v2(input_data=m.data, features=[ 'max(close_0,close_1,close_2,close_3)'])
[2018-02-23 11:54:03.255004] INFO: bigquant: derived_feature_extractor.v2 开始运行..
[2018-02-23 11:54:03.258699] INFO: bigquant: 命中缓存
[2018-02-23 11:54:03.259900] INFO: bigquant: derived_feature_extractor.v2 运行完成[0.004953s].
In [12]:
df2 = m2.data.read_df()
In [13]:
# 手动计算的特征数据
df1.tail()
Out[13]:
close_0 close_1 close_2 close_3 date instrument max
25 2744.613770 2776.481445 2757.891846 2743.285889 2017-02-15 000002.SZA 2776.481445
26 2745.941406 2744.613770 2776.481445 2757.891846 2017-02-16 000002.SZA 2776.481445
27 2727.352051 2745.941406 2744.613770 2776.481445 2017-02-17 000002.SZA 2776.481445
28 2736.646729 2727.352051 2745.941406 2744.613770 2017-02-20 000002.SZA 2745.941406
29 2785.776123 2736.646729 2727.352051 2745.941406 2017-02-21 000002.SZA 2785.776123
In [14]:
# 表达式计算的特征数据
df2.tail()
Out[14]:
close_0 close_1 close_2 close_3 date instrument max(close_0,close_1,close_2,close_3)
25 2744.613770 2776.481445 2757.891846 2743.285889 2017-02-15 000002.SZA 2776.481445
26 2745.941406 2744.613770 2776.481445 2757.891846 2017-02-16 000002.SZA 2776.481445
27 2727.352051 2745.941406 2744.613770 2776.481445 2017-02-17 000002.SZA 2776.481445
28 2736.646729 2727.352051 2745.941406 2744.613770 2017-02-20 000002.SZA 2745.941406
29 2785.776123 2736.646729 2727.352051 2745.941406 2017-02-21 000002.SZA 2785.776123

两种方式计算的特征数据进行比较,发现数据一致


(YUPPIEtt) #3

看不懂啥意思。。。