{"description":"实验创建于2017/11/15","graph":{"edges":[{"to_node_id":"-281:options_data","from_node_id":"-214:data_1"},{"to_node_id":"-403:inputs","from_node_id":"-210:data"},{"to_node_id":"-293:inputs","from_node_id":"-210:data"},{"to_node_id":"-14834:inputs","from_node_id":"-218:data"},{"to_node_id":"-692:input_data","from_node_id":"-316:data"},{"to_node_id":"-214:input_1","from_node_id":"-332:data"},{"to_node_id":"-692:features","from_node_id":"-2295:data"},{"to_node_id":"-333:features","from_node_id":"-2295:data"},{"to_node_id":"-341:features","from_node_id":"-2295:data"},{"to_node_id":"-300:features","from_node_id":"-2295:data"},{"to_node_id":"-307:features","from_node_id":"-2295:data"},{"to_node_id":"-316:features","from_node_id":"-2295:data"},{"to_node_id":"-293:outputs","from_node_id":"-259:data"},{"to_node_id":"-14841:inputs","from_node_id":"-14806:data"},{"to_node_id":"-14806:inputs","from_node_id":"-14834:data"},{"to_node_id":"-259:inputs","from_node_id":"-14841:data"},{"to_node_id":"-408:inputs","from_node_id":"-403:data"},{"to_node_id":"-446:inputs","from_node_id":"-408:data"},{"to_node_id":"-218:inputs","from_node_id":"-446:data"},{"to_node_id":"-2296:input_data","from_node_id":"-2290:data"},{"to_node_id":"-333:input_data","from_node_id":"-2296:data"},{"to_node_id":"-289:instruments","from_node_id":"-620:data"},{"to_node_id":"-300:instruments","from_node_id":"-620:data"},{"to_node_id":"-330:input_data","from_node_id":"-692:data"},{"to_node_id":"-320:training_data","from_node_id":"-333:data"},{"to_node_id":"-332:input_data","from_node_id":"-341:data"},{"to_node_id":"-214:input_2","from_node_id":"-341:data"},{"to_node_id":"-2290:data1","from_node_id":"-289:data"},{"to_node_id":"-307:input_data","from_node_id":"-300:data"},{"to_node_id":"-2290:data2","from_node_id":"-307:data"},{"to_node_id":"-316:instruments","from_node_id":"-322:data"},{"to_node_id":"-281:instruments","from_node_id":"-322:data"},{"to_node_id":"-341:input_data","from_node_id":"-330:data"},{"to_node_id":"-214:input_3","from_node_id":"-330:data"},{"to_node_id":"-320:input_model","from_node_id":"-293:data"},{"to_node_id":"-332:trained_model","from_node_id":"-443:data_1"}],"nodes":[{"node_id":"-214","module_id":"BigQuantSpace.cached.cached-v3","parameters":[{"name":"run","value":"# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端\ndef bigquant_run(input_1, input_2, input_3):\n\n test_data = input_2.read_pickle()\n pred_label = input_1.read_pickle()\n pred_result = pred_label.reshape(pred_label.shape[0]) \n dt = input_3.read_df()['date'][-1*len(pred_result):]\n pred_df = pd.Series(pred_result, index=dt)\n ds = DataSource.write_df(pred_df)\n \n return Outputs(data_1=ds)\n","type":"Literal","bound_global_parameter":null},{"name":"post_run","value":"# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。\ndef bigquant_run(outputs):\n return outputs\n","type":"Literal","bound_global_parameter":null},{"name":"input_ports","value":"","type":"Literal","bound_global_parameter":null},{"name":"params","value":"{}","type":"Literal","bound_global_parameter":null},{"name":"output_ports","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_1","node_id":"-214"},{"name":"input_2","node_id":"-214"},{"name":"input_3","node_id":"-214"}],"output_ports":[{"name":"data_1","node_id":"-214"},{"name":"data_2","node_id":"-214"},{"name":"data_3","node_id":"-214"}],"cacheable":true,"seq_num":2,"comment":"模型预测结果输出","comment_collapsed":false},{"node_id":"-210","module_id":"BigQuantSpace.dl_layer_input.dl_layer_input-v1","parameters":[{"name":"shape","value":"50,5","type":"Literal","bound_global_parameter":null},{"name":"batch_shape","value":"","type":"Literal","bound_global_parameter":null},{"name":"dtype","value":"float32","type":"Literal","bound_global_parameter":null},{"name":"sparse","value":"False","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-210"}],"output_ports":[{"name":"data","node_id":"-210"}],"cacheable":false,"seq_num":3,"comment":"","comment_collapsed":true},{"node_id":"-218","module_id":"BigQuantSpace.dl_layer_lstm.dl_layer_lstm-v1","parameters":[{"name":"units","value":"32","type":"Literal","bound_global_parameter":null},{"name":"activation","value":"tanh","type":"Literal","bound_global_parameter":null},{"name":"user_activation","value":"","type":"Literal","bound_global_parameter":null},{"name":"recurrent_activation","value":"hard_sigmoid","type":"Literal","bound_global_parameter":null},{"name":"user_recurrent_activation","value":"","type":"Literal","bound_global_parameter":null},{"name":"use_bias","value":"True","type":"Literal","bound_global_parameter":null},{"name":"kernel_initializer","value":"glorot_uniform","type":"Literal","bound_global_parameter":null},{"name":"user_kernel_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"recurrent_initializer","value":"Orthogonal","type":"Literal","bound_global_parameter":null},{"name":"user_recurrent_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_initializer","value":"Ones","type":"Literal","bound_global_parameter":null},{"name":"user_bias_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"unit_forget_bias","value":"True","type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_kernel_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"recurrent_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"recurrent_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"recurrent_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_recurrent_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_bias_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_activity_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"kernel_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_kernel_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"recurrent_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_recurrent_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_bias_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"dropout","value":"0","type":"Literal","bound_global_parameter":null},{"name":"recurrent_dropout","value":0,"type":"Literal","bound_global_parameter":null},{"name":"return_sequences","value":"False","type":"Literal","bound_global_parameter":null},{"name":"implementation","value":"2","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-218"}],"output_ports":[{"name":"data","node_id":"-218"}],"cacheable":false,"seq_num":4,"comment":"","comment_collapsed":true},{"node_id":"-316","module_id":"BigQuantSpace.general_feature_extractor.general_feature_extractor-v7","parameters":[{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"before_start_days","value":90,"type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-316"},{"name":"features","node_id":"-316"}],"output_ports":[{"name":"data","node_id":"-316"}],"cacheable":true,"seq_num":16,"comment":"","comment_collapsed":true},{"node_id":"-320","module_id":"BigQuantSpace.dl_model_train.dl_model_train-v1","parameters":[{"name":"optimizer","value":"Adam","type":"Literal","bound_global_parameter":null},{"name":"user_optimizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"loss","value":"binary_crossentropy","type":"Literal","bound_global_parameter":null},{"name":"user_loss","value":"","type":"Literal","bound_global_parameter":null},{"name":"metrics","value":"accuracy","type":"Literal","bound_global_parameter":null},{"name":"batch_size","value":"2048","type":"Literal","bound_global_parameter":null},{"name":"epochs","value":"10","type":"Literal","bound_global_parameter":null},{"name":"custom_objects","value":"# 用户的自定义层需要写到字典中,比如\n# {\n# \"MyLayer\": MyLayer\n# }\nbigquant_run = {\n \n}\n","type":"Literal","bound_global_parameter":null},{"name":"n_gpus","value":"1","type":"Literal","bound_global_parameter":null},{"name":"verbose","value":"1:输出进度条记录","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_model","node_id":"-320"},{"name":"training_data","node_id":"-320"},{"name":"validation_data","node_id":"-320"}],"output_ports":[{"name":"data","node_id":"-320"}],"cacheable":true,"seq_num":6,"comment":"","comment_collapsed":true},{"node_id":"-332","module_id":"BigQuantSpace.dl_model_predict.dl_model_predict-v1","parameters":[{"name":"batch_size","value":"10240","type":"Literal","bound_global_parameter":null},{"name":"n_gpus","value":"0","type":"Literal","bound_global_parameter":null},{"name":"verbose","value":"2:每个epoch输出一行记录","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"trained_model","node_id":"-332"},{"name":"input_data","node_id":"-332"}],"output_ports":[{"name":"data","node_id":"-332"}],"cacheable":true,"seq_num":7,"comment":"","comment_collapsed":true},{"node_id":"-2295","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"(close_0/close_1-1)*10\n(high_0/high_1-1)*10\n(low_0/low_1-1)*10\n(open_0/open_1-1)*10\n(volume_0/volume_1-1)*10","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-2295"}],"output_ports":[{"name":"data","node_id":"-2295"}],"cacheable":true,"seq_num":8,"comment":"","comment_collapsed":true},{"node_id":"-259","module_id":"BigQuantSpace.dl_layer_dense.dl_layer_dense-v1","parameters":[{"name":"units","value":"1","type":"Literal","bound_global_parameter":null},{"name":"activation","value":"sigmoid","type":"Literal","bound_global_parameter":null},{"name":"user_activation","value":"","type":"Literal","bound_global_parameter":null},{"name":"use_bias","value":"True","type":"Literal","bound_global_parameter":null},{"name":"kernel_initializer","value":"glorot_uniform","type":"Literal","bound_global_parameter":null},{"name":"user_kernel_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_initializer","value":"Zeros","type":"Literal","bound_global_parameter":null},{"name":"user_bias_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_kernel_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_bias_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_activity_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"kernel_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_kernel_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_bias_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-259"}],"output_ports":[{"name":"data","node_id":"-259"}],"cacheable":false,"seq_num":9,"comment":"","comment_collapsed":true},{"node_id":"-14806","module_id":"BigQuantSpace.dl_layer_dense.dl_layer_dense-v1","parameters":[{"name":"units","value":"32","type":"Literal","bound_global_parameter":null},{"name":"activation","value":"tanh","type":"Literal","bound_global_parameter":null},{"name":"user_activation","value":"","type":"Literal","bound_global_parameter":null},{"name":"use_bias","value":"True","type":"Literal","bound_global_parameter":null},{"name":"kernel_initializer","value":"glorot_uniform","type":"Literal","bound_global_parameter":null},{"name":"user_kernel_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_initializer","value":"Zeros","type":"Literal","bound_global_parameter":null},{"name":"user_bias_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_kernel_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_bias_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_activity_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"kernel_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_kernel_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_bias_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-14806"}],"output_ports":[{"name":"data","node_id":"-14806"}],"cacheable":false,"seq_num":10,"comment":"","comment_collapsed":true},{"node_id":"-14834","module_id":"BigQuantSpace.dl_layer_dropout.dl_layer_dropout-v1","parameters":[{"name":"rate","value":"0.4","type":"Literal","bound_global_parameter":null},{"name":"noise_shape","value":"","type":"Literal","bound_global_parameter":null},{"name":"seed","value":"","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-14834"}],"output_ports":[{"name":"data","node_id":"-14834"}],"cacheable":false,"seq_num":11,"comment":"","comment_collapsed":true},{"node_id":"-14841","module_id":"BigQuantSpace.dl_layer_dropout.dl_layer_dropout-v1","parameters":[{"name":"rate","value":"0.8","type":"Literal","bound_global_parameter":null},{"name":"noise_shape","value":"","type":"Literal","bound_global_parameter":null},{"name":"seed","value":"","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-14841"}],"output_ports":[{"name":"data","node_id":"-14841"}],"cacheable":false,"seq_num":12,"comment":"","comment_collapsed":true},{"node_id":"-403","module_id":"BigQuantSpace.dl_layer_reshape.dl_layer_reshape-v1","parameters":[{"name":"target_shape","value":"50,5,1","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-403"}],"output_ports":[{"name":"data","node_id":"-403"}],"cacheable":false,"seq_num":13,"comment":"","comment_collapsed":true},{"node_id":"-408","module_id":"BigQuantSpace.dl_layer_conv2d.dl_layer_conv2d-v1","parameters":[{"name":"filters","value":"32","type":"Literal","bound_global_parameter":null},{"name":"kernel_size","value":"3,5","type":"Literal","bound_global_parameter":null},{"name":"strides","value":"1,1","type":"Literal","bound_global_parameter":null},{"name":"padding","value":"valid","type":"Literal","bound_global_parameter":null},{"name":"data_format","value":"channels_last","type":"Literal","bound_global_parameter":null},{"name":"dilation_rate","value":"1,1","type":"Literal","bound_global_parameter":null},{"name":"activation","value":"relu","type":"Literal","bound_global_parameter":null},{"name":"user_activation","value":"","type":"Literal","bound_global_parameter":null},{"name":"use_bias","value":"True","type":"Literal","bound_global_parameter":null},{"name":"kernel_initializer","value":"glorot_uniform","type":"Literal","bound_global_parameter":null},{"name":"user_kernel_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_initializer","value":"Zeros","type":"Literal","bound_global_parameter":null},{"name":"user_bias_initializer","value":"","type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"kernel_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_kernel_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"bias_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_bias_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer","value":"None","type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer_l1","value":0,"type":"Literal","bound_global_parameter":null},{"name":"activity_regularizer_l2","value":0,"type":"Literal","bound_global_parameter":null},{"name":"user_activity_regularizer","value":"","type":"Literal","bound_global_parameter":null},{"name":"kernel_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_kernel_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"bias_constraint","value":"None","type":"Literal","bound_global_parameter":null},{"name":"user_bias_constraint","value":"","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-408"}],"output_ports":[{"name":"data","node_id":"-408"}],"cacheable":false,"seq_num":14,"comment":"","comment_collapsed":true},{"node_id":"-446","module_id":"BigQuantSpace.dl_layer_reshape.dl_layer_reshape-v1","parameters":[{"name":"target_shape","value":"48,32","type":"Literal","bound_global_parameter":null},{"name":"name","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"inputs","node_id":"-446"}],"output_ports":[{"name":"data","node_id":"-446"}],"cacheable":false,"seq_num":15,"comment":"","comment_collapsed":true},{"node_id":"-2290","module_id":"BigQuantSpace.join.join-v3","parameters":[{"name":"on","value":"date","type":"Literal","bound_global_parameter":null},{"name":"how","value":"inner","type":"Literal","bound_global_parameter":null},{"name":"sort","value":"True","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"data1","node_id":"-2290"},{"name":"data2","node_id":"-2290"}],"output_ports":[{"name":"data","node_id":"-2290"}],"cacheable":true,"seq_num":17,"comment":"标注特征连接","comment_collapsed":false},{"node_id":"-2296","module_id":"BigQuantSpace.dropnan.dropnan-v1","parameters":[],"input_ports":[{"name":"input_data","node_id":"-2296"}],"output_ports":[{"name":"data","node_id":"-2296"}],"cacheable":true,"seq_num":18,"comment":"去掉为nan的数据","comment_collapsed":true},{"node_id":"-620","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2017-06-02","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"2017-10-30","type":"Literal","bound_global_parameter":null},{"name":"market","value":"CN_STOCK_A","type":"Literal","bound_global_parameter":null},{"name":"instrument_list","value":"600009.SHA","type":"Literal","bound_global_parameter":null},{"name":"max_count","value":0,"type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"rolling_conf","node_id":"-620"}],"output_ports":[{"name":"data","node_id":"-620"}],"cacheable":true,"seq_num":24,"comment":"","comment_collapsed":true},{"node_id":"-692","module_id":"BigQuantSpace.derived_feature_extractor.derived_feature_extractor-v3","parameters":[{"name":"date_col","value":"date","type":"Literal","bound_global_parameter":null},{"name":"instrument_col","value":"instrument","type":"Literal","bound_global_parameter":null},{"name":"drop_na","value":"False","type":"Literal","bound_global_parameter":null},{"name":"remove_extra_columns","value":"False","type":"Literal","bound_global_parameter":null},{"name":"user_functions","value":"{}","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-692"},{"name":"features","node_id":"-692"}],"output_ports":[{"name":"data","node_id":"-692"}],"cacheable":true,"seq_num":26,"comment":"","comment_collapsed":true},{"node_id":"-281","module_id":"BigQuantSpace.trade.trade-v4","parameters":[{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"initialize","value":"# 回测引擎:初始化函数,只执行一次\ndef bigquant_run(context):\n # 加载预测数据\n context.prediction = context.options['data'].read_df()\n\n # 系统已经设置了默认的交易手续费和滑点,要修改手续费可使用如下函数\n context.set_commission(PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))","type":"Literal","bound_global_parameter":null},{"name":"handle_data","value":"# 回测引擎:每日数据处理函数,每天执行一次\ndef bigquant_run(context, data):\n # 按日期过滤得到今日的预测数据\n try:\n prediction = context.prediction[data.current_dt.strftime('%Y-%m-%d')]\n except KeyError as e:\n return\n \n instrument = context.instruments[0]\n sid = context.symbol(instrument)\n cur_position = context.portfolio.positions[sid].amount\n \n # 交易逻辑\n if prediction > 0.5 and cur_position == 0:\n context.order_target_percent(context.symbol(instrument), 1)\n print(data.current_dt, '买入!')\n \n elif prediction < 0.5 and cur_position > 0:\n context.order_target_percent(context.symbol(instrument), 0)\n print(data.current_dt, '卖出!')\n ","type":"Literal","bound_global_parameter":null},{"name":"prepare","value":"# 回测引擎:准备数据,只执行一次\ndef bigquant_run(context):\n pass\n","type":"Literal","bound_global_parameter":null},{"name":"before_trading_start","value":"# 回测引擎:每个单位时间开始前调用一次,即每日开盘前调用一次。\ndef bigquant_run(context, data):\n pass\n","type":"Literal","bound_global_parameter":null},{"name":"volume_limit","value":0.025,"type":"Literal","bound_global_parameter":null},{"name":"order_price_field_buy","value":"open","type":"Literal","bound_global_parameter":null},{"name":"order_price_field_sell","value":"close","type":"Literal","bound_global_parameter":null},{"name":"capital_base","value":1000000,"type":"Literal","bound_global_parameter":null},{"name":"auto_cancel_non_tradable_orders","value":"True","type":"Literal","bound_global_parameter":null},{"name":"data_frequency","value":"daily","type":"Literal","bound_global_parameter":null},{"name":"price_type","value":"真实价格","type":"Literal","bound_global_parameter":null},{"name":"product_type","value":"股票","type":"Literal","bound_global_parameter":null},{"name":"plot_charts","value":"True","type":"Literal","bound_global_parameter":null},{"name":"backtest_only","value":"False","type":"Literal","bound_global_parameter":null},{"name":"benchmark","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-281"},{"name":"options_data","node_id":"-281"},{"name":"history_ds","node_id":"-281"},{"name":"benchmark_ds","node_id":"-281"},{"name":"trading_calendar","node_id":"-281"}],"output_ports":[{"name":"raw_perf","node_id":"-281"}],"cacheable":false,"seq_num":1,"comment":"","comment_collapsed":true},{"node_id":"-333","module_id":"BigQuantSpace.dl_convert_to_bin.dl_convert_to_bin-v2","parameters":[{"name":"window_size","value":"50","type":"Literal","bound_global_parameter":null},{"name":"feature_clip","value":5,"type":"Literal","bound_global_parameter":null},{"name":"flatten","value":"False","type":"Literal","bound_global_parameter":null},{"name":"window_along_col","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-333"},{"name":"features","node_id":"-333"}],"output_ports":[{"name":"data","node_id":"-333"}],"cacheable":true,"seq_num":25,"comment":"","comment_collapsed":true},{"node_id":"-341","module_id":"BigQuantSpace.dl_convert_to_bin.dl_convert_to_bin-v2","parameters":[{"name":"window_size","value":"50","type":"Literal","bound_global_parameter":null},{"name":"feature_clip","value":5,"type":"Literal","bound_global_parameter":null},{"name":"flatten","value":"False","type":"Literal","bound_global_parameter":null},{"name":"window_along_col","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-341"},{"name":"features","node_id":"-341"}],"output_ports":[{"name":"data","node_id":"-341"}],"cacheable":true,"seq_num":27,"comment":"","comment_collapsed":true},{"node_id":"-289","module_id":"BigQuantSpace.advanced_auto_labeler.advanced_auto_labeler-v2","parameters":[{"name":"label_expr","value":"# #号开始的表示注释\n# 0. 每行一个,顺序执行,从第二个开始,可以使用label字段\n# 1. 可用数据字段见 https://bigquant.com/docs/develop/datasource/deprecated/history_data.html\n# 添加benchmark_前缀,可使用对应的benchmark数据\n# 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/develop/bigexpr/usage.html>`_\n\n# 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)\nwhere(shift(close, -10) / close -1>0,1,0)\n\n# 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)\nwhere(shift(high, -1) == shift(low, -1), NaN, label)\n","type":"Literal","bound_global_parameter":null},{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"benchmark","value":"000300.SHA","type":"Literal","bound_global_parameter":null},{"name":"drop_na_label","value":"True","type":"Literal","bound_global_parameter":null},{"name":"cast_label_int","value":"True","type":"Literal","bound_global_parameter":null},{"name":"user_functions","value":"{}","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-289"}],"output_ports":[{"name":"data","node_id":"-289"}],"cacheable":true,"seq_num":21,"comment":"","comment_collapsed":true},{"node_id":"-300","module_id":"BigQuantSpace.general_feature_extractor.general_feature_extractor-v7","parameters":[{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"before_start_days","value":90,"type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-300"},{"name":"features","node_id":"-300"}],"output_ports":[{"name":"data","node_id":"-300"}],"cacheable":true,"seq_num":22,"comment":"","comment_collapsed":true},{"node_id":"-307","module_id":"BigQuantSpace.derived_feature_extractor.derived_feature_extractor-v3","parameters":[{"name":"date_col","value":"date","type":"Literal","bound_global_parameter":null},{"name":"instrument_col","value":"instrument","type":"Literal","bound_global_parameter":null},{"name":"drop_na","value":"False","type":"Literal","bound_global_parameter":null},{"name":"remove_extra_columns","value":"False","type":"Literal","bound_global_parameter":null},{"name":"user_functions","value":"{}","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-307"},{"name":"features","node_id":"-307"}],"output_ports":[{"name":"data","node_id":"-307"}],"cacheable":true,"seq_num":23,"comment":"","comment_collapsed":true},{"node_id":"-322","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2019-02-11","type":"Literal","bound_global_parameter":"交易日期"},{"name":"end_date","value":"2019-08-01","type":"Literal","bound_global_parameter":"交易日期"},{"name":"market","value":"CN_STOCK_A","type":"Literal","bound_global_parameter":null},{"name":"instrument_list","value":"600009.SHA","type":"Literal","bound_global_parameter":null},{"name":"max_count","value":0,"type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"rolling_conf","node_id":"-322"}],"output_ports":[{"name":"data","node_id":"-322"}],"cacheable":true,"seq_num":28,"comment":"","comment_collapsed":true},{"node_id":"-330","module_id":"BigQuantSpace.dropnan.dropnan-v1","parameters":[],"input_ports":[{"name":"input_data","node_id":"-330"}],"output_ports":[{"name":"data","node_id":"-330"}],"cacheable":true,"seq_num":20,"comment":"","comment_collapsed":true},{"node_id":"-293","module_id":"BigQuantSpace.dl_model_init.dl_model_init-v1","parameters":[],"input_ports":[{"name":"inputs","node_id":"-293"},{"name":"outputs","node_id":"-293"}],"output_ports":[{"name":"data","node_id":"-293"}],"cacheable":false,"seq_num":5,"comment":"","comment_collapsed":true},{"node_id":"-443","module_id":"BigQuantSpace.cached.cached-v3","parameters":[{"name":"run","value":"def bigquant_run(input_1, input_2, input_3):\n # 示例代码如下。在这里编写您的代码\n data = pd.read_pickle('/home/bigquant/work/userlib/model_0715.csv')\n model_ds = DataSource.write_pickle(data.iloc[0].to_dict())\n return Outputs(data_1=model_ds)","type":"Literal","bound_global_parameter":null},{"name":"post_run","value":"# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。\ndef bigquant_run(outputs):\n return outputs\n","type":"Literal","bound_global_parameter":null},{"name":"input_ports","value":"","type":"Literal","bound_global_parameter":null},{"name":"params","value":"{}","type":"Literal","bound_global_parameter":null},{"name":"output_ports","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_1","node_id":"-443"},{"name":"input_2","node_id":"-443"},{"name":"input_3","node_id":"-443"}],"output_ports":[{"name":"data_1","node_id":"-443"},{"name":"data_2","node_id":"-443"},{"name":"data_3","node_id":"-443"}],"cacheable":true,"seq_num":19,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='-214' Position='1012,714,200,200'/><node_position Node='-210' Position='346,-367,200,200'/><node_position Node='-218' Position='277,69,200,200'/><node_position Node='-316' Position='1229,-86,200,200'/><node_position Node='-320' Position='611.8012084960938,477.64337158203125,200,200'/><node_position Node='-332' Position='816,622,200,200'/><node_position Node='-2295' Position='1006,-264,200,200'/><node_position Node='-259' Position='281,387,200,200'/><node_position Node='-14806' Position='279,211,200,200'/><node_position Node='-14834' Position='279,146,200,200'/><node_position Node='-14841' Position='282,301,200,200'/><node_position Node='-403' Position='279,-194,200,200'/><node_position Node='-408' Position='280,-107,200,200'/><node_position Node='-446' Position='278,-23,200,200'/><node_position Node='-2290' Position='735,138,200,200'/><node_position Node='-2296' Position='734,242,200,200'/><node_position Node='-620' Position='718,-171,200,200'/><node_position Node='-692' Position='1251,-7,200,200'/><node_position Node='-281' Position='1238,838,200,200'/><node_position Node='-333' Position='753,329,200,200'/><node_position Node='-341' Position='1045,322,200,200'/><node_position Node='-289' Position='596,-12,200,200'/><node_position Node='-300' Position='860,-82,200,200'/><node_position Node='-307' Position='871,10,200,200'/><node_position Node='-322' Position='1239,-198,200,200'/><node_position Node='-330' Position='1250,84,200,200'/><node_position Node='-293' Position='264,454,200,200'/><node_position Node='-443' Position='457.1927490234375,581.8800659179688,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
[2021-07-15 19:42:01.047691] INFO: moduleinvoker: input_features.v1 开始运行..
[2021-07-15 19:42:01.063827] INFO: moduleinvoker: 命中缓存
[2021-07-15 19:42:01.065362] INFO: moduleinvoker: input_features.v1 运行完成[0.017683s].
[2021-07-15 19:42:01.067717] INFO: moduleinvoker: instruments.v2 开始运行..
[2021-07-15 19:42:01.104850] INFO: moduleinvoker: 命中缓存
[2021-07-15 19:42:01.106354] INFO: moduleinvoker: instruments.v2 运行完成[0.038648s].
[2021-07-15 19:42:01.123635] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-07-15 19:42:01.135958] INFO: moduleinvoker: 命中缓存
[2021-07-15 19:42:01.137326] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.013697s].
[2021-07-15 19:42:01.139942] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2021-07-15 19:42:01.701356] INFO: moduleinvoker: 命中缓存
[2021-07-15 19:42:01.703243] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.563297s].
[2021-07-15 19:42:01.706368] INFO: moduleinvoker: dropnan.v1 开始运行..
[2021-07-15 19:42:01.731511] INFO: moduleinvoker: 命中缓存
[2021-07-15 19:42:01.732890] INFO: moduleinvoker: dropnan.v1 运行完成[0.026521s].
[2021-07-15 19:42:01.744520] INFO: moduleinvoker: dl_convert_to_bin.v2 开始运行..
[2021-07-15 19:42:01.767133] INFO: moduleinvoker: 命中缓存
[2021-07-15 19:42:01.768594] INFO: moduleinvoker: dl_convert_to_bin.v2 运行完成[0.024076s].
[2021-07-15 19:42:01.773789] INFO: moduleinvoker: cached.v3 开始运行..
[2021-07-15 19:42:01.786647] INFO: moduleinvoker: 命中缓存
[2021-07-15 19:42:01.787897] INFO: moduleinvoker: cached.v3 运行完成[0.014108s].
[2021-07-15 19:42:01.789816] INFO: moduleinvoker: dl_model_predict.v1 开始运行..
[2021-07-15 19:42:02.400731] INFO: moduleinvoker: dl_model_predict.v1 运行完成[0.610893s].
[2021-07-15 19:42:02.406433] INFO: moduleinvoker: cached.v3 开始运行..
[2021-07-15 19:42:02.567809] INFO: moduleinvoker: cached.v3 运行完成[0.161365s].
[2021-07-15 19:42:02.633161] INFO: moduleinvoker: backtest.v8 开始运行..
[2021-07-15 19:42:02.643054] INFO: backtest: biglearning backtest:V8.5.0
[2021-07-15 19:42:02.644390] INFO: backtest: product_type:stock by specified
[2021-07-15 19:42:03.256866] INFO: moduleinvoker: cached.v2 开始运行..
[2021-07-15 19:42:03.271663] INFO: moduleinvoker: 命中缓存
[2021-07-15 19:42:03.273007] INFO: moduleinvoker: cached.v2 运行完成[0.016151s].
[2021-07-15 19:42:03.439592] INFO: algo: TradingAlgorithm V1.8.3
[2021-07-15 19:42:03.571366] INFO: algo: trading transform...
[2021-07-15 19:42:03.846560] INFO: Performance: Simulated 119 trading days out of 119.
[2021-07-15 19:42:03.847862] INFO: Performance: first open: 2019-02-11 09:30:00+00:00
[2021-07-15 19:42:03.848884] INFO: Performance: last close: 2019-08-01 15:00:00+00:00
[2021-07-15 19:42:09.051980] INFO: moduleinvoker: backtest.v8 运行完成[6.418821s].
[2021-07-15 19:42:09.054052] INFO: moduleinvoker: trade.v4 运行完成[6.482973s].
1/1 - 0s
DataSource(97f2e7c2b9a34cba952bb5fd2206cb63T)
2019-02-11 15:00:00+00:00 买入!
- 收益率63.37%
- 年化收益率182.77%
- 基准收益率17.12%
- 阿尔法1.19
- 贝塔0.89
- 夏普比率2.88
- 胜率1.0
- 盈亏比0.0
- 收益波动率37.57%
- 信息比率0.15
- 最大回撤7.97%
bigcharts-data-start/{"__type":"tabs","__id":"bigchart-874cc82a698e4e989ffd8848d433e4d6"}/bigcharts-data-end