求解:内核自动重启问题(附可视化策略)

策略分享
新手专区
标签: #<Tag:0x00007efe8e1d6738> #<Tag:0x00007efe8e1d65f8>

(Xry) #1

运行不出来,对于这种数据量较大的数据怎么解决训练问题

克隆策略
In [1]:
1
Out[1]:
1

    {"Description":"实验创建于2020/9/22","Summary":"","Graph":{"EdgesInternal":[{"DestinationInputPortId":"-12469:predict_ds","SourceOutputPortId":"-8572:data_1"},{"DestinationInputPortId":"-3866:input_2","SourceOutputPortId":"-8572:data_1"},{"DestinationInputPortId":"-8976:history_ds","SourceOutputPortId":"-8572:data_1"},{"DestinationInputPortId":"-8572:input_2","SourceOutputPortId":"-304:data"},{"DestinationInputPortId":"-12469:features","SourceOutputPortId":"-7034:data"},{"DestinationInputPortId":"-399:instruments","SourceOutputPortId":"-1844:data"},{"DestinationInputPortId":"-18528:instruments","SourceOutputPortId":"-1844:data"},{"DestinationInputPortId":"-18535:input_1","SourceOutputPortId":"-1238:data"},{"DestinationInputPortId":"-8572:input_1","SourceOutputPortId":"-3530:data"},{"DestinationInputPortId":"-366:input_1","SourceOutputPortId":"-3530:data"},{"DestinationInputPortId":"-12469:training_ds","SourceOutputPortId":"-366:data_1"},{"DestinationInputPortId":"-366:input_2","SourceOutputPortId":"-374:data"},{"DestinationInputPortId":"-1238:input_data","SourceOutputPortId":"-399:data"},{"DestinationInputPortId":"-1238:features","SourceOutputPortId":"-405:data"},{"DestinationInputPortId":"-399:features","SourceOutputPortId":"-405:data"},{"DestinationInputPortId":"-18542:input_data","SourceOutputPortId":"-18528:data"},{"DestinationInputPortId":"-10137:input_1","SourceOutputPortId":"-18535:data"},{"DestinationInputPortId":"-18535:input_2","SourceOutputPortId":"-18542:data"},{"DestinationInputPortId":"-3866:input_1","SourceOutputPortId":"-12469:predictions"},{"DestinationInputPortId":"-8976:options_data","SourceOutputPortId":"-3866:data_1"},{"DestinationInputPortId":"-3530:input_data","SourceOutputPortId":"-10137:data"},{"DestinationInputPortId":"-18528:features","SourceOutputPortId":"-641:data"},{"DestinationInputPortId":"-18542:features","SourceOutputPortId":"-641:data"}],"ModuleNodes":[{"Id":"-8572","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):\n sd = str(input_2.read()['start_date'])\n ed = str(input_2.read()['end_date'])\n\n dt1 = input_1.read()\n dt1 =dt1[dt1.date>=sd]\n\n dt1 = DataSource.write_df(dt1)\n\n return Outputs(data_1=dt1)\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"post_run","Value":"# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。\ndef bigquant_run(outputs):\n return outputs\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"input_ports","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"params","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"output_ports","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-8572"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-8572"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_3","NodeId":"-8572"}],"OutputPortsInternal":[{"Name":"data_1","NodeId":"-8572","OutputType":null},{"Name":"data_2","NodeId":"-8572","OutputType":null},{"Name":"data_3","NodeId":"-8572","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":18,"Comment":"","CommentCollapsed":true},{"Id":"-304","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2016-07-18","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2020-08-01","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":"-304"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-304","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":19,"Comment":"测试模块","CommentCollapsed":true},{"Id":"-7034","ModuleId":"BigQuantSpace.input_features.input_features-v1","ModuleParameters":[{"Name":"features","Value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\n# return_5\nopen\nhigh\nclose\nlow\nvolume\n# label = shift(close, -5) /close -1\nta_ad_0\nta_adx_14_0\t\nta_adx_28_0\t\nta_aroon_down_14_0\t\nta_aroon_down_28_0\t\nta_aroon_up_14_0\t\nta_aroon_up_28_0\t\nta_aroonosc_14_0\t\nta_aroonosc_28_0\t\nta_atr_14_0\t\nta_atr_28_0\t\nta_bbands_lowerband_14_0\t\nta_bbands_lowerband_28_0\t\nta_bbands_middleband_14_0\t\nta_bbands_middleband_28_0\t\nta_bbands_upperband_14_0\t\nta_bbands_upperband_28_0\t\nta_cci_14_0\t\nta_cci_28_0\t\nta_ema_5_0\t\nta_ema_10_0\t\nta_ema_20_0\t\nta_ema_30_0\t\nta_ema_60_0\t\nta_macd_macd_12_26_9_0\nta_macd_macdhist_12_26_9_0\t\nta_macd_macdsignal_12_26_9_0\t\nta_mfi_14_0\t\nta_mfi_28_0\t\nta_mom_10_0\t\nta_mom_20_0\t\nta_mom_30_0\t\nta_mom_60_0\t\nta_obv_0\t\nta_rsi_14_0\t\nta_rsi_28_0\t\nta_sar_0\t\nta_sma_5_0\t\nta_sma_10_0\t\nta_sma_20_0\t\nta_sma_30_0\t\nta_sma_60_0\t\nta_stoch_slowd_5_3_0_3_0_0\t\nta_stoch_slowk_5_3_0_3_0_0\t\nta_trix_14_0\t\nta_trix_28_0\t\nta_willr_14_0\t\nta_willr_28_0\t\nta_wma_5_0\t\nta_wma_10_0\t\nta_wma_20_0\t\nta_wma_30_0\t\nta_wma_60_0\t","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features_ds","NodeId":"-7034"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-7034","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":20,"Comment":"","CommentCollapsed":true},{"Id":"-1844","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2015-01-01","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2020-08-01","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":"-1844"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-1844","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":21,"Comment":"测试模块","CommentCollapsed":true},{"Id":"-1238","ModuleId":"BigQuantSpace.derived_feature_extractor.derived_feature_extractor-v3","ModuleParameters":[{"Name":"date_col","Value":"date","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"instrument_col","Value":"instrument","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"drop_na","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"remove_extra_columns","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_functions","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-1238"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-1238"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-1238","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":25,"Comment":"","CommentCollapsed":true},{"Id":"-3530","ModuleId":"BigQuantSpace.dropnan.dropnan-v2","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-3530"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-3530"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-3530","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":26,"Comment":"","CommentCollapsed":true},{"Id":"-366","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):\n sd = str(input_2.read()['start_date'])\n ed = str(input_2.read()['end_date'])\n\n dt1 = input_1.read()\n dt1 =dt1[dt1.date<=ed]\n\n dt1 = DataSource.write_df(dt1)\n\n return Outputs(data_1=dt1)\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"post_run","Value":"# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。\ndef bigquant_run(outputs):\n return outputs\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"input_ports","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"params","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"output_ports","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-366"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-366"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_3","NodeId":"-366"}],"OutputPortsInternal":[{"Name":"data_1","NodeId":"-366","OutputType":null},{"Name":"data_2","NodeId":"-366","OutputType":null},{"Name":"data_3","NodeId":"-366","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":28,"Comment":"","CommentCollapsed":true},{"Id":"-374","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2010-01-01","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2020-01-31","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":"-374"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-374","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":29,"Comment":"测试模块","CommentCollapsed":true},{"Id":"-399","ModuleId":"BigQuantSpace.use_datasource.use_datasource-v1","ModuleParameters":[{"Name":"datasource_id","Value":"bar1d_CN_STOCK_A","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"start_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-399"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-399"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-399","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":30,"Comment":"","CommentCollapsed":true},{"Id":"-405","ModuleId":"BigQuantSpace.input_features.input_features-v1","ModuleParameters":[{"Name":"features","Value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\n# return_5\nopen\nhigh\nclose\nlow\nvolume\nlabel = shift(close, -5) /close -1\n\n\n# ta_ad_0\n# ta_adx_14_0\t\n# ta_adx_28_0\t\n# ta_aroon_down_14_0\t\n# ta_aroon_down_28_0\t\n# ta_aroon_up_14_0\t\n# ta_aroon_up_28_0\t\n# ta_aroonosc_14_0\t\n# ta_aroonosc_28_0\t\n# ta_atr_14_0\t\n# ta_atr_28_0\t\n# ta_bbands_lowerband_14_0\t\n# ta_bbands_lowerband_28_0\t\n# ta_bbands_middleband_14_0\t\n# ta_bbands_middleband_28_0\t\n# ta_bbands_upperband_14_0\t\n# ta_bbands_upperband_28_0\t\n# ta_cci_14_0\t\n# ta_cci_28_0\t\n# ta_ema_5_0\t\n# ta_ema_10_0\t\n# ta_ema_20_0\t\n# ta_ema_30_0\t\n# ta_ema_60_0\t\n# ta_macd_macd_12_26_9_0\n# ta_macd_macdhist_12_26_9_0\t\n# ta_macd_macdsignal_12_26_9_0\t\n# ta_mfi_14_0\t\n# ta_mfi_28_0\t\n# ta_mom_10_0\t\n# ta_mom_20_0\t\n# ta_mom_30_0\t\n# ta_mom_60_0\t\n# ta_obv_0\t\n# ta_rsi_14_0\t\n# ta_rsi_28_0\t\n# ta_sar_0\t\n# ta_sma_5_0\t\n# ta_sma_10_0\t\n# ta_sma_20_0\t\n# ta_sma_30_0\t\n# ta_sma_60_0\t\n# ta_stoch_slowd_5_3_0_3_0_0\t\n# ta_stoch_slowk_5_3_0_3_0_0\t\n# ta_trix_14_0\t\n# ta_trix_28_0\t\n# ta_willr_14_0\t\n# ta_willr_28_0\t\n# ta_wma_5_0\t\n# ta_wma_10_0\t\n# ta_wma_20_0\t\n# ta_wma_30_0\t\n# ta_wma_60_0\t","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features_ds","NodeId":"-405"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-405","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":31,"Comment":"","CommentCollapsed":true},{"Id":"-18528","ModuleId":"BigQuantSpace.general_feature_extractor.general_feature_extractor-v7","ModuleParameters":[{"Name":"start_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"before_start_days","Value":90,"ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-18528"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-18528"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-18528","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":33,"Comment":"","CommentCollapsed":true},{"Id":"-18535","ModuleId":"BigQuantSpace.data_join.data_join-v3","ModuleParameters":[{"Name":"on","Value":"date,instrument","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"how","Value":"inner","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"sort","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-18535"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-18535"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-18535","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":34,"Comment":"","CommentCollapsed":true},{"Id":"-18542","ModuleId":"BigQuantSpace.derived_feature_extractor.derived_feature_extractor-v3","ModuleParameters":[{"Name":"date_col","Value":"date","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"instrument_col","Value":"instrument","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"drop_na","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"remove_extra_columns","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_functions","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-18542"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-18542"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-18542","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":35,"Comment":"","CommentCollapsed":true},{"Id":"-12469","ModuleId":"BigQuantSpace.xgboost.xgboost-v1","ModuleParameters":[{"Name":"num_boost_round","Value":"20","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"objective","Value":"排序(pairwise)","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"booster","Value":"dart","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"max_depth","Value":"15","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"key_cols","Value":"date,instrument","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"group_col","Value":"date","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"nthread","Value":"2","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"n_gpus","Value":0,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"other_train_parameters","Value":"{\n 'random_state':11\n}","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"training_ds","NodeId":"-12469"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-12469"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"model","NodeId":"-12469"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"predict_ds","NodeId":"-12469"}],"OutputPortsInternal":[{"Name":"output_model","NodeId":"-12469","OutputType":null},{"Name":"predictions","NodeId":"-12469","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":32,"Comment":"","CommentCollapsed":true},{"Id":"-3866","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 predictions = input_1.read()\n\n predictions = predictions.sort_values(['date','prediction'],ascending = (True,False))\n\n ds = DataSource.write_df(predictions)\n\n return Outputs(data_1=ds)\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"post_run","Value":"# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。\ndef bigquant_run(outputs):\n return outputs\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"input_ports","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"params","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"output_ports","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-3866"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-3866"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_3","NodeId":"-3866"}],"OutputPortsInternal":[{"Name":"data_1","NodeId":"-3866","OutputType":null},{"Name":"data_2","NodeId":"-3866","OutputType":null},{"Name":"data_3","NodeId":"-3866","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":36,"Comment":"模型预测结果输出","CommentCollapsed":true},{"Id":"-8976","ModuleId":"BigQuantSpace.trade.trade-v4","ModuleParameters":[{"Name":"start_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"initialize","Value":"# 回测引擎:初始化函数,只执行一次\ndef bigquant_run(context):\n # 加载预测数据\n context.ranker_prediction = context.options['data'].read_df()\n\n # 系统已经设置了默认的交易手续费和滑点,要修改手续费可使用如下函数\n context.set_commission(PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))\n # 预测数据,通过options传入进来,使用 read_df 函数,加载到内存 (DataFrame)\n # 设置买入的股票数量,这里买入预测股票列表排名靠前的5只\n stock_count = 5\n # 每只的股票的权重,如下的权重分配会使得靠前的股票分配多一点的资金,[0.339160, 0.213986, 0.169580, ..]\n context.stock_weights = T.norm([1 / math.log(i + 2) for i in range(0, stock_count)])\n # 设置每只股票占用的最大资金比例\n context.max_cash_per_instrument = 0.2\n context.options['hold_days'] = 5\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"handle_data","Value":"# 回测引擎:每日数据处理函数,每天执行一次\ndef bigquant_run(context, data):\n # 按日期过滤得到今日的预测数据\n ranker_prediction = context.ranker_prediction[\n context.ranker_prediction.date == data.current_dt.strftime('%Y-%m-%d')]\n #print(\"ranker_prediction\",ranker_prediction)\n \n\n\n\n # 1. 资金分配\n # 平均持仓时间是hold_days,每日都将买入股票,每日预期使用 1/hold_days 的资金\n # 实际操作中,会存在一定的买入误差,所以在前hold_days天,等量使用资金;之后,尽量使用剩余资金(这里设置最多用等量的1.5倍)\n is_staging = context.trading_day_index < context.options['hold_days'] # 是否在建仓期间(前 hold_days 天)\n cash_avg = context.portfolio.portfolio_value / context.options['hold_days'] #账户总价值/D\n cash_for_buy = min(context.portfolio.cash, (1 if is_staging else 1.5) * cash_avg) #账户现金\n cash_for_sell = cash_avg - (context.portfolio.cash - cash_for_buy)\n positions = {e.symbol: p.amount * p.last_sale_price\n for e, p in context.portfolio.positions.items()} #仓位\n\n # 2. 生成卖出订单:hold_days天之后才开始卖出;对持仓的股票,按机器学习算法预测的排序末位淘汰\n if not is_staging and cash_for_sell > 0:\n equities = {e.symbol: e for e, p in context.portfolio.positions.items()}\n instruments = list(reversed(list(ranker_prediction.instrument[ranker_prediction.instrument.apply(\n lambda x: x in equities)])))\n\n for instrument in instruments:\n context.order_target(context.symbol(instrument), 0)\n cash_for_sell -= positions[instrument]\n if cash_for_sell <= 0:\n break\n\n # 3. 生成买入订单:按机器学习算法预测的排序,买入前面的stock_count只股票\n buy_cash_weights = context.stock_weights\n buy_instruments = list(ranker_prediction.instrument[:len(buy_cash_weights)])\n max_cash_per_instrument = context.portfolio.portfolio_value * context.max_cash_per_instrument #账户总价值*c\n for i, instrument in enumerate(buy_instruments):\n cash = cash_for_buy * buy_cash_weights[i]\n if cash > max_cash_per_instrument - positions.get(instrument, 0):\n # 确保股票持仓量不会超过每次股票最大的占用资金量\n cash = max_cash_per_instrument - positions.get(instrument, 0)\n if cash > 0:\n try:\n context.order_value(context.symbol(instrument), cash)\n except:\n return ","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"prepare","Value":"# 回测引擎:准备数据,只执行一次\ndef bigquant_run(context):\n pass\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"before_trading_start","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"volume_limit","Value":"0","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"order_price_field_buy","Value":"open","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"order_price_field_sell","Value":"open","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"capital_base","Value":1000000,"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":"product_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":"benchmark","Value":"000300.SHA","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-8976"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"options_data","NodeId":"-8976"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"history_ds","NodeId":"-8976"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"benchmark_ds","NodeId":"-8976"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"trading_calendar","NodeId":"-8976"}],"OutputPortsInternal":[{"Name":"raw_perf","NodeId":"-8976","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":13,"Comment":"","CommentCollapsed":true},{"Id":"-10137","ModuleId":"BigQuantSpace.filter_delist_stocks.filter_delist_stocks-v3","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-10137"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-10137","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":24,"Comment":"","CommentCollapsed":true},{"Id":"-641","ModuleId":"BigQuantSpace.input_features.input_features-v1","ModuleParameters":[{"Name":"features","Value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\n\nta_ad_0\nta_adx_14_0\t\nta_adx_28_0\t\nta_aroon_down_14_0\t\nta_aroon_down_28_0\t\nta_aroon_up_14_0\t\nta_aroon_up_28_0\t\nta_aroonosc_14_0\t\nta_aroonosc_28_0\t\nta_atr_14_0\t\nta_atr_28_0\t\nta_bbands_lowerband_14_0\t\nta_bbands_lowerband_28_0\t\nta_bbands_middleband_14_0\t\nta_bbands_middleband_28_0\t\nta_bbands_upperband_14_0\t\nta_bbands_upperband_28_0\t\nta_cci_14_0\t\nta_cci_28_0\t\nta_ema_5_0\t\nta_ema_10_0\t\nta_ema_20_0\t\nta_ema_30_0\t\nta_ema_60_0\t\nta_macd_macd_12_26_9_0\nta_macd_macdhist_12_26_9_0\t\nta_macd_macdsignal_12_26_9_0\t\nta_mfi_14_0\t\nta_mfi_28_0\t\nta_mom_10_0\t\nta_mom_20_0\t\nta_mom_30_0\t\nta_mom_60_0\t\nta_obv_0\t\nta_rsi_14_0\t\nta_rsi_28_0\t\nta_sar_0\t\nta_sma_5_0\t\nta_sma_10_0\t\nta_sma_20_0\t\nta_sma_30_0\t\nta_sma_60_0\t\nta_stoch_slowd_5_3_0_3_0_0\t\nta_stoch_slowk_5_3_0_3_0_0\t\nta_trix_14_0\t\nta_trix_28_0\t\nta_willr_14_0\t\nta_willr_28_0\t\nta_wma_5_0\t\nta_wma_10_0\t\nta_wma_20_0\t\nta_wma_30_0\t\nta_wma_60_0\t","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features_ds","NodeId":"-641"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-641","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":2,"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='-8572' Position='1374,1186,200,200'/><NodePosition Node='-304' Position='1515.73974609375,942.2210083007812,200,200'/><NodePosition Node='-7034' Position='748.7290649414062,1112.8787841796875,200,200'/><NodePosition Node='-1844' Position='1204,509,200,200'/><NodePosition Node='-1238' Position='1203,759,200,200'/><NodePosition Node='-3530' Position='1002,1064,200,200'/><NodePosition Node='-366' Position='1080.3922119140625,1189.66845703125,200,200'/><NodePosition Node='-374' Position='1296,1005,200,200'/><NodePosition Node='-399' Position='1169,667,200,200'/><NodePosition Node='-405' Position='1513,494,200,200'/><NodePosition Node='-18528' Position='1491,667,200,200'/><NodePosition Node='-18535' Position='1233,849,200,200'/><NodePosition Node='-18542' Position='1500,757,200,200'/><NodePosition Node='-12469' Position='1020,1318,200,200'/><NodePosition Node='-3866' Position='1229,1421,200,200'/><NodePosition Node='-8976' Position='1315,1557,200,200'/><NodePosition Node='-10137' Position='1022.38671875,963.1710815429688,200,200'/><NodePosition Node='-641' Position='1749.8609619140625,548.171142578125,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":true}
    In [ ]:
    # 本代码由可视化策略环境自动生成 2020年9月28日 17:09
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    # Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
    def m18_run_bigquant_run(input_1, input_2):
        sd = str(input_2.read()['start_date'])
        ed = str(input_2.read()['end_date'])
    
        dt1 = input_1.read()
        dt1 =dt1[dt1.date>=sd]
    
        dt1 = DataSource.write_df(dt1)
    
        return Outputs(data_1=dt1)
    
    # 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。
    def m18_post_run_bigquant_run(outputs):
        return outputs
    
    # Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
    def m28_run_bigquant_run(input_1, input_2):
        sd = str(input_2.read()['start_date'])
        ed = str(input_2.read()['end_date'])
    
        dt1 = input_1.read()
        dt1 =dt1[dt1.date<=ed]
    
        dt1 = DataSource.write_df(dt1)
    
        return Outputs(data_1=dt1)
    
    # 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。
    def m28_post_run_bigquant_run(outputs):
        return outputs
    
    # Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端
    def m36_run_bigquant_run(input_1, input_2, input_3):
        predictions = input_1.read()
    
        predictions = predictions.sort_values(['date','prediction'],ascending = (True,False))
    
        ds = DataSource.write_df(predictions)
    
        return Outputs(data_1=ds)
    
    # 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。
    def m36_post_run_bigquant_run(outputs):
        return outputs
    
    # 回测引擎:初始化函数,只执行一次
    def m13_initialize_bigquant_run(context):
        # 加载预测数据
        context.ranker_prediction = context.options['data'].read_df()
    
        # 系统已经设置了默认的交易手续费和滑点,要修改手续费可使用如下函数
        context.set_commission(PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))
        # 预测数据,通过options传入进来,使用 read_df 函数,加载到内存 (DataFrame)
        # 设置买入的股票数量,这里买入预测股票列表排名靠前的5只
        stock_count = 5
        # 每只的股票的权重,如下的权重分配会使得靠前的股票分配多一点的资金,[0.339160, 0.213986, 0.169580, ..]
        context.stock_weights = T.norm([1 / math.log(i + 2) for i in range(0, stock_count)])
        # 设置每只股票占用的最大资金比例
        context.max_cash_per_instrument = 0.2
        context.options['hold_days'] = 5
    
    # 回测引擎:每日数据处理函数,每天执行一次
    def m13_handle_data_bigquant_run(context, data):
        # 按日期过滤得到今日的预测数据
        ranker_prediction = context.ranker_prediction[
            context.ranker_prediction.date == data.current_dt.strftime('%Y-%m-%d')]
        #print("ranker_prediction",ranker_prediction)
     
    
    
    
        # 1. 资金分配
        # 平均持仓时间是hold_days,每日都将买入股票,每日预期使用 1/hold_days 的资金
        # 实际操作中,会存在一定的买入误差,所以在前hold_days天,等量使用资金;之后,尽量使用剩余资金(这里设置最多用等量的1.5倍)
        is_staging = context.trading_day_index < context.options['hold_days'] # 是否在建仓期间(前 hold_days 天)
        cash_avg = context.portfolio.portfolio_value / context.options['hold_days']  #账户总价值/D
        cash_for_buy = min(context.portfolio.cash, (1 if is_staging else 1.5) * cash_avg)  #账户现金
        cash_for_sell = cash_avg - (context.portfolio.cash - cash_for_buy)
        positions = {e.symbol: p.amount * p.last_sale_price
                     for e, p in context.portfolio.positions.items()}   #仓位
    
        # 2. 生成卖出订单:hold_days天之后才开始卖出;对持仓的股票,按机器学习算法预测的排序末位淘汰
        if not is_staging and cash_for_sell > 0:
            equities = {e.symbol: e for e, p in context.portfolio.positions.items()}
            instruments = list(reversed(list(ranker_prediction.instrument[ranker_prediction.instrument.apply(
                    lambda x: x in equities)])))
    
            for instrument in instruments:
                context.order_target(context.symbol(instrument), 0)
                cash_for_sell -= positions[instrument]
                if cash_for_sell <= 0:
                    break
    
        # 3. 生成买入订单:按机器学习算法预测的排序,买入前面的stock_count只股票
        buy_cash_weights = context.stock_weights
        buy_instruments = list(ranker_prediction.instrument[:len(buy_cash_weights)])
        max_cash_per_instrument = context.portfolio.portfolio_value * context.max_cash_per_instrument #账户总价值*c
        for i, instrument in enumerate(buy_instruments):
            cash = cash_for_buy * buy_cash_weights[i]
            if cash > max_cash_per_instrument - positions.get(instrument, 0):
                # 确保股票持仓量不会超过每次股票最大的占用资金量
                cash = max_cash_per_instrument - positions.get(instrument, 0)
            if cash > 0:
                try:
                    context.order_value(context.symbol(instrument), cash)
                except:
                    return 
    # 回测引擎:准备数据,只执行一次
    def m13_prepare_bigquant_run(context):
        pass
    
    
    m19 = M.instruments.v2(
        start_date='2016-07-18',
        end_date='2020-08-01',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    m20 = M.input_features.v1(
        features="""
    # #号开始的表示注释,注释需单独一行
    # 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征
    # return_5
    open
    high
    close
    low
    volume
    # label = shift(close, -5) /close -1
    ta_ad_0
    ta_adx_14_0	
    ta_adx_28_0	
    ta_aroon_down_14_0	
    ta_aroon_down_28_0	
    ta_aroon_up_14_0	
    ta_aroon_up_28_0	
    ta_aroonosc_14_0	
    ta_aroonosc_28_0	
    ta_atr_14_0	
    ta_atr_28_0	
    ta_bbands_lowerband_14_0	
    ta_bbands_lowerband_28_0	
    ta_bbands_middleband_14_0	
    ta_bbands_middleband_28_0	
    ta_bbands_upperband_14_0	
    ta_bbands_upperband_28_0	
    ta_cci_14_0	
    ta_cci_28_0	
    ta_ema_5_0	
    ta_ema_10_0	
    ta_ema_20_0	
    ta_ema_30_0	
    ta_ema_60_0	
    ta_macd_macd_12_26_9_0
    ta_macd_macdhist_12_26_9_0	
    ta_macd_macdsignal_12_26_9_0	
    ta_mfi_14_0	
    ta_mfi_28_0	
    ta_mom_10_0	
    ta_mom_20_0	
    ta_mom_30_0	
    ta_mom_60_0	
    ta_obv_0	
    ta_rsi_14_0	
    ta_rsi_28_0	
    ta_sar_0	
    ta_sma_5_0	
    ta_sma_10_0	
    ta_sma_20_0	
    ta_sma_30_0	
    ta_sma_60_0	
    ta_stoch_slowd_5_3_0_3_0_0	
    ta_stoch_slowk_5_3_0_3_0_0	
    ta_trix_14_0	
    ta_trix_28_0	
    ta_willr_14_0	
    ta_willr_28_0	
    ta_wma_5_0	
    ta_wma_10_0	
    ta_wma_20_0	
    ta_wma_30_0	
    ta_wma_60_0	"""
    )
    
    m21 = M.instruments.v2(
        start_date='2015-01-01',
        end_date='2020-08-01',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    m29 = M.instruments.v2(
        start_date='2010-01-01',
        end_date='2020-01-31',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    m31 = M.input_features.v1(
        features="""
    # #号开始的表示注释,注释需单独一行
    # 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征
    # return_5
    open
    high
    close
    low
    volume
    label = shift(close, -5) /close -1
    
    
    # ta_ad_0
    # ta_adx_14_0	
    # ta_adx_28_0	
    # ta_aroon_down_14_0	
    # ta_aroon_down_28_0	
    # ta_aroon_up_14_0	
    # ta_aroon_up_28_0	
    # ta_aroonosc_14_0	
    # ta_aroonosc_28_0	
    # ta_atr_14_0	
    # ta_atr_28_0	
    # ta_bbands_lowerband_14_0	
    # ta_bbands_lowerband_28_0	
    # ta_bbands_middleband_14_0	
    # ta_bbands_middleband_28_0	
    # ta_bbands_upperband_14_0	
    # ta_bbands_upperband_28_0	
    # ta_cci_14_0	
    # ta_cci_28_0	
    # ta_ema_5_0	
    # ta_ema_10_0	
    # ta_ema_20_0	
    # ta_ema_30_0	
    # ta_ema_60_0	
    # ta_macd_macd_12_26_9_0
    # ta_macd_macdhist_12_26_9_0	
    # ta_macd_macdsignal_12_26_9_0	
    # ta_mfi_14_0	
    # ta_mfi_28_0	
    # ta_mom_10_0	
    # ta_mom_20_0	
    # ta_mom_30_0	
    # ta_mom_60_0	
    # ta_obv_0	
    # ta_rsi_14_0	
    # ta_rsi_28_0	
    # ta_sar_0	
    # ta_sma_5_0	
    # ta_sma_10_0	
    # ta_sma_20_0	
    # ta_sma_30_0	
    # ta_sma_60_0	
    # ta_stoch_slowd_5_3_0_3_0_0	
    # ta_stoch_slowk_5_3_0_3_0_0	
    # ta_trix_14_0	
    # ta_trix_28_0	
    # ta_willr_14_0	
    # ta_willr_28_0	
    # ta_wma_5_0	
    # ta_wma_10_0	
    # ta_wma_20_0	
    # ta_wma_30_0	
    # ta_wma_60_0	"""
    )
    
    m30 = M.use_datasource.v1(
        instruments=m21.data,
        features=m31.data,
        datasource_id='bar1d_CN_STOCK_A',
        start_date='',
        end_date=''
    )
    
    m25 = M.derived_feature_extractor.v3(
        input_data=m30.data,
        features=m31.data,
        date_col='date',
        instrument_col='instrument',
        drop_na=True,
        remove_extra_columns=False,
        user_functions={}
    )
    
    m2 = M.input_features.v1(
        features="""
    # #号开始的表示注释,注释需单独一行
    # 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征
    
    ta_ad_0
    ta_adx_14_0	
    ta_adx_28_0	
    ta_aroon_down_14_0	
    ta_aroon_down_28_0	
    ta_aroon_up_14_0	
    ta_aroon_up_28_0	
    ta_aroonosc_14_0	
    ta_aroonosc_28_0	
    ta_atr_14_0	
    ta_atr_28_0	
    ta_bbands_lowerband_14_0	
    ta_bbands_lowerband_28_0	
    ta_bbands_middleband_14_0	
    ta_bbands_middleband_28_0	
    ta_bbands_upperband_14_0	
    ta_bbands_upperband_28_0	
    ta_cci_14_0	
    ta_cci_28_0	
    ta_ema_5_0	
    ta_ema_10_0	
    ta_ema_20_0	
    ta_ema_30_0	
    ta_ema_60_0	
    ta_macd_macd_12_26_9_0
    ta_macd_macdhist_12_26_9_0	
    ta_macd_macdsignal_12_26_9_0	
    ta_mfi_14_0	
    ta_mfi_28_0	
    ta_mom_10_0	
    ta_mom_20_0	
    ta_mom_30_0	
    ta_mom_60_0	
    ta_obv_0	
    ta_rsi_14_0	
    ta_rsi_28_0	
    ta_sar_0	
    ta_sma_5_0	
    ta_sma_10_0	
    ta_sma_20_0	
    ta_sma_30_0	
    ta_sma_60_0	
    ta_stoch_slowd_5_3_0_3_0_0	
    ta_stoch_slowk_5_3_0_3_0_0	
    ta_trix_14_0	
    ta_trix_28_0	
    ta_willr_14_0	
    ta_willr_28_0	
    ta_wma_5_0	
    ta_wma_10_0	
    ta_wma_20_0	
    ta_wma_30_0	
    ta_wma_60_0	"""
    )
    
    m33 = M.general_feature_extractor.v7(
        instruments=m21.data,
        features=m2.data,
        start_date='',
        end_date='',
        before_start_days=90
    )
    
    m35 = M.derived_feature_extractor.v3(
        input_data=m33.data,
        features=m2.data,
        date_col='date',
        instrument_col='instrument',
        drop_na=True,
        remove_extra_columns=False,
        user_functions={}
    )
    
    m34 = M.data_join.v3(
        input_1=m25.data,
        input_2=m35.data,
        on='date,instrument',
        how='inner',
        sort=False
    )
    
    m24 = M.filter_delist_stocks.v3(
        input_1=m34.data
    )
    
    m26 = M.dropnan.v2(
        input_data=m24.data
    )
    
    m18 = M.cached.v3(
        input_1=m26.data,
        input_2=m19.data,
        run=m18_run_bigquant_run,
        post_run=m18_post_run_bigquant_run,
        input_ports='',
        params='{}',
        output_ports=''
    )
    
    m28 = M.cached.v3(
        input_1=m26.data,
        input_2=m29.data,
        run=m28_run_bigquant_run,
        post_run=m28_post_run_bigquant_run,
        input_ports='',
        params='{}',
        output_ports=''
    )
    
    m32 = M.xgboost.v1(
        training_ds=m28.data_1,
        features=m20.data,
        predict_ds=m18.data_1,
        num_boost_round=20,
        objective='排序(pairwise)',
        booster='dart',
        max_depth=15,
        key_cols='date,instrument',
        group_col='date',
        nthread=2,
        n_gpus=0,
        other_train_parameters={
        'random_state':11
    }
    )
    
    m36 = M.cached.v3(
        input_1=m32.predictions,
        input_2=m18.data_1,
        run=m36_run_bigquant_run,
        post_run=m36_post_run_bigquant_run,
        input_ports='',
        params='{}',
        output_ports='',
        m_cached=False
    )
    
    m13 = M.trade.v4(
        options_data=m36.data_1,
        history_ds=m18.data_1,
        start_date='',
        end_date='',
        initialize=m13_initialize_bigquant_run,
        handle_data=m13_handle_data_bigquant_run,
        prepare=m13_prepare_bigquant_run,
        volume_limit=0,
        order_price_field_buy='open',
        order_price_field_sell='open',
        capital_base=1000000,
        auto_cancel_non_tradable_orders=True,
        data_frequency='daily',
        price_type='真实价格',
        product_type='股票',
        plot_charts=True,
        backtest_only=False,
        benchmark='000300.SHA'
    )
    

    数据库读不出来的问题
    (adhaha111) #2

    您好,我这边并没有出现”找不到字段close“的错误,您是否进行了修改。关于内核重启,会员享有更大的内存上限哦


    (Xry) #3

    其实这个黄色的提醒没什么大问题.还想问一下在这个平台,是不是不同的模型能够处理的最大数据量也是不同的?比如stockranker和xgboost,对于相同大小的数据,前者可以训练而后者内存重启