@@ -1180,6 +1180,17 @@ def qlib158(data: pd.DataFrame, normalize: bool = False, fill: bool = False, win
1180
1180
parallel_result = Parallel (n_jobs = n_jobs )(delayed (func )(* args ) for func , args in tasks )
1181
1181
parallel_df = pd .concat (parallel_result , axis = 1 )
1182
1182
1183
+ task2 = [(MA (c_group , windows ).get_factor_value , (normalize , fill )),
1184
+ (STD (c_group , windows ).get_factor_value , (normalize , fill )),
1185
+ (MAX (c_group , windows ).get_factor_value , (normalize , fill )),
1186
+ (MIN (c_group , windows ).get_factor_value , (normalize , fill )),
1187
+ (QTLU (c_group , windows ).get_factor_value , (normalize , fill )),
1188
+ (QTLD (c_group , windows ).get_factor_value , (normalize , fill ))]
1189
+ parallel_result2 = Parallel (n_jobs = n_jobs )(delayed (func )(* args ) for func , args in task2 )
1190
+ parallel_df2 = pd .concat (parallel_result2 , axis = 1 )
1191
+ for c in parallel_df2 .columns :
1192
+ parallel_df2 [c ] /= price
1193
+
1183
1194
OPEN = DELAY (o_group , periods = [1 , 2 , 3 , 4 , 5 ]).get_factor_value (normalize = normalize , handle_nan = fill )
1184
1195
OPEN .columns = ["open" + str (w ) for w in range (1 , 6 )]
1185
1196
for c in OPEN .columns :
@@ -1215,14 +1226,6 @@ def qlib158(data: pd.DataFrame, normalize: bool = False, fill: bool = False, win
1215
1226
for c in delta .columns :
1216
1227
delta [c ] /= price
1217
1228
1218
- ma = MA (c_group , periods = windows ).get_factor_value (normalize = normalize , handle_nan = fill )
1219
- for c in ma .columns :
1220
- ma [c ] /= price
1221
-
1222
- std = STD (c_group , periods = windows ).get_factor_value (normalize = normalize , handle_nan = fill )
1223
- for c in std .columns :
1224
- std [c ] /= price
1225
-
1226
1229
r2 = REGRESSION (data , "open" , "close" , windows , rettype = 4 ).get_factor_value (normalize = normalize , handle_nan = fill )
1227
1230
r2 .columns = ["rsqr" + str (w ) for w in windows ]
1228
1231
@@ -1231,22 +1234,6 @@ def qlib158(data: pd.DataFrame, normalize: bool = False, fill: bool = False, win
1231
1234
for c in resi .columns :
1232
1235
resi [c ] /= price
1233
1236
1234
- cmax = MAX (c_group , windows ).get_factor_value (normalize = normalize , handle_nan = fill )
1235
- for c in cmax .columns :
1236
- cmax [c ] /= price
1237
-
1238
- cmin = MIN (c_group , windows ).get_factor_value (normalize = normalize , handle_nan = fill )
1239
- for c in cmin .columns :
1240
- cmin [c ] /= price
1241
-
1242
- qtlu = QTLU (c_group , windows ).get_factor_value (normalize = normalize , handle_nan = fill )
1243
- for c in qtlu .columns :
1244
- qtlu [c ] /= price
1245
-
1246
- qtld = QTLD (c_group , windows ).get_factor_value (normalize = normalize , handle_nan = fill )
1247
- for c in qtld .columns :
1248
- qtld [c ] /= price
1249
-
1250
1237
vma = MA (v_group , windows ).get_factor_value (normalize = normalize , handle_nan = fill )
1251
1238
vma .columns = ["vma" + str (w ) for w in windows ]
1252
1239
for c in vma .columns :
@@ -1263,6 +1250,6 @@ def qlib158(data: pd.DataFrame, normalize: bool = False, fill: bool = False, win
1263
1250
vsumn = SUMN (data ["volume" ], windows ).get_factor_value (normalize = normalize , handle_nan = fill )
1264
1251
vsumn .columns = ["vsumn" + str (w ) for w in windows ]
1265
1252
1266
- features = pd .concat ([OPEN , CLOSE , HIGH , LOW , VOLUME , AMOUNT , parallel_df , delta , ma , std , r2 ,
1267
- resi , cmax , cmin , qtlu , qtld , vma , vstd , vsump , vsumn ], axis = 1 )
1253
+ features = pd .concat ([OPEN , CLOSE , HIGH , LOW , VOLUME , AMOUNT , parallel_df , delta , r2 ,
1254
+ resi , parallel_df2 , vma , vstd , vsump , vsumn ], axis = 1 )
1268
1255
return features
0 commit comments