克隆策略

    {"Description":"实验创建于2018/3/7","Summary":"","Graph":{"EdgesInternal":[{"DestinationInputPortId":"-2290:data2","SourceOutputPortId":"-88:data"},{"DestinationInputPortId":"-629:options_data","SourceOutputPortId":"-214:data_1"},{"DestinationInputPortId":"-316:inputs","SourceOutputPortId":"-210:data"},{"DestinationInputPortId":"-403:inputs","SourceOutputPortId":"-210:data"},{"DestinationInputPortId":"-14806:inputs","SourceOutputPortId":"-218:data"},{"DestinationInputPortId":"-320:input_model","SourceOutputPortId":"-316:data"},{"DestinationInputPortId":"-332:trained_model","SourceOutputPortId":"-320:data"},{"DestinationInputPortId":"-214:input_1","SourceOutputPortId":"-332:data"},{"DestinationInputPortId":"-88:features","SourceOutputPortId":"-2295:data"},{"DestinationInputPortId":"-2312:features","SourceOutputPortId":"-2295:data"},{"DestinationInputPortId":"-2317:features","SourceOutputPortId":"-2295:data"},{"DestinationInputPortId":"-316:outputs","SourceOutputPortId":"-259:data"},{"DestinationInputPortId":"-14841:inputs","SourceOutputPortId":"-14806:data"},{"DestinationInputPortId":"-408:inputs","SourceOutputPortId":"-403:data"},{"DestinationInputPortId":"-8259:inputs","SourceOutputPortId":"-408:data"},{"DestinationInputPortId":"-2951:inputs","SourceOutputPortId":"-446:data"},{"DestinationInputPortId":"-2290:data1","SourceOutputPortId":"-1966:data_1"},{"DestinationInputPortId":"-2296:input_data","SourceOutputPortId":"-2290:data"},{"DestinationInputPortId":"-2300:input_data","SourceOutputPortId":"-2296:data"},{"DestinationInputPortId":"-2306:input_data","SourceOutputPortId":"-2296:data"},{"DestinationInputPortId":"-2312:input_data","SourceOutputPortId":"-2300:data"},{"DestinationInputPortId":"-214:input_3","SourceOutputPortId":"-2306:data"},{"DestinationInputPortId":"-2317:input_data","SourceOutputPortId":"-2306:data"},{"DestinationInputPortId":"-320:training_data","SourceOutputPortId":"-2312:data"},{"DestinationInputPortId":"-214:input_2","SourceOutputPortId":"-2317:data"},{"DestinationInputPortId":"-332:input_data","SourceOutputPortId":"-2317:data"},{"DestinationInputPortId":"-88:input_data","SourceOutputPortId":"-616:data_1"},{"DestinationInputPortId":"-1966:input_1","SourceOutputPortId":"-616:data_1"},{"DestinationInputPortId":"-616:input_1","SourceOutputPortId":"-620:data"},{"DestinationInputPortId":"-629:instruments","SourceOutputPortId":"-620:data"},{"DestinationInputPortId":"-259:inputs","SourceOutputPortId":"-14841:data"},{"DestinationInputPortId":"-446:inputs","SourceOutputPortId":"-8259:data"},{"DestinationInputPortId":"-2984:inputs","SourceOutputPortId":"-2951:data"},{"DestinationInputPortId":"-3017:inputs","SourceOutputPortId":"-2984:data"},{"DestinationInputPortId":"-218:inputs","SourceOutputPortId":"-3017:data"}],"ModuleNodes":[{"Id":"-88","ModuleId":"BigQuantSpace.derived_feature_extractor.derived_feature_extractor-v2","ModuleParameters":[{"Name":"date_col","Value":"date","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"instrument_col","Value":"instrument","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_functions","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-88"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-88"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-88","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":1,"IsPartOfPartialRun":null,"Comment":"计算需要使用的特征","CommentCollapsed":true},{"Id":"-214","ModuleId":"BigQuantSpace.cached.cached-v3","ModuleParameters":[{"Name":"run","Value":"# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端\ndef bigquant_run(input_1, input_2, input_3):\n input_series = input_1\n input_df = input_2\n test_data = input_df.read_pickle()\n pred_label = input_series.read_pickle()\n \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 pred_label = np.where(pred_label>0.5,1,0)\n labels = test_data['y']\n print('准确率%s'%(np.mean(pred_label==labels)))\n \n return Outputs(data_1=ds)\n","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-214"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-214"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_3","NodeId":"-214"}],"OutputPortsInternal":[{"Name":"data_1","NodeId":"-214","OutputType":null},{"Name":"data_2","NodeId":"-214","OutputType":null},{"Name":"data_3","NodeId":"-214","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":2,"IsPartOfPartialRun":null,"Comment":"模型预测结果输出","CommentCollapsed":true},{"Id":"-210","ModuleId":"BigQuantSpace.dl_layer_input.dl_layer_input-v1","ModuleParameters":[{"Name":"shape","Value":"50,5","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"batch_shape","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"dtype","Value":"float32","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"sparse","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-210"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-210","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":3,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-218","ModuleId":"BigQuantSpace.dl_layer_lstm.dl_layer_lstm-v1","ModuleParameters":[{"Name":"units","Value":"8","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activation","Value":"tanh","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activation","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"recurrent_activation","Value":"hard_sigmoid","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_recurrent_activation","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"use_bias","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_initializer","Value":"glorot_uniform","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"recurrent_initializer","Value":"Orthogonal","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_recurrent_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_initializer","Value":"Ones","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"unit_forget_bias","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"recurrent_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"recurrent_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"recurrent_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_recurrent_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activity_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"recurrent_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_recurrent_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"dropout","Value":"0","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"recurrent_dropout","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"return_sequences","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"implementation","Value":"0","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-218"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-218","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":4,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-316","ModuleId":"BigQuantSpace.dl_model_init.dl_model_init-v1","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-316"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"outputs","NodeId":"-316"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-316","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":5,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-320","ModuleId":"BigQuantSpace.dl_model_train.dl_model_train-v1","ModuleParameters":[{"Name":"optimizer","Value":"RMSprop","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_optimizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"loss","Value":"binary_crossentropy","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_loss","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"metrics","Value":"accuracy","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"batch_size","Value":"2048","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"epochs","Value":"30","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"n_gpus","Value":"2","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"verbose","Value":"1:输出进度条记录","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_model","NodeId":"-320"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"training_data","NodeId":"-320"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"validation_data","NodeId":"-320"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-320","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":6,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-332","ModuleId":"BigQuantSpace.dl_model_predict.dl_model_predict-v1","ModuleParameters":[{"Name":"batch_size","Value":"512","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"n_gpus","Value":"2","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"verbose","Value":"2:每个epoch输出一行记录","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"trained_model","NodeId":"-332"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-332"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-332","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":7,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2295","ModuleId":"BigQuantSpace.input_features.input_features-v1","ModuleParameters":[{"Name":"features","Value":"(close/shift(close,1)-1)*10\n(high/shift(high,1)-1)*10\n(low/shift(low,1)-1)*10\n(open/shift(open,1)-1)*10\n(volume/shift(volume,1)-1)*10","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features_ds","NodeId":"-2295"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2295","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":8,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-259","ModuleId":"BigQuantSpace.dl_layer_dense.dl_layer_dense-v1","ModuleParameters":[{"Name":"units","Value":"1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activation","Value":"sigmoid","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activation","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"use_bias","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_initializer","Value":"glorot_uniform","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_initializer","Value":"Zeros","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activity_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-259"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-259","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":9,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-14806","ModuleId":"BigQuantSpace.dl_layer_dense.dl_layer_dense-v1","ModuleParameters":[{"Name":"units","Value":"32","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activation","Value":"tanh","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activation","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"use_bias","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_initializer","Value":"glorot_uniform","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_initializer","Value":"Zeros","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activity_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-14806"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-14806","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":10,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-403","ModuleId":"BigQuantSpace.dl_layer_reshape.dl_layer_reshape-v1","ModuleParameters":[{"Name":"target_shape","Value":"50,5,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-403"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-403","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":11,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-408","ModuleId":"BigQuantSpace.dl_layer_conv2d.dl_layer_conv2d-v1","ModuleParameters":[{"Name":"filters","Value":"32","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_size","Value":"3,5","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"strides","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"padding","Value":"valid","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"data_format","Value":"channels_last","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"dilation_rate","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activation","Value":"relu","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activation","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"use_bias","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_initializer","Value":"glorot_uniform","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_initializer","Value":"Zeros","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activity_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-408"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-408","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":12,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-446","ModuleId":"BigQuantSpace.dl_layer_reshape.dl_layer_reshape-v1","ModuleParameters":[{"Name":"target_shape","Value":"48,16,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-446"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-446","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":13,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-1966","ModuleId":"BigQuantSpace.cached.cached-v3","ModuleParameters":[{"Name":"run","Value":"# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端\ndef bigquant_run(input_1, input_2, input_3):\n input_ds = input_1\n df = input_ds.read_df()\n df['return'] = (df.close.shift(-10)/df.close - 1)\n df['label'] = np.where(df['return'] > 0, 1, 0)\n ds = DataSource.write_df(df)\n return Outputs(data_1=ds)\n\n","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-1966"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-1966"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_3","NodeId":"-1966"}],"OutputPortsInternal":[{"Name":"data_1","NodeId":"-1966","OutputType":null},{"Name":"data_2","NodeId":"-1966","OutputType":null},{"Name":"data_3","NodeId":"-1966","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":14,"IsPartOfPartialRun":null,"Comment":"数据标注","CommentCollapsed":true},{"Id":"-2290","ModuleId":"BigQuantSpace.join.join-v3","ModuleParameters":[{"Name":"on","Value":"date","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"how","Value":"inner","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"sort","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"data1","NodeId":"-2290"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"data2","NodeId":"-2290"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2290","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":15,"IsPartOfPartialRun":null,"Comment":"标注特征连接","CommentCollapsed":true},{"Id":"-2296","ModuleId":"BigQuantSpace.dropnan.dropnan-v1","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-2296"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2296","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":16,"IsPartOfPartialRun":null,"Comment":"去掉为nan的数据","CommentCollapsed":true},{"Id":"-2300","ModuleId":"BigQuantSpace.filter.filter-v3","ModuleParameters":[{"Name":"expr","Value":"date<'2017-10-01'","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"output_left_data","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-2300"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2300","OutputType":null},{"Name":"left_data","NodeId":"-2300","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":17,"IsPartOfPartialRun":null,"Comment":"训练数据","CommentCollapsed":true},{"Id":"-2306","ModuleId":"BigQuantSpace.filter.filter-v3","ModuleParameters":[{"Name":"expr","Value":"date>'2017-10-01'","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"output_left_data","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-2306"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2306","OutputType":null},{"Name":"left_data","NodeId":"-2306","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":18,"IsPartOfPartialRun":null,"Comment":"测试数据","CommentCollapsed":true},{"Id":"-2312","ModuleId":"BigQuantSpace.dl_convert_to_bin.dl_convert_to_bin-v1","ModuleParameters":[{"Name":"window_size","Value":"50","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-2312"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-2312"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2312","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":19,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2317","ModuleId":"BigQuantSpace.dl_convert_to_bin.dl_convert_to_bin-v1","ModuleParameters":[{"Name":"window_size","Value":"50","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-2317"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-2317"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2317","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":20,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-616","ModuleId":"BigQuantSpace.cached.cached-v3","ModuleParameters":[{"Name":"run","Value":"# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端\ndef bigquant_run(input_1, input_2, input_3):\n fields = ['open','high','low','close','volume']\n input_1_df = input_1.read_pickle()\n ins = input_1_df['instruments']\n start_date = input_1_df['start_date']\n end_date = input_1_df['end_date']\n df = D.history_data(ins, start_date, end_date, fields) \n data_1 = DataSource.write_df(df)\n return Outputs(data_1=data_1, data_2=None, data_3=None)\n","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-616"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-616"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_3","NodeId":"-616"}],"OutputPortsInternal":[{"Name":"data_1","NodeId":"-616","OutputType":null},{"Name":"data_2","NodeId":"-616","OutputType":null},{"Name":"data_3","NodeId":"-616","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":21,"IsPartOfPartialRun":null,"Comment":"获取基本数据","CommentCollapsed":true},{"Id":"-620","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2013-01-01","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2018-03-07","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"market","Value":"CN_STOCK_A","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"instrument_list","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"max_count","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"rolling_conf","NodeId":"-620"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-620","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":22,"IsPartOfPartialRun":null,"Comment":"证券标的及起始截止时间","CommentCollapsed":true},{"Id":"-629","ModuleId":"BigQuantSpace.trade.trade-v3","ModuleParameters":[{"Name":"start_date","Value":"2017-12-15","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":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 \n \n instrument = context.instruments[0]\n sid = context.symbol(instrument)\n cur_position = context.portfolio.positions[sid].amount\n #print('date: ',data.current_dt, '持仓: ', cur_position)\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 ","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"prepare","Value":"# 回测引擎:准备数据,只执行一次\ndef bigquant_run(context):\n pass\n","ValueType":"Literal","LinkedGlobalParameter":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))","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"before_trading_start","Value":"# 回测引擎:每个单位时间开始前调用一次,即每日开盘前调用一次。\ndef bigquant_run(context, data):\n pass\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"volume_limit","Value":0.025,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"order_price_field_buy","Value":"open","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"order_price_field_sell","Value":"close","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"capital_base","Value":1000000,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"benchmark","Value":"000300.SHA","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"auto_cancel_non_tradable_orders","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"data_frequency","Value":"daily","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"price_type","Value":"真实价格","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"plot_charts","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"backtest_only","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"amount_integer","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-629"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"options_data","NodeId":"-629"}],"OutputPortsInternal":[{"Name":"raw_perf","NodeId":"-629","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":23,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-14841","ModuleId":"BigQuantSpace.dl_layer_dropout.dl_layer_dropout-v1","ModuleParameters":[{"Name":"rate","Value":"0.9","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"noise_shape","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"seed","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-14841"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-14841","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":24,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-8259","ModuleId":"BigQuantSpace.dl_layer_conv2d.dl_layer_conv2d-v1","ModuleParameters":[{"Name":"filters","Value":"16","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_size","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"strides","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"padding","Value":"valid","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"data_format","Value":"channels_last","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"dilation_rate","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activation","Value":"relu","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activation","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"use_bias","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_initializer","Value":"glorot_uniform","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_initializer","Value":"Zeros","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activity_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-8259"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-8259","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":25,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2951","ModuleId":"BigQuantSpace.dl_layer_conv2d.dl_layer_conv2d-v1","ModuleParameters":[{"Name":"filters","Value":"8","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_size","Value":"3,3","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"strides","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"padding","Value":"valid","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"data_format","Value":"channels_last","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"dilation_rate","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activation","Value":"relu","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activation","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"use_bias","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_initializer","Value":"glorot_uniform","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_initializer","Value":"Zeros","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activity_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-2951"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2951","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":26,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2984","ModuleId":"BigQuantSpace.dl_layer_conv2d.dl_layer_conv2d-v1","ModuleParameters":[{"Name":"filters","Value":"8","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_size","Value":"3,3","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"strides","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"padding","Value":"valid","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"data_format","Value":"channels_last","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"dilation_rate","Value":"1,1","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activation","Value":"relu","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activation","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"use_bias","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_initializer","Value":"glorot_uniform","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_initializer","Value":"Zeros","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_initializer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l1","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"activity_regularizer_l2","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_activity_regularizer","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"kernel_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_kernel_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bias_constraint","Value":"None","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_bias_constraint","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-2984"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2984","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":27,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-3017","ModuleId":"BigQuantSpace.dl_layer_reshape.dl_layer_reshape-v1","ModuleParameters":[{"Name":"target_shape","Value":"528,8","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"name","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"inputs","NodeId":"-3017"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-3017","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":28,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true}],"SerializedClientData":"<?xml version='1.0' encoding='utf-16'?><DataV1 xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><Meta /><NodePositions><NodePosition Node='-88' Position='1045,-226,200,200'/><NodePosition Node='-214' Position='1086,678,200,200'/><NodePosition Node='-210' Position='-30,-328,200,200'/><NodePosition Node='-218' Position='288,350,200,200'/><NodePosition Node='-316' Position='-1,619,200,200'/><NodePosition Node='-320' Position='294,731,200,200'/><NodePosition Node='-332' Position='598,864,200,200'/><NodePosition Node='-2295' Position='1074,-360,200,200'/><NodePosition Node='-259' Position='290,562,200,200'/><NodePosition Node='-14806' Position='280,415,200,200'/><NodePosition Node='-403' Position='275,-194,200,200'/><NodePosition Node='-408' Position='297,-95,200,200'/><NodePosition Node='-446' Position='304,55,200,200'/><NodePosition Node='-1966' Position='715,-224,200,200'/><NodePosition Node='-2290' Position='710,-72,200,200'/><NodePosition Node='-2296' Position='710,52,200,200'/><NodePosition Node='-2300' Position='707,211,200,200'/><NodePosition Node='-2306' Position='1057,212,200,200'/><NodePosition Node='-2312' Position='734,381,200,200'/><NodePosition Node='-2317' Position='1057,372,200,200'/><NodePosition Node='-616' Position='717,-345,200,200'/><NodePosition Node='-620' Position='431,-439,200,200'/><NodePosition Node='-629' Position='1026,1019,200,200'/><NodePosition Node='-14841' Position='282,491,200,200'/><NodePosition Node='-8259' Position='297,-18,200,200'/><NodePosition Node='-2951' Position='312,152,200,200'/><NodePosition Node='-2984' Position='315,226,200,200'/><NodePosition Node='-3017' Position='304,289,200,200'/></NodePositions><NodeGroups /></DataV1>"},"IsDraft":true,"ParentExperimentId":null,"WebService":{"IsWebServiceExperiment":false,"Inputs":[],"Outputs":[],"Parameters":[{"Name":"交易日期","Value":"","ParameterDefinition":{"Name":"交易日期","FriendlyName":"交易日期","DefaultValue":"","ParameterType":"String","HasDefaultValue":true,"IsOptional":true,"ParameterRules":[],"HasRules":false,"MarkupType":0,"CredentialDescriptor":null}}],"WebServiceGroupId":null,"SerializedClientData":"<?xml version='1.0' encoding='utf-16'?><DataV1 xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><Meta /><NodePositions></NodePositions><NodeGroups /></DataV1>"},"DisableNodesUpdate":false,"Category":"user","Tags":[],"IsPartialRun":false}
    In [23]:
    # 本代码由可视化策略环境自动生成 2018年3月8日 18:31
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    m3 = M.dl_layer_input.v1(
        shape='50,5',
        batch_shape='',
        dtype='float32',
        sparse=False,
        name=''
    )
    
    m11 = M.dl_layer_reshape.v1(
        inputs=m3.data,
        target_shape='50,5,1',
        name=''
    )
    
    m12 = M.dl_layer_conv2d.v1(
        inputs=m11.data,
        filters=32,
        kernel_size='3,5',
        strides='1,1',
        padding='valid',
        data_format='channels_last',
        dilation_rate='1,1',
        activation='relu',
        use_bias=True,
        kernel_initializer='glorot_uniform',
        bias_initializer='Zeros',
        kernel_regularizer='None',
        kernel_regularizer_l1=0,
        kernel_regularizer_l2=0,
        bias_regularizer='None',
        bias_regularizer_l1=0,
        bias_regularizer_l2=0,
        activity_regularizer='None',
        activity_regularizer_l1=0,
        activity_regularizer_l2=0,
        kernel_constraint='None',
        bias_constraint='None',
        name=''
    )
    
    m25 = M.dl_layer_conv2d.v1(
        inputs=m12.data,
        filters=16,
        kernel_size='1,1',
        strides='1,1',
        padding='valid',
        data_format='channels_last',
        dilation_rate='1,1',
        activation='relu',
        use_bias=True,
        kernel_initializer='glorot_uniform',
        bias_initializer='Zeros',
        kernel_regularizer='None',
        kernel_regularizer_l1=0,
        kernel_regularizer_l2=0,
        bias_regularizer='None',
        bias_regularizer_l1=0,
        bias_regularizer_l2=0,
        activity_regularizer='None',
        activity_regularizer_l1=0,
        activity_regularizer_l2=0,
        kernel_constraint='None',
        bias_constraint='None',
        name=''
    )
    
    m13 = M.dl_layer_reshape.v1(
        inputs=m25.data,
        target_shape='48,16,1',
        name=''
    )
    
    m26 = M.dl_layer_conv2d.v1(
        inputs=m13.data,
        filters=8,
        kernel_size='3,3',
        strides='1,1',
        padding='valid',
        data_format='channels_last',
        dilation_rate='1,1',
        activation='relu',
        use_bias=True,
        kernel_initializer='glorot_uniform',
        bias_initializer='Zeros',
        kernel_regularizer='None',
        kernel_regularizer_l1=0,
        kernel_regularizer_l2=0,
        bias_regularizer='None',
        bias_regularizer_l1=0,
        bias_regularizer_l2=0,
        activity_regularizer='None',
        activity_regularizer_l1=0,
        activity_regularizer_l2=0,
        kernel_constraint='None',
        bias_constraint='None',
        name=''
    )
    
    m27 = M.dl_layer_conv2d.v1(
        inputs=m26.data,
        filters=8,
        kernel_size='3,3',
        strides='1,1',
        padding='valid',
        data_format='channels_last',
        dilation_rate='1,1',
        activation='relu',
        use_bias=True,
        kernel_initializer='glorot_uniform',
        bias_initializer='Zeros',
        kernel_regularizer='None',
        kernel_regularizer_l1=0,
        kernel_regularizer_l2=0,
        bias_regularizer='None',
        bias_regularizer_l1=0,
        bias_regularizer_l2=0,
        activity_regularizer='None',
        activity_regularizer_l1=0,
        activity_regularizer_l2=0,
        kernel_constraint='None',
        bias_constraint='None',
        name=''
    )
    
    m28 = M.dl_layer_reshape.v1(
        inputs=m27.data,
        target_shape='528,8',
        name=''
    )
    
    m4 = M.dl_layer_lstm.v1(
        inputs=m28.data,
        units=8,
        activation='tanh',
        recurrent_activation='hard_sigmoid',
        use_bias=True,
        kernel_initializer='glorot_uniform',
        recurrent_initializer='Orthogonal',
        bias_initializer='Ones',
        unit_forget_bias=True,
        kernel_regularizer='None',
        kernel_regularizer_l1=0,
        kernel_regularizer_l2=0,
        recurrent_regularizer='None',
        recurrent_regularizer_l1=0,
        recurrent_regularizer_l2=0,
        bias_regularizer='None',
        bias_regularizer_l1=0,
        bias_regularizer_l2=0,
        activity_regularizer='None',
        activity_regularizer_l1=0,
        activity_regularizer_l2=0,
        kernel_constraint='None',
        recurrent_constraint='None',
        bias_constraint='None',
        dropout=0,
        recurrent_dropout=0,
        return_sequences=False,
        implementation='0',
        name=''
    )
    
    m10 = M.dl_layer_dense.v1(
        inputs=m4.data,
        units=32,
        activation='tanh',
        use_bias=True,
        kernel_initializer='glorot_uniform',
        bias_initializer='Zeros',
        kernel_regularizer='None',
        kernel_regularizer_l1=0,
        kernel_regularizer_l2=0,
        bias_regularizer='None',
        bias_regularizer_l1=0,
        bias_regularizer_l2=0,
        activity_regularizer='None',
        activity_regularizer_l1=0,
        activity_regularizer_l2=0,
        kernel_constraint='None',
        bias_constraint='None',
        name=''
    )
    
    m24 = M.dl_layer_dropout.v1(
        inputs=m10.data,
        rate=0.9,
        noise_shape='',
        name=''
    )
    
    m9 = M.dl_layer_dense.v1(
        inputs=m24.data,
        units=1,
        activation='sigmoid',
        use_bias=True,
        kernel_initializer='glorot_uniform',
        bias_initializer='Zeros',
        kernel_regularizer='None',
        kernel_regularizer_l1=0,
        kernel_regularizer_l2=0,
        bias_regularizer='None',
        bias_regularizer_l1=0,
        bias_regularizer_l2=0,
        activity_regularizer='None',
        activity_regularizer_l1=0,
        activity_regularizer_l2=0,
        kernel_constraint='None',
        bias_constraint='None',
        name=''
    )
    
    m5 = M.dl_model_init.v1(
        inputs=m3.data,
        outputs=m9.data
    )
    
    m8 = M.input_features.v1(
        features="""(close/shift(close,1)-1)*10
    (high/shift(high,1)-1)*10
    (low/shift(low,1)-1)*10
    (open/shift(open,1)-1)*10
    (volume/shift(volume,1)-1)*10"""
    )
    
    m22 = M.instruments.v2(
        start_date='2013-01-01',
        end_date='2018-03-07',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    # Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
    def m21_run_bigquant_run(input_1, input_2, input_3):
        fields = ['open','high','low','close','volume']
        input_1_df = input_1.read_pickle()
        ins = input_1_df['instruments']
        start_date = input_1_df['start_date']
        end_date = input_1_df['end_date']
        df = D.history_data(ins, start_date, end_date, fields)     
        data_1 = DataSource.write_df(df)
        return Outputs(data_1=data_1, data_2=None, data_3=None)
    
    m21 = M.cached.v3(
        input_1=m22.data,
        run=m21_run_bigquant_run
    )
    
    m1 = M.derived_feature_extractor.v2(
        input_data=m21.data_1,
        features=m8.data,
        date_col='date',
        instrument_col='instrument',
        user_functions={}
    )
    
    # Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
    def m14_run_bigquant_run(input_1, input_2, input_3):
        input_ds = input_1
        df = input_ds.read_df()
        df['return'] = (df.close.shift(-10)/df.close - 1)
        df['label'] = np.where(df['return'] > 0, 1, 0)
        ds = DataSource.write_df(df)
        return Outputs(data_1=ds)
    
    
    m14 = M.cached.v3(
        input_1=m21.data_1,
        run=m14_run_bigquant_run
    )
    
    m15 = M.join.v3(
        data1=m14.data_1,
        data2=m1.data,
        on='date',
        how='inner',
        sort=True
    )
    
    m16 = M.dropnan.v1(
        input_data=m15.data
    )
    
    m17 = M.filter.v3(
        input_data=m16.data,
        expr='date<\'2017-10-01\'',
        output_left_data=False
    )
    
    m19 = M.dl_convert_to_bin.v1(
        input_data=m17.data,
        features=m8.data,
        window_size=50
    )
    
    m6 = M.dl_model_train.v1(
        input_model=m5.data,
        training_data=m19.data,
        optimizer='RMSprop',
        loss='binary_crossentropy',
        metrics='accuracy',
        batch_size=2048,
        epochs=30,
        n_gpus=2,
        verbose='1:输出进度条记录'
    )
    
    m18 = M.filter.v3(
        input_data=m16.data,
        expr='date>\'2017-10-01\'',
        output_left_data=False
    )
    
    m20 = M.dl_convert_to_bin.v1(
        input_data=m18.data,
        features=m8.data,
        window_size=50
    )
    
    m7 = M.dl_model_predict.v1(
        trained_model=m6.data,
        input_data=m20.data,
        batch_size=512,
        n_gpus=2,
        verbose='2:每个epoch输出一行记录'
    )
    
    # Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
    def m2_run_bigquant_run(input_1, input_2, input_3):
        input_series = input_1
        input_df = input_2
        test_data = input_df.read_pickle()
        pred_label = input_series.read_pickle()
      
        pred_result = pred_label.reshape(pred_label.shape[0]) 
        dt = input_3.read_df()['date'][-1*len(pred_result):]
        pred_df = pd.Series(pred_result, index=dt)
        ds = DataSource.write_df(pred_df)
        
        pred_label = np.where(pred_label>0.5,1,0)
        labels = test_data['y']
        print('准确率%s'%(np.mean(pred_label==labels)))
        
        return Outputs(data_1=ds)
    
    m2 = M.cached.v3(
        input_1=m7.data,
        input_2=m20.data,
        input_3=m18.data,
        run=m2_run_bigquant_run
    )
    
    # 回测引擎:每日数据处理函数,每天执行一次
    def m23_handle_data_bigquant_run(context, data):
        # 按日期过滤得到今日的预测数据
        try:
            prediction = context.prediction[data.current_dt.strftime('%Y-%m-%d')]
        except KeyError as e:
            return
    
       
        
        instrument = context.instruments[0]
        sid = context.symbol(instrument)
        cur_position = context.portfolio.positions[sid].amount
        #print('date: ',data.current_dt, '持仓: ', cur_position)
        
        # 交易逻辑
        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 m23_prepare_bigquant_run(context):
        pass
    
    # 回测引擎:初始化函数,只执行一次
    def m23_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 m23_before_trading_start_bigquant_run(context, data):
        pass
    
    m23 = M.trade.v3(
        instruments=m22.data,
        options_data=m2.data_1,
        start_date='2017-12-15',
        end_date='',
        handle_data=m23_handle_data_bigquant_run,
        prepare=m23_prepare_bigquant_run,
        initialize=m23_initialize_bigquant_run,
        before_trading_start=m23_before_trading_start_bigquant_run,
        volume_limit=0.025,
        order_price_field_buy='open',
        order_price_field_sell='close',
        capital_base=1000000,
        benchmark='000300.SHA',
        auto_cancel_non_tradable_orders=True,
        data_frequency='daily',
        price_type='真实价格',
        plot_charts=True,
        backtest_only=False,
        amount_integer=False
    )
    
    [2018-03-08 14:27:26.285046] INFO: bigquant: cached.v3 开始运行..
    [2018-03-08 14:27:26.289621] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.290825] INFO: bigquant: cached.v3 运行完成[0.00587s].
    [2018-03-08 14:27:26.296910] INFO: bigquant: input_features.v1 开始运行..
    [2018-03-08 14:27:26.301760] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.303113] INFO: bigquant: input_features.v1 运行完成[0.006156s].
    [2018-03-08 14:27:26.309544] INFO: bigquant: instruments.v2 开始运行..
    [2018-03-08 14:27:26.312484] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.313917] INFO: bigquant: instruments.v2 运行完成[0.004358s].
    [2018-03-08 14:27:26.324425] INFO: bigquant: cached.v3 开始运行..
    [2018-03-08 14:27:26.327980] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.329137] INFO: bigquant: cached.v3 运行完成[0.004735s].
    [2018-03-08 14:27:26.336912] INFO: bigquant: derived_feature_extractor.v2 开始运行..
    [2018-03-08 14:27:26.339761] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.340932] INFO: bigquant: derived_feature_extractor.v2 运行完成[0.00402s].
    [2018-03-08 14:27:26.350496] INFO: bigquant: cached.v3 开始运行..
    [2018-03-08 14:27:26.353067] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.354053] INFO: bigquant: cached.v3 运行完成[0.003536s].
    [2018-03-08 14:27:26.362197] INFO: bigquant: join.v3 开始运行..
    [2018-03-08 14:27:26.364627] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.365781] INFO: bigquant: join.v3 运行完成[0.003574s].
    [2018-03-08 14:27:26.375852] INFO: bigquant: dropnan.v1 开始运行..
    [2018-03-08 14:27:26.379487] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.380869] INFO: bigquant: dropnan.v1 运行完成[0.005032s].
    [2018-03-08 14:27:26.389641] INFO: bigquant: filter.v3 开始运行..
    [2018-03-08 14:27:26.393387] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.394493] INFO: bigquant: filter.v3 运行完成[0.004853s].
    [2018-03-08 14:27:26.407366] INFO: bigquant: dl_convert_to_bin.v1 开始运行..
    [2018-03-08 14:27:26.410878] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.412038] INFO: bigquant: dl_convert_to_bin.v1 运行完成[0.004679s].
    [2018-03-08 14:27:26.421284] INFO: bigquant: dl_model_train.v1 开始运行..
    [2018-03-08 14:27:26.425139] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.426660] INFO: bigquant: dl_model_train.v1 运行完成[0.005376s].
    [2018-03-08 14:27:26.435867] INFO: bigquant: filter.v3 开始运行..
    [2018-03-08 14:27:26.439345] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.440588] INFO: bigquant: filter.v3 运行完成[0.00474s].
    [2018-03-08 14:27:26.453051] INFO: bigquant: dl_convert_to_bin.v1 开始运行..
    [2018-03-08 14:27:26.456667] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.458039] INFO: bigquant: dl_convert_to_bin.v1 运行完成[0.00497s].
    [2018-03-08 14:27:26.466540] INFO: bigquant: dl_model_predict.v1 开始运行..
    [2018-03-08 14:27:26.470485] INFO: bigquant: 命中缓存
    DataSource(ad9d2da6221111e883e80242ac1100af, v2_t2)
    [2018-03-08 14:27:26.472182] INFO: bigquant: dl_model_predict.v1 运行完成[0.00566s].
    [2018-03-08 14:27:26.484688] INFO: bigquant: cached.v3 开始运行..
    [2018-03-08 14:27:26.489003] INFO: bigquant: 命中缓存
    [2018-03-08 14:27:26.490161] INFO: bigquant: cached.v3 运行完成[0.005499s].
    [2018-03-08 14:27:26.524286] INFO: bigquant: backtest.v7 开始运行..
    [2018-03-08 14:27:26.703875] INFO: algo: set price type:original
    2018-02-12 07:00:00+00:00 买入!
    [2018-03-08 14:27:29.179668] INFO: Performance: Simulated 63 trading days out of 63.
    [2018-03-08 14:27:29.181095] INFO: Performance: first open: 2017-12-01 01:30:00+00:00
    [2018-03-08 14:27:29.182382] INFO: Performance: last close: 2018-03-07 07:00:00+00:00
    
    • 收益率11.32%
    • 年化收益率53.54%
    • 基准收益率0.76%
    • 阿尔法0.49
    • 贝塔0.23
    • 夏普比率2.58
    • 胜率--
    • 盈亏比--
    • 收益波动率19.03%
    • 信息比率2.2
    • 最大回撤2.36%
    [2018-03-08 14:27:30.508274] INFO: bigquant: backtest.v7 运行完成[3.983995s].