版本 v1.0
### 深度学习策略的交易规则
### 策略构建步骤
### 策略的实现
在画布左侧模块列表中依次拖入输入层模块、Reshape层模块、Conv2D层模块、Reshape层模块、LSTM层模块、Dropout层模块和全连接层模块(两组),构成深度学习网络构架,
最后通过“构建(深度学习)”模块组装各层。这里需要注意:
输入层的shape参数是 窗口滚动数据集的大小 X 因子数量 , 本例为 50 行 X 5个因子
ReShape层的参数是 窗口滚动数据集的大小 X 因子数量 X 1 ,本例为 50 行 X 5个因子 X1
Conv2D层中的 kernel_size参数是滑动窗口的尺寸,本例中使用 3行 X 5列 的窗口, 每次滑动的步长为 1行 X 1列 , 卷积核数目为32,这里的窗口设置决定了后面ReShape层的参数
ReShape层中的target_shape 参数,这是由 窗口滚动数据集 X 因子数量 和 Conv2D层中设置的窗口尺寸以及步长决定的。本例中 50行 X 5因子 的输入数据,使用 3行 X5列 的窗口滑动取数据,
每次移动1行,共计可以得到48次数据(即可以通过滑动3行 X 5列的窗口48次来获取完整的数据),因此target_shape= 48 X 卷积核数32
LSTM层的输出空间维度设置为卷积核数32,并设置激活函数
Dropout层是防止过度拟合采用的主动裁剪数据技术,这里设置rate 为0.8
全连接层共两层,第一层的输出空间维度与LSTM的输出维度保持一致为32,第二层将第一层的32维数据转变为1维数据输出,即获取预测的label值,此例为0到1之间的连续值,可以认为是上涨的概率。
如果当日预测的上涨概率大于0.5,则保持持仓或买入
如果当日预测的上涨概率小于0.5,则卖出股票或保持空仓。
通过 trade 模块中的初始化函数定义交易手续费和滑点,通过 context.prediction 获取每日的上涨概率预测结果;
通过 trade 模块中的主函数(handle函数)查看每日的买卖交易信号,按照买卖原则执行相应的买入/卖出操作。
可视化策略实现如下:
# 本代码由可视化策略环境自动生成 2022年9月15日 19:58
# 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
# 用户的自定义层需要写到字典中,比如
# {
# "MyLayer": MyLayer
# }
m6_custom_objects_bigquant_run = {
}
# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
def m2_run_bigquant_run(input_1, input_2, input_3):
# 示例代码如下。在这里编写您的代码
pred_label = input_1.read_pickle()
df = input_2.read_df()
df = pd.DataFrame({'pred_label':pred_label[:,0], 'instrument':df.instrument, 'date':df.date})
df.sort_values(['date','pred_label'],inplace=True, ascending=[True,False])
return Outputs(data_1=DataSource.write_df(df), data_2=None, data_3=None)
# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。
def m2_post_run_bigquant_run(outputs):
return outputs
# 回测引擎:初始化函数,只执行一次
def m1_initialize_bigquant_run(context):
# 加载预测数据
context.prediction = context.options['data'].read_df()
# 系统已经设置了默认的交易手续费和滑点,要修改手续费可使用如下函数
context.set_commission(PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))
# 回测引擎:每日数据处理函数,每天执行一次
def m1_handle_data_bigquant_run(context, data):
# 按日期过滤得到今日的预测数据
try:
prediction = context.prediction[ context.prediction['date']==data.current_dt.strftime('%Y-%m-%d')].pred_label.values[0]
except KeyError as e:
return
instrument = context.instruments[0]
sid = context.symbol(instrument)
cur_position = context.portfolio.positions[sid].amount
# 交易逻辑
if prediction > 0.5 and cur_position == 0:
context.order_target_percent(context.symbol(instrument), 1)
print(data.current_dt, '买入!')
elif prediction < 0.5 and cur_position > 0:
context.order_target_percent(context.symbol(instrument), 0)
print(data.current_dt, '卖出!')
# 回测引擎:准备数据,只执行一次
def m1_prepare_bigquant_run(context):
pass
# 回测引擎:每个单位时间开始前调用一次,即每日开盘前调用一次。
def m1_before_trading_start_bigquant_run(context, data):
pass
g = T.Graph({
'm3': 'M.dl_layer_input.v1',
'm3.shape': '50,5',
'm3.batch_shape': '',
'm3.dtype': 'float32',
'm3.sparse': False,
'm3.name': '',
'm13': 'M.dl_layer_reshape.v1',
'm13.inputs': T.Graph.OutputPort('m3.data'),
'm13.target_shape': '50,5,1',
'm13.name': '',
'm14': 'M.dl_layer_conv2d.v1',
'm14.inputs': T.Graph.OutputPort('m13.data'),
'm14.filters': 32,
'm14.kernel_size': '3,5',
'm14.strides': '1,1',
'm14.padding': 'valid',
'm14.data_format': 'channels_last',
'm14.dilation_rate': '1,1',
'm14.activation': 'relu',
'm14.use_bias': True,
'm14.kernel_initializer': 'glorot_uniform',
'm14.bias_initializer': 'Zeros',
'm14.kernel_regularizer': 'None',
'm14.kernel_regularizer_l1': 0,
'm14.kernel_regularizer_l2': 0,
'm14.bias_regularizer': 'None',
'm14.bias_regularizer_l1': 0,
'm14.bias_regularizer_l2': 0,
'm14.activity_regularizer': 'None',
'm14.activity_regularizer_l1': 0,
'm14.activity_regularizer_l2': 0,
'm14.kernel_constraint': 'None',
'm14.bias_constraint': 'None',
'm14.name': '',
'm15': 'M.dl_layer_reshape.v1',
'm15.inputs': T.Graph.OutputPort('m14.data'),
'm15.target_shape': '48,32',
'm15.name': '',
'm4': 'M.dl_layer_lstm.v1',
'm4.inputs': T.Graph.OutputPort('m15.data'),
'm4.units': 32,
'm4.activation': 'tanh',
'm4.recurrent_activation': 'hard_sigmoid',
'm4.use_bias': True,
'm4.kernel_initializer': 'glorot_uniform',
'm4.recurrent_initializer': 'Orthogonal',
'm4.bias_initializer': 'Ones',
'm4.unit_forget_bias': True,
'm4.kernel_regularizer': 'None',
'm4.kernel_regularizer_l1': 0,
'm4.kernel_regularizer_l2': 0,
'm4.recurrent_regularizer': 'None',
'm4.recurrent_regularizer_l1': 0,
'm4.recurrent_regularizer_l2': 0,
'm4.bias_regularizer': 'None',
'm4.bias_regularizer_l1': 0,
'm4.bias_regularizer_l2': 0,
'm4.activity_regularizer': 'None',
'm4.activity_regularizer_l1': 0,
'm4.activity_regularizer_l2': 0,
'm4.kernel_constraint': 'None',
'm4.recurrent_constraint': 'None',
'm4.bias_constraint': 'None',
'm4.dropout': 0,
'm4.recurrent_dropout': 0,
'm4.return_sequences': False,
'm4.implementation': '2',
'm4.name': '',
'm11': 'M.dl_layer_dropout.v1',
'm11.inputs': T.Graph.OutputPort('m4.data'),
'm11.rate': 0.4,
'm11.noise_shape': '',
'm11.name': '',
'm10': 'M.dl_layer_dense.v1',
'm10.inputs': T.Graph.OutputPort('m11.data'),
'm10.units': 32,
'm10.activation': 'tanh',
'm10.use_bias': True,
'm10.kernel_initializer': 'glorot_uniform',
'm10.bias_initializer': 'Zeros',
'm10.kernel_regularizer': 'None',
'm10.kernel_regularizer_l1': 0,
'm10.kernel_regularizer_l2': 0,
'm10.bias_regularizer': 'None',
'm10.bias_regularizer_l1': 0,
'm10.bias_regularizer_l2': 0,
'm10.activity_regularizer': 'None',
'm10.activity_regularizer_l1': 0,
'm10.activity_regularizer_l2': 0,
'm10.kernel_constraint': 'None',
'm10.bias_constraint': 'None',
'm10.name': '',
'm12': 'M.dl_layer_dropout.v1',
'm12.inputs': T.Graph.OutputPort('m10.data'),
'm12.rate': 0.8,
'm12.noise_shape': '',
'm12.name': '',
'm9': 'M.dl_layer_dense.v1',
'm9.inputs': T.Graph.OutputPort('m12.data'),
'm9.units': 1,
'm9.activation': 'sigmoid',
'm9.use_bias': True,
'm9.kernel_initializer': 'glorot_uniform',
'm9.bias_initializer': 'Zeros',
'm9.kernel_regularizer': 'None',
'm9.kernel_regularizer_l1': 0,
'm9.kernel_regularizer_l2': 0,
'm9.bias_regularizer': 'None',
'm9.bias_regularizer_l1': 0,
'm9.bias_regularizer_l2': 0,
'm9.activity_regularizer': 'None',
'm9.activity_regularizer_l1': 0,
'm9.activity_regularizer_l2': 0,
'm9.kernel_constraint': 'None',
'm9.bias_constraint': 'None',
'm9.name': '',
'm5': 'M.dl_model_init.v1',
'm5.inputs': T.Graph.OutputPort('m3.data'),
'm5.outputs': T.Graph.OutputPort('m9.data'),
'm8': 'M.input_features.v1',
'm8.features': """(close_0/close_1-1)*10
(high_0/high_1-1)*10
(low_0/low_1-1)*10
(open_0/open_1-1)*10
(volume_0/volume_1-1)*10""",
'm24': 'M.instruments.v2',
'm24.start_date': '2017-06-02',
'm24.end_date': '2017-10-30',
'm24.market': 'CN_STOCK_A',
'm24.instrument_list': '600009.SHA',
'm24.max_count': 0,
'm21': 'M.advanced_auto_labeler.v2',
'm21.instruments': T.Graph.OutputPort('m24.data'),
'm21.label_expr': """# #号开始的表示注释
# 0. 每行一个,顺序执行,从第二个开始,可以使用label字段
# 1. 可用数据字段见 https://bigquant.com/docs/develop/datasource/deprecated/history_data.html
# 添加benchmark_前缀,可使用对应的benchmark数据
# 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/develop/bigexpr/usage.html>`_
# 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)
where(shift(close, -10) / close -1>0,1,0)
# 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)
where(shift(high, -1) == shift(low, -1), NaN, label)
""",
'm21.start_date': '',
'm21.end_date': '',
'm21.benchmark': '000300.SHA',
'm21.drop_na_label': True,
'm21.cast_label_int': True,
'm21.user_functions': {},
'm22': 'M.general_feature_extractor.v7',
'm22.instruments': T.Graph.OutputPort('m24.data'),
'm22.features': T.Graph.OutputPort('m8.data'),
'm22.start_date': '',
'm22.end_date': '',
'm22.before_start_days': 90,
'm23': 'M.derived_feature_extractor.v3',
'm23.input_data': T.Graph.OutputPort('m22.data'),
'm23.features': T.Graph.OutputPort('m8.data'),
'm23.date_col': 'date',
'm23.instrument_col': 'instrument',
'm23.drop_na': False,
'm23.remove_extra_columns': False,
'm23.user_functions': {},
'm17': 'M.join.v3',
'm17.data1': T.Graph.OutputPort('m21.data'),
'm17.data2': T.Graph.OutputPort('m23.data'),
'm17.on': 'date',
'm17.how': 'inner',
'm17.sort': True,
'm18': 'M.dropnan.v1',
'm18.input_data': T.Graph.OutputPort('m17.data'),
'm25': 'M.dl_convert_to_bin.v2',
'm25.input_data': T.Graph.OutputPort('m18.data'),
'm25.features': T.Graph.OutputPort('m8.data'),
'm25.window_size': 50,
'm25.feature_clip': 5,
'm25.flatten': False,
'm25.window_along_col': '',
'm6': 'M.dl_model_train.v1',
'm6.input_model': T.Graph.OutputPort('m5.data'),
'm6.training_data': T.Graph.OutputPort('m25.data'),
'm6.optimizer': 'Adam',
'm6.loss': 'binary_crossentropy',
'm6.metrics': 'accuracy',
'm6.batch_size': 2048,
'm6.epochs': 10,
'm6.custom_objects': m6_custom_objects_bigquant_run,
'm6.n_gpus': 1,
'm6.verbose': '1:输出进度条记录',
'm28': 'M.instruments.v2',
'm28.start_date': T.live_run_param('trading_date', '2019-02-11'),
'm28.end_date': T.live_run_param('trading_date', '2019-08-01'),
'm28.market': 'CN_STOCK_A',
'm28.instrument_list': '600009.SHA',
'm28.max_count': 0,
'm16': 'M.general_feature_extractor.v7',
'm16.instruments': T.Graph.OutputPort('m28.data'),
'm16.features': T.Graph.OutputPort('m8.data'),
'm16.start_date': '',
'm16.end_date': '',
'm16.before_start_days': 90,
'm26': 'M.derived_feature_extractor.v3',
'm26.input_data': T.Graph.OutputPort('m16.data'),
'm26.features': T.Graph.OutputPort('m8.data'),
'm26.date_col': 'date',
'm26.instrument_col': 'instrument',
'm26.drop_na': False,
'm26.remove_extra_columns': False,
'm26.user_functions': {},
'm20': 'M.dropnan.v1',
'm20.input_data': T.Graph.OutputPort('m26.data'),
'm27': 'M.dl_convert_to_bin.v2',
'm27.input_data': T.Graph.OutputPort('m20.data'),
'm27.features': T.Graph.OutputPort('m8.data'),
'm27.window_size': 50,
'm27.feature_clip': 5,
'm27.flatten': False,
'm27.window_along_col': '',
'm7': 'M.dl_model_predict.v1',
'm7.trained_model': T.Graph.OutputPort('m6.data'),
'm7.input_data': T.Graph.OutputPort('m27.data'),
'm7.batch_size': 10240,
'm7.n_gpus': 0,
'm7.verbose': '2:每个epoch输出一行记录',
'm2': 'M.cached.v3',
'm2.input_1': T.Graph.OutputPort('m7.data'),
'm2.input_2': T.Graph.OutputPort('m20.data'),
'm2.run': m2_run_bigquant_run,
'm2.post_run': m2_post_run_bigquant_run,
'm2.input_ports': '',
'm2.params': '{}',
'm2.output_ports': '',
'm1': 'M.trade.v4',
'm1.instruments': T.Graph.OutputPort('m28.data'),
'm1.options_data': T.Graph.OutputPort('m2.data_1'),
'm1.start_date': '',
'm1.end_date': '',
'm1.initialize': m1_initialize_bigquant_run,
'm1.handle_data': m1_handle_data_bigquant_run,
'm1.prepare': m1_prepare_bigquant_run,
'm1.before_trading_start': m1_before_trading_start_bigquant_run,
'm1.volume_limit': 0.025,
'm1.order_price_field_buy': 'open',
'm1.order_price_field_sell': 'close',
'm1.capital_base': 1000000,
'm1.auto_cancel_non_tradable_orders': True,
'm1.data_frequency': 'daily',
'm1.price_type': '真实价格',
'm1.product_type': '股票',
'm1.plot_charts': True,
'm1.backtest_only': False,
'm1.benchmark': '000300.HIX',
})
# g.run({})
def m19_run_bigquant_run(
bq_graph,
inputs,
trading_days_market='CN', # 使用那个市场的交易日历
train_instruments_mid='m24', # 训练数据 证券代码列表 模块id
test_instruments_mid='m28', # 测试数据 证券代码列表 模块id
predict_mid='m2', # 预测 模块id
trade_mid='m1', # 回测 模块id
start_date='2016-01-01', # 数据开始日期
end_date=T.live_run_param('trading_date', '2018-01-01'), # 数据结束日期
train_update_days=90, # 更新周期,按交易日计算,每多少天更新一次
train_update_days_for_live=100, #模拟实盘模式下的更新周期,按交易日计算,每多少天更新一次。如果需要在模拟实盘阶段使用不同的模型更新周期,可以设置这个参数
train_data_min_days=100, # 最小数据天数,按交易日计算,所以第一个滚动的结束日期是 从开始日期到开始日期+最小数据天数
train_data_max_days=100, # 最大数据天数,按交易日计算,0,表示没有限制,否则每一个滚动的开始日期=max(此滚动的结束日期-最大数据天数, 开始日期
rolling_count_for_live=1, #实盘模式下滚动次数,模拟实盘模式下,取最后多少次滚动。一般在模拟实盘模式下,只用到最后一次滚动训练的模型,这里可以设置为1;如果你的滚动训练数据时间段很短,以至于期间可能没有训练数据,这里可以设置大一点。0表示没有限制
):
def merge_datasources(input_1):
df_list = [ds.read_df() for ds in input_1]
df = pd.concat(df_list)
instrument_data = {
'start_date': df['date'].min().strftime('%Y-%m-%d'),
'end_date': df['date'].max().strftime('%Y-%m-%d'),
'instruments': list(set(df['instrument'])),
}
return Outputs(data=DataSource.write_df(df), instrument_data=DataSource.write_pickle(instrument_data))
def gen_rolling_dates(trading_days_market, start_date, end_date, train_update_days, train_update_days_for_live, train_data_min_days, train_data_max_days, rolling_count_for_live):
# 是否实盘模式
tdays = list(D.trading_days(market=trading_days_market, start_date=start_date, end_date=end_date)['date'])
is_live_run = T.live_run_param('trading_date', None) is not None
if is_live_run and train_update_days_for_live:
train_update_days = train_update_days_for_live
rollings = []
train_end_date = train_data_min_days
while train_end_date < len(tdays):
if train_data_max_days is not None:
train_start_date = max(train_end_date - train_data_max_days, 0)
else:
train_start_date = start_date
rollings.append({
'train_start_date': tdays[train_start_date].strftime('%Y-%m-%d'),
'train_end_date': tdays[train_end_date - 1].strftime('%Y-%m-%d'),
'test_start_date': tdays[train_end_date].strftime('%Y-%m-%d'),
'test_end_date': tdays[min(train_end_date + train_update_days, len(tdays)) - 1].strftime('%Y-%m-%d'),
})
train_end_date += train_update_days
if not rollings:
raise Exception('没有滚动需要执行,请检查配置')
if is_live_run and rolling_count_for_live:
rollings = rollings[-rolling_count_for_live:]
return rollings
g = bq_graph
rolling_dates = gen_rolling_dates(
trading_days_market, start_date, end_date, train_update_days, train_update_days_for_live, train_data_min_days, train_data_max_days, rolling_count_for_live)
# 训练和预测
results = []
for rolling in rolling_dates:
parameters = {}
# 先禁用回测
parameters[trade_mid + '.__enabled__'] = False
parameters[train_instruments_mid + '.start_date'] = rolling['train_start_date']
parameters[train_instruments_mid + '.end_date'] = rolling['train_end_date']
parameters[test_instruments_mid + '.start_date'] = rolling['test_start_date']
parameters[test_instruments_mid + '.end_date'] = rolling['test_end_date']
# print('------ rolling_train:', parameters)
results.append(g.run(parameters))
# 合并预测结果并回测
mx = M.cached.v3(run=merge_datasources, input_1=[result[predict_mid].data_1 for result in results])
parameters = {}
parameters['*.__enabled__'] = False
parameters[trade_mid + '.__enabled__'] = True
parameters[trade_mid + '.instruments'] = mx.instrument_data
parameters[trade_mid + '.options_data'] = mx.data
trade = g.run(parameters)
return {'rollings': results, 'trade': trade}
m19 = M.hyper_rolling_train.v1(
run=m19_run_bigquant_run,
run_now=True,
bq_graph=g
)
[2022-09-15 19:58:03.959480] INFO: moduleinvoker: dl_layer_input.v1 运行完成[0.026542s].
[2022-09-15 19:58:03.980863] INFO: moduleinvoker: input_features.v1 开始运行..
[2022-09-15 19:58:03.989780] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:03.992447] INFO: moduleinvoker: input_features.v1 运行完成[0.011603s].
[2022-09-15 19:58:04.002092] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:04.011062] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.013066] INFO: moduleinvoker: instruments.v2 运行完成[0.010985s].
[2022-09-15 19:58:04.018840] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:04.041270] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.044733] INFO: moduleinvoker: instruments.v2 运行完成[0.025886s].
[2022-09-15 19:58:04.081272] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.02189s].
[2022-09-15 19:58:04.095619] INFO: moduleinvoker: advanced_auto_labeler.v2 开始运行..
[2022-09-15 19:58:04.102433] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.104662] INFO: moduleinvoker: advanced_auto_labeler.v2 运行完成[0.009061s].
[2022-09-15 19:58:04.125751] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:04.133734] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.135992] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.010259s].
[2022-09-15 19:58:04.151191] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:04.157430] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.159579] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.008398s].
[2022-09-15 19:58:04.195011] INFO: moduleinvoker: dl_layer_conv2d.v1 运行完成[0.015534s].
[2022-09-15 19:58:04.204745] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:04.211330] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.213873] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.00911s].
[2022-09-15 19:58:04.224939] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:04.264340] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.266240] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.041303s].
[2022-09-15 19:58:04.303384] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.013628s].
[2022-09-15 19:58:04.315223] INFO: moduleinvoker: join.v3 开始运行..
[2022-09-15 19:58:04.328296] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.330636] INFO: moduleinvoker: join.v3 运行完成[0.01549s].
[2022-09-15 19:58:04.345806] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:04.354509] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.357276] INFO: moduleinvoker: dropnan.v1 运行完成[0.011476s].
[2022-09-15 19:58:04.570418] INFO: moduleinvoker: dl_layer_lstm.v1 运行完成[0.203263s].
[2022-09-15 19:58:04.587932] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:04.597791] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.600182] INFO: moduleinvoker: dropnan.v1 运行完成[0.012269s].
[2022-09-15 19:58:04.621742] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:04.631476] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.634462] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.012747s].
[2022-09-15 19:58:04.657446] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.005676s].
[2022-09-15 19:58:04.671716] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:04.679470] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.682076] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.010365s].
[2022-09-15 19:58:04.705116] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.01348s].
[2022-09-15 19:58:04.725295] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.011423s].
[2022-09-15 19:58:04.752641] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.017459s].
[2022-09-15 19:58:04.816045] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:04.825229] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.827139] INFO: moduleinvoker: cached.v3 运行完成[0.011118s].
[2022-09-15 19:58:04.829239] INFO: moduleinvoker: dl_model_init.v1 运行完成[0.069585s].
[2022-09-15 19:58:04.835081] INFO: moduleinvoker: dl_model_train.v1 开始运行..
[2022-09-15 19:58:04.842698] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.845566] INFO: moduleinvoker: dl_model_train.v1 运行完成[0.010481s].
[2022-09-15 19:58:04.852281] INFO: moduleinvoker: dl_model_predict.v1 开始运行..
[2022-09-15 19:58:04.861310] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.863789] INFO: moduleinvoker: dl_model_predict.v1 运行完成[0.011504s].
[2022-09-15 19:58:04.889999] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:04.899574] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.902244] INFO: moduleinvoker: cached.v3 运行完成[0.012273s].
[2022-09-15 19:58:04.914188] INFO: moduleinvoker: dl_layer_input.v1 运行完成[0.001923s].
[2022-09-15 19:58:04.921994] INFO: moduleinvoker: input_features.v1 开始运行..
[2022-09-15 19:58:04.951467] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.953910] INFO: moduleinvoker: input_features.v1 运行完成[0.031933s].
[2022-09-15 19:58:04.960994] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:04.976423] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.979820] INFO: moduleinvoker: instruments.v2 运行完成[0.018821s].
[2022-09-15 19:58:04.987107] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:04.995574] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:04.998408] INFO: moduleinvoker: instruments.v2 运行完成[0.011299s].
[2022-09-15 19:58:05.033113] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.017999s].
[2022-09-15 19:58:05.045692] INFO: moduleinvoker: advanced_auto_labeler.v2 开始运行..
[2022-09-15 19:58:05.054801] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.056980] INFO: moduleinvoker: advanced_auto_labeler.v2 运行完成[0.011302s].
[2022-09-15 19:58:05.075630] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:05.087316] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.090126] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.014529s].
[2022-09-15 19:58:05.111575] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:05.118519] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.120619] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.009075s].
[2022-09-15 19:58:05.162199] INFO: moduleinvoker: dl_layer_conv2d.v1 运行完成[0.032006s].
[2022-09-15 19:58:05.195107] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:05.204916] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.207628] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.012487s].
[2022-09-15 19:58:05.226416] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:05.237951] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.242317] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.015875s].
[2022-09-15 19:58:05.264920] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.013763s].
[2022-09-15 19:58:05.301380] INFO: moduleinvoker: join.v3 开始运行..
[2022-09-15 19:58:05.311991] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.315073] INFO: moduleinvoker: join.v3 运行完成[0.013674s].
[2022-09-15 19:58:05.336034] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:05.344983] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.347297] INFO: moduleinvoker: dropnan.v1 运行完成[0.011272s].
[2022-09-15 19:58:05.517227] INFO: moduleinvoker: dl_layer_lstm.v1 运行完成[0.16307s].
[2022-09-15 19:58:05.547424] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:05.557417] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.559630] INFO: moduleinvoker: dropnan.v1 运行完成[0.012187s].
[2022-09-15 19:58:05.586700] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:05.599483] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.602012] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.01534s].
[2022-09-15 19:58:05.616365] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.005434s].
[2022-09-15 19:58:05.635547] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:05.643876] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.646418] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.010895s].
[2022-09-15 19:58:05.665309] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.011336s].
[2022-09-15 19:58:05.695189] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.007118s].
[2022-09-15 19:58:05.726021] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.021913s].
[2022-09-15 19:58:05.791178] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:05.800289] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.803223] INFO: moduleinvoker: cached.v3 运行完成[0.012074s].
[2022-09-15 19:58:05.806186] INFO: moduleinvoker: dl_model_init.v1 运行完成[0.072723s].
[2022-09-15 19:58:05.812032] INFO: moduleinvoker: dl_model_train.v1 开始运行..
[2022-09-15 19:58:05.820450] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.823103] INFO: moduleinvoker: dl_model_train.v1 运行完成[0.011066s].
[2022-09-15 19:58:05.832172] INFO: moduleinvoker: dl_model_predict.v1 开始运行..
[2022-09-15 19:58:05.840864] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.843350] INFO: moduleinvoker: dl_model_predict.v1 运行完成[0.011203s].
[2022-09-15 19:58:05.858781] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:05.872361] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.875484] INFO: moduleinvoker: cached.v3 运行完成[0.016697s].
[2022-09-15 19:58:05.886353] INFO: moduleinvoker: dl_layer_input.v1 运行完成[0.001728s].
[2022-09-15 19:58:05.892856] INFO: moduleinvoker: input_features.v1 开始运行..
[2022-09-15 19:58:05.902339] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.904506] INFO: moduleinvoker: input_features.v1 运行完成[0.011658s].
[2022-09-15 19:58:05.911686] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:05.921331] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.923401] INFO: moduleinvoker: instruments.v2 运行完成[0.01172s].
[2022-09-15 19:58:05.930218] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:05.939057] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.941038] INFO: moduleinvoker: instruments.v2 运行完成[0.010833s].
[2022-09-15 19:58:05.958738] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.010671s].
[2022-09-15 19:58:05.980610] INFO: moduleinvoker: advanced_auto_labeler.v2 开始运行..
[2022-09-15 19:58:05.988961] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:05.991026] INFO: moduleinvoker: advanced_auto_labeler.v2 运行完成[0.010445s].
[2022-09-15 19:58:06.017179] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:06.027657] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.029963] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.012803s].
[2022-09-15 19:58:06.047907] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:06.056884] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.059158] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.011292s].
[2022-09-15 19:58:06.096095] INFO: moduleinvoker: dl_layer_conv2d.v1 运行完成[0.015287s].
[2022-09-15 19:58:06.106300] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:06.114005] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.116481] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.010188s].
[2022-09-15 19:58:06.124848] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:06.132815] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.134690] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.009842s].
[2022-09-15 19:58:06.154679] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.012793s].
[2022-09-15 19:58:06.163716] INFO: moduleinvoker: join.v3 开始运行..
[2022-09-15 19:58:06.178125] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.180408] INFO: moduleinvoker: join.v3 运行完成[0.016691s].
[2022-09-15 19:58:06.192508] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:06.201471] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.203943] INFO: moduleinvoker: dropnan.v1 运行完成[0.011433s].
[2022-09-15 19:58:06.388567] INFO: moduleinvoker: dl_layer_lstm.v1 运行完成[0.152765s].
[2022-09-15 19:58:06.398036] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:06.406358] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.408359] INFO: moduleinvoker: dropnan.v1 运行完成[0.010326s].
[2022-09-15 19:58:06.422037] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:06.429417] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.432508] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.010474s].
[2022-09-15 19:58:06.467765] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.006231s].
[2022-09-15 19:58:06.512953] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:06.524900] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.528457] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.01553s].
[2022-09-15 19:58:06.550445] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.011869s].
[2022-09-15 19:58:06.563084] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.004865s].
[2022-09-15 19:58:06.602758] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.018772s].
[2022-09-15 19:58:06.660673] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:06.681582] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:06.684623] INFO: moduleinvoker: cached.v3 运行完成[0.023934s].
[2022-09-15 19:58:06.688123] INFO: moduleinvoker: dl_model_init.v1 运行完成[0.07771s].
[2022-09-15 19:58:06.698214] INFO: moduleinvoker: dl_model_train.v1 开始运行..
[2022-09-15 19:58:07.104742] INFO: dl_model_train: 准备训练,训练样本个数:100,迭代次数:10
[2022-09-15 19:58:12.882426] INFO: dl_model_train: 训练结束,耗时:5.78s
[2022-09-15 19:58:12.931318] INFO: moduleinvoker: dl_model_train.v1 运行完成[6.233099s].
[2022-09-15 19:58:12.939942] INFO: moduleinvoker: dl_model_predict.v1 开始运行..
[2022-09-15 19:58:13.743112] INFO: moduleinvoker: dl_model_predict.v1 运行完成[0.803179s].
[2022-09-15 19:58:13.759140] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:14.020572] INFO: moduleinvoker: cached.v3 运行完成[0.261471s].
[2022-09-15 19:58:14.032173] INFO: moduleinvoker: dl_layer_input.v1 运行完成[0.002072s].
[2022-09-15 19:58:14.037290] INFO: moduleinvoker: input_features.v1 开始运行..
[2022-09-15 19:58:14.044169] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.046384] INFO: moduleinvoker: input_features.v1 运行完成[0.009113s].
[2022-09-15 19:58:14.052471] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:14.059418] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.061365] INFO: moduleinvoker: instruments.v2 运行完成[0.008895s].
[2022-09-15 19:58:14.075912] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:14.091963] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.094060] INFO: moduleinvoker: instruments.v2 运行完成[0.018154s].
[2022-09-15 19:58:14.114976] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.01265s].
[2022-09-15 19:58:14.125755] INFO: moduleinvoker: advanced_auto_labeler.v2 开始运行..
[2022-09-15 19:58:14.133484] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.137217] INFO: moduleinvoker: advanced_auto_labeler.v2 运行完成[0.01145s].
[2022-09-15 19:58:14.156789] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:14.165862] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.168041] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.01129s].
[2022-09-15 19:58:14.186988] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:14.194552] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.196843] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.00987s].
[2022-09-15 19:58:14.228919] INFO: moduleinvoker: dl_layer_conv2d.v1 运行完成[0.022942s].
[2022-09-15 19:58:14.238516] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:14.253462] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.255841] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.01733s].
[2022-09-15 19:58:14.264213] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:14.270881] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.272903] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.008691s].
[2022-09-15 19:58:14.295794] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.011156s].
[2022-09-15 19:58:14.308219] INFO: moduleinvoker: join.v3 开始运行..
[2022-09-15 19:58:14.322070] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.324326] INFO: moduleinvoker: join.v3 运行完成[0.016106s].
[2022-09-15 19:58:14.333929] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:14.343387] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.346022] INFO: moduleinvoker: dropnan.v1 运行完成[0.012084s].
[2022-09-15 19:58:14.536662] INFO: moduleinvoker: dl_layer_lstm.v1 运行完成[0.183707s].
[2022-09-15 19:58:14.563017] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:14.582453] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.584385] INFO: moduleinvoker: dropnan.v1 运行完成[0.021374s].
[2022-09-15 19:58:14.605700] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:14.613366] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.616708] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.011009s].
[2022-09-15 19:58:14.631143] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.005711s].
[2022-09-15 19:58:14.658171] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:14.666014] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.668082] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.009946s].
[2022-09-15 19:58:14.694211] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.013924s].
[2022-09-15 19:58:14.706035] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.004438s].
[2022-09-15 19:58:14.731008] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.016789s].
[2022-09-15 19:58:14.789370] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:14.797183] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.799702] INFO: moduleinvoker: cached.v3 运行完成[0.010354s].
[2022-09-15 19:58:14.802447] INFO: moduleinvoker: dl_model_init.v1 运行完成[0.063015s].
[2022-09-15 19:58:14.807566] INFO: moduleinvoker: dl_model_train.v1 开始运行..
[2022-09-15 19:58:14.815427] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.817999] INFO: moduleinvoker: dl_model_train.v1 运行完成[0.01043s].
[2022-09-15 19:58:14.823255] INFO: moduleinvoker: dl_model_predict.v1 开始运行..
[2022-09-15 19:58:14.832862] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.836564] INFO: moduleinvoker: dl_model_predict.v1 运行完成[0.013318s].
[2022-09-15 19:58:14.854976] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:14.865507] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.867602] INFO: moduleinvoker: cached.v3 运行完成[0.012648s].
[2022-09-15 19:58:14.889673] INFO: moduleinvoker: dl_layer_input.v1 运行完成[0.002107s].
[2022-09-15 19:58:14.898903] INFO: moduleinvoker: input_features.v1 开始运行..
[2022-09-15 19:58:14.905915] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.908475] INFO: moduleinvoker: input_features.v1 运行完成[0.009582s].
[2022-09-15 19:58:14.915974] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:14.922545] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.924559] INFO: moduleinvoker: instruments.v2 运行完成[0.008608s].
[2022-09-15 19:58:14.931356] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-09-15 19:58:14.938401] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:14.940358] INFO: moduleinvoker: instruments.v2 运行完成[0.00902s].
[2022-09-15 19:58:14.960449] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.012199s].
[2022-09-15 19:58:14.987419] INFO: moduleinvoker: advanced_auto_labeler.v2 开始运行..
[2022-09-15 19:58:15.000216] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.002887] INFO: moduleinvoker: advanced_auto_labeler.v2 运行完成[0.015472s].
[2022-09-15 19:58:15.025985] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:15.054492] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.056732] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.030752s].
[2022-09-15 19:58:15.070895] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-09-15 19:58:15.079906] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.082367] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.011488s].
[2022-09-15 19:58:15.107346] INFO: moduleinvoker: dl_layer_conv2d.v1 运行完成[0.015532s].
[2022-09-15 19:58:15.115459] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:15.125544] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.127743] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.012282s].
[2022-09-15 19:58:15.137684] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-09-15 19:58:15.145337] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.147608] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.009919s].
[2022-09-15 19:58:15.171095] INFO: moduleinvoker: dl_layer_reshape.v1 运行完成[0.016005s].
[2022-09-15 19:58:15.194654] INFO: moduleinvoker: join.v3 开始运行..
[2022-09-15 19:58:15.205904] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.207905] INFO: moduleinvoker: join.v3 运行完成[0.013266s].
[2022-09-15 19:58:15.224680] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:15.231903] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.234299] INFO: moduleinvoker: dropnan.v1 运行完成[0.009681s].
[2022-09-15 19:58:15.387763] INFO: moduleinvoker: dl_layer_lstm.v1 运行完成[0.141695s].
[2022-09-15 19:58:15.398667] INFO: moduleinvoker: dropnan.v1 开始运行..
[2022-09-15 19:58:15.405596] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.407848] INFO: moduleinvoker: dropnan.v1 运行完成[0.009183s].
[2022-09-15 19:58:15.422067] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:15.429524] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.431883] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.009833s].
[2022-09-15 19:58:15.447614] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.00634s].
[2022-09-15 19:58:15.476232] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2022-09-15 19:58:15.485701] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.488059] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.01184s].
[2022-09-15 19:58:15.514011] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.015489s].
[2022-09-15 19:58:15.528634] INFO: moduleinvoker: dl_layer_dropout.v1 运行完成[0.006124s].
[2022-09-15 19:58:15.551292] INFO: moduleinvoker: dl_layer_dense.v1 运行完成[0.014534s].
[2022-09-15 19:58:15.611981] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:15.621098] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.622970] INFO: moduleinvoker: cached.v3 运行完成[0.011009s].
[2022-09-15 19:58:15.624883] INFO: moduleinvoker: dl_model_init.v1 运行完成[0.067297s].
[2022-09-15 19:58:15.629361] INFO: moduleinvoker: dl_model_train.v1 开始运行..
[2022-09-15 19:58:15.636979] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.638770] INFO: moduleinvoker: dl_model_train.v1 运行完成[0.009411s].
[2022-09-15 19:58:15.644006] INFO: moduleinvoker: dl_model_predict.v1 开始运行..
[2022-09-15 19:58:15.662432] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.664539] INFO: moduleinvoker: dl_model_predict.v1 运行完成[0.020565s].
[2022-09-15 19:58:15.688105] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:15.696511] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:15.699162] INFO: moduleinvoker: cached.v3 运行完成[0.011057s].
[2022-09-15 19:58:15.713330] INFO: moduleinvoker: cached.v3 开始运行..
[2022-09-15 19:58:15.997183] INFO: moduleinvoker: cached.v3 运行完成[0.283831s].
[2022-09-15 19:58:16.054060] INFO: moduleinvoker: backtest.v8 开始运行..
[2022-09-15 19:58:16.062155] INFO: backtest: biglearning backtest:V8.6.3
[2022-09-15 19:58:16.064005] INFO: backtest: product_type:stock by specified
[2022-09-15 19:58:16.211975] INFO: moduleinvoker: cached.v2 开始运行..
[2022-09-15 19:58:16.223228] INFO: moduleinvoker: 命中缓存
[2022-09-15 19:58:16.225526] INFO: moduleinvoker: cached.v2 运行完成[0.013577s].
[2022-09-15 19:58:17.945748] INFO: backtest: algo history_data=DataSource(dee8aae5d744464983e2943ee9224e9dT)
[2022-09-15 19:58:17.947555] INFO: algo: TradingAlgorithm V1.8.8
[2022-09-15 19:58:18.453107] INFO: algo: trading transform...
[2022-09-15 19:58:19.574970] INFO: algo: handle_splits get splits [dt:2017-08-24 00:00:00+00:00] [asset:Equity(87 [600009.SHA]), ratio:0.9882099032402039]
[2022-09-15 19:58:19.577336] INFO: Position: position stock handle split[sid:87, orig_amount:36200, new_amount:36631.0, orig_cost:27.61057956776991, new_cost:27.285, ratio:0.9882099032402039, last_sale_price:36.8799934387207]
[2022-09-15 19:58:19.581349] INFO: Position: after split: PositionStock(asset:Equity(87 [600009.SHA]), amount:36631.0, cost_basis:27.285, last_sale_price:37.31999969482422)
[2022-09-15 19:58:19.583959] INFO: Position: returning cash: 32.9548
[2022-09-15 19:58:19.961558] INFO: Performance: Simulated 450 trading days out of 450.
[2022-09-15 19:58:19.963963] INFO: Performance: first open: 2016-03-03 09:30:00+00:00
[2022-09-15 19:58:19.966127] INFO: Performance: last close: 2017-12-29 15:00:00+00:00
[2022-09-15 19:58:23.983366] INFO: moduleinvoker: backtest.v8 运行完成[7.929316s].
[2022-09-15 19:58:23.985436] INFO: moduleinvoker: trade.v4 运行完成[7.976613s].
[2022-09-15 19:58:23.989189] INFO: moduleinvoker: hyper_rolling_train.v1 运行完成[20.110367s].