有个想问的问题,我这个策略为什么在4.24以后就没有预测结果了,拜托大神帮忙看一下。谢谢了

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

(focus777) #1
克隆策略

    {"Description":"实验创建于2019-4-23","Summary":"","Graph":{"EdgesInternal":[{"DestinationInputPortId":"-128:instruments","SourceOutputPortId":"-4:data"},{"DestinationInputPortId":"-143:instruments","SourceOutputPortId":"-4:data"},{"DestinationInputPortId":"-174:data1","SourceOutputPortId":"-128:data"},{"DestinationInputPortId":"-143:features","SourceOutputPortId":"-138:data"},{"DestinationInputPortId":"-159:features","SourceOutputPortId":"-138:data"},{"DestinationInputPortId":"-376:features","SourceOutputPortId":"-138:data"},{"DestinationInputPortId":"-392:features","SourceOutputPortId":"-138:data"},{"DestinationInputPortId":"-454:features","SourceOutputPortId":"-138:data"},{"DestinationInputPortId":"-150:input_data","SourceOutputPortId":"-143:data"},{"DestinationInputPortId":"-159:input_data","SourceOutputPortId":"-150:data"},{"DestinationInputPortId":"-174:data2","SourceOutputPortId":"-159:data"},{"DestinationInputPortId":"-186:input_data","SourceOutputPortId":"-174:data"},{"DestinationInputPortId":"-454:training_ds","SourceOutputPortId":"-186:data"},{"DestinationInputPortId":"-365:instruments","SourceOutputPortId":"-357:data"},{"DestinationInputPortId":"-376:instruments","SourceOutputPortId":"-357:data"},{"DestinationInputPortId":"-535:instruments","SourceOutputPortId":"-357:data"},{"DestinationInputPortId":"-401:data1","SourceOutputPortId":"-365:data"},{"DestinationInputPortId":"-383:input_data","SourceOutputPortId":"-376:data"},{"DestinationInputPortId":"-392:input_data","SourceOutputPortId":"-383:data"},{"DestinationInputPortId":"-401:data2","SourceOutputPortId":"-392:data"},{"DestinationInputPortId":"-407:input_data","SourceOutputPortId":"-401:data"},{"DestinationInputPortId":"-467:data","SourceOutputPortId":"-407:data"},{"DestinationInputPortId":"-467:model","SourceOutputPortId":"-454:model"},{"DestinationInputPortId":"-535:options_data","SourceOutputPortId":"-467:predictions"}],"ModuleNodes":[{"Id":"-4","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2010-01-01","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2016-01-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":"-4"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-4","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":1,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-128","ModuleId":"BigQuantSpace.advanced_auto_labeler.advanced_auto_labeler-v2","ModuleParameters":[{"Name":"label_expr","Value":"# #号开始的表示注释\n# 0. 每行一个,顺序执行,从第二个开始,可以使用label字段\n# 1. 可用数据字段见 https://bigquant.com/docs/develop/datasource/deprecated/history_data.html\n# 添加benchmark_前缀,可使用对应的benchmark数据\n# 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/develop/bigexpr/usage.html>`_\n\n# 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)\nshift(close, -3) / shift(open, -1)\n\n# 极值处理:用1%和99%分位的值做clip\nclip(label, all_quantile(label, 0.01), all_quantile(label, 0.99))\n\n# 将分数映射到分类,这里使用20个分类\nall_wbins(label, 50)\n\n# 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)\nwhere(shift(high, -1) == shift(low, -1), NaN, label)\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"start_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"benchmark","Value":"000300.SHA","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"drop_na_label","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"cast_label_int","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_functions","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-128"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-128","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":2,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-138","ModuleId":"BigQuantSpace.input_features.input_features-v1","ModuleParameters":[{"Name":"features","Value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\nreturn_1-1\nreturn_2-1\nreturn_3-1\nreturn_4-1\nreturn_5-1\nreturn_6-1\nreturn_7-1\nreturn_8-1\nreturn_9-1\nreturn_10-1\nreturn_0-1\nreturn_5/return_0-1\nreturn_10/return_0-1\nreturn_5-1\nreturn_10-1\nreturn_20-1\navg_amount_0/avg_amount_5-1\navg_amount_5/avg_amount_20-1\nrank_avg_amount_0-rank_avg_amount_5\nrank_avg_amount_5-rank_avg_amount_10\nrank_return_0-rank_return_5\nrank_return_5-rank_return_10\nbeta_csi300_30_0/10\nbeta_csi300_60_0/10\nswing_volatility_5_0/swing_volatility_30_0-1\nswing_volatility_30_0/swing_volatility_60_0-1\nta_atr_14_0/ta_atr_28_0-1\nta_sma_5_0/ta_sma_20_0-1\nta_sma_10_0/ta_sma_20_0-1\nta_sma_20_0/ta_sma_30_0-1\nta_sma_30_0/ta_sma_60_0-1\nta_rsi_14_0/100\nta_rsi_28_0/100\nta_cci_14_0/500\nta_cci_28_0/500\nbeta_industry_30_0/10\nbeta_industry_60_0/10\nta_sma(amount_0, 10)/ta_sma(amount_0, 20)-1\nta_sma(amount_0, 20)/ta_sma(amount_0, 30)-1\nta_sma(amount_0, 30)/ta_sma(amount_0, 60)-1\nta_sma(amount_0, 50)/ta_sma(amount_0, 100)-1\nta_sma(turn_0, 10)/ta_sma(turn_0, 20)-1\nta_sma(turn_0, 20)/ta_sma(turn_0, 30)-1\nta_sma(turn_0, 30)/ta_sma(turn_0, 60)-1\nta_sma(turn_0, 50)/ta_sma(turn_0, 100)-1\nhigh_0/low_0-1\nclose_0/open_0-1\nshift(close_0,1)/close_0-1\nshift(close_0,2)/close_0-1\nshift(close_0,3)/close_0-1\nshift(close_0,4)/close_0-1\nshift(close_0,5)/close_0-1\nshift(close_0,10)/close_0-1\nshift(close_0,20)/close_0-1\nta_sma(high_0-low_0, 5)/ta_sma(high_0-low_0, 20)-1\nta_sma(high_0-low_0, 10)/ta_sma(high_0-low_0, 20)-1\nta_sma(high_0-low_0, 20)/ta_sma(high_0-low_0, 30)-1\nta_sma(high_0-low_0, 30)/ta_sma(high_0-low_0, 60)-1\nta_sma(high_0-low_0, 50)/ta_sma(high_0-low_0, 100)-1\nrank_avg_amount_5\nrank_avg_turn_5\nrank_volatility_5_0\nrank_swing_volatility_5_0\nrank_avg_mf_net_amount_5\nrank_beta_industry_5_0\nrank_return_5\nrank_return_2\nstd(close_0,5)/std(close_0,20)-1\nstd(close_0,10)/std(close_0,20)-1\nstd(close_0,20)/std(close_0,30)-1\nstd(close_0,30)/std(close_0,60)-1\nstd(close_0,50)/std(close_0,100)-1\n\n","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features_ds","NodeId":"-138"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-138","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":3,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-143","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":"240","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-143"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-143"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-143","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":4,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-150","ModuleId":"BigQuantSpace.chinaa_stock_filter.chinaa_stock_filter-v1","ModuleParameters":[{"Name":"index_constituent_cond","Value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%8150%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%8150%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B2%AA%E6%B7%B1300%22%2C%22displayValue%22%3A%22%E6%B2%AA%E6%B7%B1300%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81500%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81500%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81800%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81800%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%81180%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%81180%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81100%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81100%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B7%B1%E8%AF%81100%22%2C%22displayValue%22%3A%22%E6%B7%B1%E8%AF%81100%22%2C%22selected%22%3Afalse%7D%5D%7D","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"board_cond","Value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E6%B7%B1%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22displayValue%22%3A%22%E6%B7%B1%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E5%88%9B%E4%B8%9A%E6%9D%BF%22%2C%22displayValue%22%3A%22%E5%88%9B%E4%B8%9A%E6%9D%BF%22%2C%22selected%22%3Afalse%7D%5D%7D","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"industry_cond","Value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E4%BA%A4%E9%80%9A%E8%BF%90%E8%BE%93%22%2C%22displayValue%22%3A%22%E4%BA%A4%E9%80%9A%E8%BF%90%E8%BE%93%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%BC%91%E9%97%B2%E6%9C%8D%E5%8A%A1%22%2C%22displayValue%22%3A%22%E4%BC%91%E9%97%B2%E6%9C%8D%E5%8A%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%BC%A0%E5%AA%92%2F%E4%BF%A1%E6%81%AF%E6%9C%8D%E5%8A%A1%22%2C%22displayValue%22%3A%22%E4%BC%A0%E5%AA%92%2F%E4%BF%A1%E6%81%AF%E6%9C%8D%E5%8A%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%85%AC%E7%94%A8%E4%BA%8B%E4%B8%9A%22%2C%22displayValue%22%3A%22%E5%85%AC%E7%94%A8%E4%BA%8B%E4%B8%9A%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%86%9C%E6%9E%97%E7%89%A7%E6%B8%94%22%2C%22displayValue%22%3A%22%E5%86%9C%E6%9E%97%E7%89%A7%E6%B8%94%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%8C%96%E5%B7%A5%22%2C%22displayValue%22%3A%22%E5%8C%96%E5%B7%A5%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%8C%BB%E8%8D%AF%E7%94%9F%E7%89%A9%22%2C%22displayValue%22%3A%22%E5%8C%BB%E8%8D%AF%E7%94%9F%E7%89%A9%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%95%86%E4%B8%9A%E8%B4%B8%E6%98%93%22%2C%22displayValue%22%3A%22%E5%95%86%E4%B8%9A%E8%B4%B8%E6%98%93%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%9B%BD%E9%98%B2%E5%86%9B%E5%B7%A5%22%2C%22displayValue%22%3A%22%E5%9B%BD%E9%98%B2%E5%86%9B%E5%B7%A5%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%AE%B6%E7%94%A8%E7%94%B5%E5%99%A8%22%2C%22displayValue%22%3A%22%E5%AE%B6%E7%94%A8%E7%94%B5%E5%99%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%BB%BA%E7%AD%91%E6%9D%90%E6%96%99%2F%E5%BB%BA%E7%AD%91%E5%BB%BA%E6%9D%90%22%2C%22displayValue%22%3A%22%E5%BB%BA%E7%AD%91%E6%9D%90%E6%96%99%2F%E5%BB%BA%E7%AD%91%E5%BB%BA%E6%9D%90%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%BB%BA%E7%AD%91%E8%A3%85%E9%A5%B0%22%2C%22displayValue%22%3A%22%E5%BB%BA%E7%AD%91%E8%A3%85%E9%A5%B0%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%88%BF%E5%9C%B0%E4%BA%A7%22%2C%22displayValue%22%3A%22%E6%88%BF%E5%9C%B0%E4%BA%A7%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9C%89%E8%89%B2%E9%87%91%E5%B1%9E%22%2C%22displayValue%22%3A%22%E6%9C%89%E8%89%B2%E9%87%91%E5%B1%9E%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9C%BA%E6%A2%B0%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E6%9C%BA%E6%A2%B0%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B1%BD%E8%BD%A6%2F%E4%BA%A4%E8%BF%90%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E6%B1%BD%E8%BD%A6%2F%E4%BA%A4%E8%BF%90%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%94%B5%E5%AD%90%22%2C%22displayValue%22%3A%22%E7%94%B5%E5%AD%90%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%94%B5%E6%B0%94%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E7%94%B5%E6%B0%94%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%BA%BA%E7%BB%87%E6%9C%8D%E8%A3%85%22%2C%22displayValue%22%3A%22%E7%BA%BA%E7%BB%87%E6%9C%8D%E8%A3%85%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%BB%BC%E5%90%88%22%2C%22displayValue%22%3A%22%E7%BB%BC%E5%90%88%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E8%AE%A1%E7%AE%97%E6%9C%BA%22%2C%22displayValue%22%3A%22%E8%AE%A1%E7%AE%97%E6%9C%BA%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E8%BD%BB%E5%B7%A5%E5%88%B6%E9%80%A0%22%2C%22displayValue%22%3A%22%E8%BD%BB%E5%B7%A5%E5%88%B6%E9%80%A0%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%80%9A%E4%BF%A1%22%2C%22displayValue%22%3A%22%E9%80%9A%E4%BF%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%87%87%E6%8E%98%22%2C%22displayValue%22%3A%22%E9%87%87%E6%8E%98%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%92%A2%E9%93%81%22%2C%22displayValue%22%3A%22%E9%92%A2%E9%93%81%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%93%B6%E8%A1%8C%22%2C%22displayValue%22%3A%22%E9%93%B6%E8%A1%8C%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%9D%9E%E9%93%B6%E9%87%91%E8%9E%8D%22%2C%22displayValue%22%3A%22%E9%9D%9E%E9%93%B6%E9%87%91%E8%9E%8D%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%A3%9F%E5%93%81%E9%A5%AE%E6%96%99%22%2C%22displayValue%22%3A%22%E9%A3%9F%E5%93%81%E9%A5%AE%E6%96%99%22%2C%22selected%22%3Afalse%7D%5D%7D","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"st_cond","Value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%AD%A3%E5%B8%B8%22%2C%22displayValue%22%3A%22%E6%AD%A3%E5%B8%B8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22ST%22%2C%22displayValue%22%3A%22ST%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22*ST%22%2C%22displayValue%22%3A%22*ST%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9A%82%E5%81%9C%E4%B8%8A%E5%B8%82%22%2C%22displayValue%22%3A%22%E6%9A%82%E5%81%9C%E4%B8%8A%E5%B8%82%22%2C%22selected%22%3Afalse%7D%5D%7D","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":"-150"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-150","OutputType":null},{"Name":"left_data","NodeId":"-150","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":5,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-159","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":"False","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":"-159"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-159"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-159","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":6,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-174","ModuleId":"BigQuantSpace.join.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":"data1","NodeId":"-174"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"data2","NodeId":"-174"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-174","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":7,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-186","ModuleId":"BigQuantSpace.dropnan.dropnan-v1","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-186"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-186","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":8,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-357","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2019-02-11","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2019-04-26","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":"-357"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-357","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":11,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-365","ModuleId":"BigQuantSpace.advanced_auto_labeler.advanced_auto_labeler-v2","ModuleParameters":[{"Name":"label_expr","Value":"# #号开始的表示注释\n# 0. 每行一个,顺序执行,从第二个开始,可以使用label字段\n# 1. 可用数据字段见 https://bigquant.com/docs/develop/datasource/deprecated/history_data.html\n# 添加benchmark_前缀,可使用对应的benchmark数据\n# 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/develop/bigexpr/usage.html>`_\n\n# 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)\nshift(close, -3) / shift(open, -1)\n\n# 极值处理:用1%和99%分位的值做clip\nclip(label, all_quantile(label, 0.01), all_quantile(label, 0.99))\n\n# 将分数映射到分类,这里使用20个分类\nall_wbins(label, 50)\n\n# 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)\nwhere(shift(high, -1) == shift(low, -1), NaN, label)\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"start_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"benchmark","Value":"000300.SHA","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"drop_na_label","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"cast_label_int","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"user_functions","Value":"{}","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-365"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-365","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":12,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-376","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":"240","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-376"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-376"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-376","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":13,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-383","ModuleId":"BigQuantSpace.chinaa_stock_filter.chinaa_stock_filter-v1","ModuleParameters":[{"Name":"index_constituent_cond","Value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%8150%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%8150%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B2%AA%E6%B7%B1300%22%2C%22displayValue%22%3A%22%E6%B2%AA%E6%B7%B1300%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81500%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81500%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81800%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81800%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%81180%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%81180%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81100%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81100%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B7%B1%E8%AF%81100%22%2C%22displayValue%22%3A%22%E6%B7%B1%E8%AF%81100%22%2C%22selected%22%3Afalse%7D%5D%7D","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"board_cond","Value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E6%B7%B1%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22displayValue%22%3A%22%E6%B7%B1%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E5%88%9B%E4%B8%9A%E6%9D%BF%22%2C%22displayValue%22%3A%22%E5%88%9B%E4%B8%9A%E6%9D%BF%22%2C%22selected%22%3Afalse%7D%5D%7D","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"industry_cond","Value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E4%BA%A4%E9%80%9A%E8%BF%90%E8%BE%93%22%2C%22displayValue%22%3A%22%E4%BA%A4%E9%80%9A%E8%BF%90%E8%BE%93%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%BC%91%E9%97%B2%E6%9C%8D%E5%8A%A1%22%2C%22displayValue%22%3A%22%E4%BC%91%E9%97%B2%E6%9C%8D%E5%8A%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%BC%A0%E5%AA%92%2F%E4%BF%A1%E6%81%AF%E6%9C%8D%E5%8A%A1%22%2C%22displayValue%22%3A%22%E4%BC%A0%E5%AA%92%2F%E4%BF%A1%E6%81%AF%E6%9C%8D%E5%8A%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%85%AC%E7%94%A8%E4%BA%8B%E4%B8%9A%22%2C%22displayValue%22%3A%22%E5%85%AC%E7%94%A8%E4%BA%8B%E4%B8%9A%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%86%9C%E6%9E%97%E7%89%A7%E6%B8%94%22%2C%22displayValue%22%3A%22%E5%86%9C%E6%9E%97%E7%89%A7%E6%B8%94%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%8C%96%E5%B7%A5%22%2C%22displayValue%22%3A%22%E5%8C%96%E5%B7%A5%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%8C%BB%E8%8D%AF%E7%94%9F%E7%89%A9%22%2C%22displayValue%22%3A%22%E5%8C%BB%E8%8D%AF%E7%94%9F%E7%89%A9%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%95%86%E4%B8%9A%E8%B4%B8%E6%98%93%22%2C%22displayValue%22%3A%22%E5%95%86%E4%B8%9A%E8%B4%B8%E6%98%93%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%9B%BD%E9%98%B2%E5%86%9B%E5%B7%A5%22%2C%22displayValue%22%3A%22%E5%9B%BD%E9%98%B2%E5%86%9B%E5%B7%A5%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%AE%B6%E7%94%A8%E7%94%B5%E5%99%A8%22%2C%22displayValue%22%3A%22%E5%AE%B6%E7%94%A8%E7%94%B5%E5%99%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%BB%BA%E7%AD%91%E6%9D%90%E6%96%99%2F%E5%BB%BA%E7%AD%91%E5%BB%BA%E6%9D%90%22%2C%22displayValue%22%3A%22%E5%BB%BA%E7%AD%91%E6%9D%90%E6%96%99%2F%E5%BB%BA%E7%AD%91%E5%BB%BA%E6%9D%90%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%BB%BA%E7%AD%91%E8%A3%85%E9%A5%B0%22%2C%22displayValue%22%3A%22%E5%BB%BA%E7%AD%91%E8%A3%85%E9%A5%B0%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%88%BF%E5%9C%B0%E4%BA%A7%22%2C%22displayValue%22%3A%22%E6%88%BF%E5%9C%B0%E4%BA%A7%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9C%89%E8%89%B2%E9%87%91%E5%B1%9E%22%2C%22displayValue%22%3A%22%E6%9C%89%E8%89%B2%E9%87%91%E5%B1%9E%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9C%BA%E6%A2%B0%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E6%9C%BA%E6%A2%B0%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B1%BD%E8%BD%A6%2F%E4%BA%A4%E8%BF%90%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E6%B1%BD%E8%BD%A6%2F%E4%BA%A4%E8%BF%90%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%94%B5%E5%AD%90%22%2C%22displayValue%22%3A%22%E7%94%B5%E5%AD%90%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%94%B5%E6%B0%94%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E7%94%B5%E6%B0%94%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%BA%BA%E7%BB%87%E6%9C%8D%E8%A3%85%22%2C%22displayValue%22%3A%22%E7%BA%BA%E7%BB%87%E6%9C%8D%E8%A3%85%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%BB%BC%E5%90%88%22%2C%22displayValue%22%3A%22%E7%BB%BC%E5%90%88%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E8%AE%A1%E7%AE%97%E6%9C%BA%22%2C%22displayValue%22%3A%22%E8%AE%A1%E7%AE%97%E6%9C%BA%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E8%BD%BB%E5%B7%A5%E5%88%B6%E9%80%A0%22%2C%22displayValue%22%3A%22%E8%BD%BB%E5%B7%A5%E5%88%B6%E9%80%A0%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%80%9A%E4%BF%A1%22%2C%22displayValue%22%3A%22%E9%80%9A%E4%BF%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%87%87%E6%8E%98%22%2C%22displayValue%22%3A%22%E9%87%87%E6%8E%98%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%92%A2%E9%93%81%22%2C%22displayValue%22%3A%22%E9%92%A2%E9%93%81%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%93%B6%E8%A1%8C%22%2C%22displayValue%22%3A%22%E9%93%B6%E8%A1%8C%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%9D%9E%E9%93%B6%E9%87%91%E8%9E%8D%22%2C%22displayValue%22%3A%22%E9%9D%9E%E9%93%B6%E9%87%91%E8%9E%8D%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%A3%9F%E5%93%81%E9%A5%AE%E6%96%99%22%2C%22displayValue%22%3A%22%E9%A3%9F%E5%93%81%E9%A5%AE%E6%96%99%22%2C%22selected%22%3Afalse%7D%5D%7D","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"st_cond","Value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%AD%A3%E5%B8%B8%22%2C%22displayValue%22%3A%22%E6%AD%A3%E5%B8%B8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22ST%22%2C%22displayValue%22%3A%22ST%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22*ST%22%2C%22displayValue%22%3A%22*ST%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9A%82%E5%81%9C%E4%B8%8A%E5%B8%82%22%2C%22displayValue%22%3A%22%E6%9A%82%E5%81%9C%E4%B8%8A%E5%B8%82%22%2C%22selected%22%3Afalse%7D%5D%7D","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":"-383"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-383","OutputType":null},{"Name":"left_data","NodeId":"-383","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":14,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-392","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":"False","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":"-392"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-392"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-392","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":15,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-401","ModuleId":"BigQuantSpace.join.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":"data1","NodeId":"-401"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"data2","NodeId":"-401"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-401","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":16,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-407","ModuleId":"BigQuantSpace.dropnan.dropnan-v1","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-407"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-407","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":17,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-454","ModuleId":"BigQuantSpace.stock_ranker_train.stock_ranker_train-v5","ModuleParameters":[{"Name":"learning_algorithm","Value":"排序","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"number_of_leaves","Value":"500","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"minimum_docs_per_leaf","Value":"1000","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"number_of_trees","Value":"500","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"learning_rate","Value":"0.25","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"max_bins","Value":"512","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"feature_fraction","Value":"0.7","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"m_lazy_run","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"training_ds","NodeId":"-454"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-454"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"test_ds","NodeId":"-454"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"base_model","NodeId":"-454"}],"OutputPortsInternal":[{"Name":"model","NodeId":"-454","OutputType":null},{"Name":"feature_gains","NodeId":"-454","OutputType":null},{"Name":"m_lazy_run","NodeId":"-454","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":10,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-467","ModuleId":"BigQuantSpace.stock_ranker_predict.stock_ranker_predict-v5","ModuleParameters":[{"Name":"m_lazy_run","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"model","NodeId":"-467"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"data","NodeId":"-467"}],"OutputPortsInternal":[{"Name":"predictions","NodeId":"-467","OutputType":null},{"Name":"m_lazy_run","NodeId":"-467","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":19,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-535","ModuleId":"BigQuantSpace.trade.trade-v4","ModuleParameters":[{"Name":"start_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","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.head(10))\n # 1. 资金分配\n # 平均持仓时间是hold_days,每日都将买入股票,每日预期使用 1/hold_days 的资金\n # 实际操作中,会存在一定的买入误差,所以在前hold_days天,等量使用资金;之后,尽量使用剩余资金(这里设置最多用等量的1.5倍)\n is_staging = context.trading_day_index < context.hold_days # 是否在建仓期间(前 hold_days 天)\n cash_avg = context.portfolio.portfolio_value / context.hold_days\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.perf_tracker.position_tracker.positions.items()}\n\n # 2. 生成卖出订单:hold_days天之后才开始卖出;对持仓的股票,按StockRanker预测的排序末位淘汰\n if not is_staging and cash_for_sell > 0:\n equities = {e.symbol: e for e, p in context.perf_tracker.position_tracker.positions.items()}\n instruments = list(reversed(list(ranker_prediction.instrument[ranker_prediction.instrument.apply(\n lambda x: x in equities and not context.has_unfinished_sell_order(equities[x]))])))\n # print('rank order for sell %s' % instruments)\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. 生成买入订单:按StockRanker预测的排序,买入前面的stock_count只股票\n buy_cash_weights = context.stock_weights\n buy_instruments = list(ranker_prediction.instrument[:len(buy_cash_weights)])\n print(\"买入的股票是:\",buy_instruments)\n max_cash_per_instrument = context.portfolio.portfolio_value * context.max_cash_per_instrument\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 context.order_value(context.symbol(instrument), cash)\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.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.1\n context.hold_days = 2\n","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":"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":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-535"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"options_data","NodeId":"-535"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"history_ds","NodeId":"-535"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"benchmark_ds","NodeId":"-535"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"trading_calendar","NodeId":"-535"}],"OutputPortsInternal":[{"Name":"raw_perf","NodeId":"-535","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":21,"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='-4' Position='-569,-483,200,200'/><NodePosition Node='-128' Position='-570,-376,200,200'/><NodePosition Node='-138' Position='-114,-542,200,200'/><NodePosition Node='-143' Position='-255,-377,200,200'/><NodePosition Node='-150' Position='-256,-306,200,200'/><NodePosition Node='-159' Position='-258,-237,200,200'/><NodePosition Node='-174' Position='-461,-140,200,200'/><NodePosition Node='-186' Position='-417,-53,200,200'/><NodePosition Node='-357' Position='142,-486,200,200'/><NodePosition Node='-365' Position='380,-382,200,200'/><NodePosition Node='-376' Position='73,-380,200,200'/><NodePosition Node='-383' Position='72,-309,200,200'/><NodePosition Node='-392' Position='77,-237,200,200'/><NodePosition Node='-401' Position='250,-134,200,200'/><NodePosition Node='-407' Position='196,-68,200,200'/><NodePosition Node='-454' Position='-329,24,200,200'/><NodePosition Node='-467' Position='55,115,200,200'/><NodePosition Node='-535' Position='7,264,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 [9]:
    # 本代码由可视化策略环境自动生成 2019年4月28日 10:54
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    # 回测引擎:每日数据处理函数,每天执行一次
    def m21_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.head(10))
        # 1. 资金分配
        # 平均持仓时间是hold_days,每日都将买入股票,每日预期使用 1/hold_days 的资金
        # 实际操作中,会存在一定的买入误差,所以在前hold_days天,等量使用资金;之后,尽量使用剩余资金(这里设置最多用等量的1.5倍)
        is_staging = context.trading_day_index < context.hold_days # 是否在建仓期间(前 hold_days 天)
        cash_avg = context.portfolio.portfolio_value / context.hold_days
        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.perf_tracker.position_tracker.positions.items()}
    
        # 2. 生成卖出订单:hold_days天之后才开始卖出;对持仓的股票,按StockRanker预测的排序末位淘汰
        if not is_staging and cash_for_sell > 0:
            equities = {e.symbol: e for e, p in context.perf_tracker.position_tracker.positions.items()}
            instruments = list(reversed(list(ranker_prediction.instrument[ranker_prediction.instrument.apply(
                    lambda x: x in equities and not context.has_unfinished_sell_order(equities[x]))])))
            # print('rank order for sell %s' % instruments)
            for instrument in instruments:
                context.order_target(context.symbol(instrument), 0)
                cash_for_sell -= positions[instrument]
                if cash_for_sell <= 0:
                    break
    
        # 3. 生成买入订单:按StockRanker预测的排序,买入前面的stock_count只股票
        buy_cash_weights = context.stock_weights
        buy_instruments = list(ranker_prediction.instrument[:len(buy_cash_weights)])
        print("买入的股票是:",buy_instruments)
        max_cash_per_instrument = context.portfolio.portfolio_value * context.max_cash_per_instrument
        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:
                context.order_value(context.symbol(instrument), cash)
    
    # 回测引擎:准备数据,只执行一次
    def m21_prepare_bigquant_run(context):
        pass
    
    # 回测引擎:初始化函数,只执行一次
    def m21_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.1
        context.hold_days = 2
    
    # 回测引擎:每个单位时间开始前调用一次,即每日开盘前调用一次。
    def m21_before_trading_start_bigquant_run(context, data):
        pass
    
    
    m1 = M.instruments.v2(
        start_date='2010-01-01',
        end_date='2016-01-01',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    m2 = M.advanced_auto_labeler.v2(
        instruments=m1.data,
        label_expr="""# #号开始的表示注释
    # 0. 每行一个,顺序执行,从第二个开始,可以使用label字段
    # 1. 可用数据字段见 https://bigquant.com/docs/develop/datasource/deprecated/history_data.html
    #   添加benchmark_前缀,可使用对应的benchmark数据
    # 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/develop/bigexpr/usage.html>`_
    
    # 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)
    shift(close, -3) / shift(open, -1)
    
    # 极值处理:用1%和99%分位的值做clip
    clip(label, all_quantile(label, 0.01), all_quantile(label, 0.99))
    
    # 将分数映射到分类,这里使用20个分类
    all_wbins(label, 50)
    
    # 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)
    where(shift(high, -1) == shift(low, -1), NaN, label)
    """,
        start_date='',
        end_date='',
        benchmark='000300.SHA',
        drop_na_label=True,
        cast_label_int=True,
        user_functions={}
    )
    
    m3 = M.input_features.v1(
        features="""
    # #号开始的表示注释,注释需单独一行
    # 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征
    return_1-1
    return_2-1
    return_3-1
    return_4-1
    return_5-1
    return_6-1
    return_7-1
    return_8-1
    return_9-1
    return_10-1
    return_0-1
    return_5/return_0-1
    return_10/return_0-1
    return_5-1
    return_10-1
    return_20-1
    avg_amount_0/avg_amount_5-1
    avg_amount_5/avg_amount_20-1
    rank_avg_amount_0-rank_avg_amount_5
    rank_avg_amount_5-rank_avg_amount_10
    rank_return_0-rank_return_5
    rank_return_5-rank_return_10
    beta_csi300_30_0/10
    beta_csi300_60_0/10
    swing_volatility_5_0/swing_volatility_30_0-1
    swing_volatility_30_0/swing_volatility_60_0-1
    ta_atr_14_0/ta_atr_28_0-1
    ta_sma_5_0/ta_sma_20_0-1
    ta_sma_10_0/ta_sma_20_0-1
    ta_sma_20_0/ta_sma_30_0-1
    ta_sma_30_0/ta_sma_60_0-1
    ta_rsi_14_0/100
    ta_rsi_28_0/100
    ta_cci_14_0/500
    ta_cci_28_0/500
    beta_industry_30_0/10
    beta_industry_60_0/10
    ta_sma(amount_0, 10)/ta_sma(amount_0, 20)-1
    ta_sma(amount_0, 20)/ta_sma(amount_0, 30)-1
    ta_sma(amount_0, 30)/ta_sma(amount_0, 60)-1
    ta_sma(amount_0, 50)/ta_sma(amount_0, 100)-1
    ta_sma(turn_0, 10)/ta_sma(turn_0, 20)-1
    ta_sma(turn_0, 20)/ta_sma(turn_0, 30)-1
    ta_sma(turn_0, 30)/ta_sma(turn_0, 60)-1
    ta_sma(turn_0, 50)/ta_sma(turn_0, 100)-1
    high_0/low_0-1
    close_0/open_0-1
    shift(close_0,1)/close_0-1
    shift(close_0,2)/close_0-1
    shift(close_0,3)/close_0-1
    shift(close_0,4)/close_0-1
    shift(close_0,5)/close_0-1
    shift(close_0,10)/close_0-1
    shift(close_0,20)/close_0-1
    ta_sma(high_0-low_0, 5)/ta_sma(high_0-low_0, 20)-1
    ta_sma(high_0-low_0, 10)/ta_sma(high_0-low_0, 20)-1
    ta_sma(high_0-low_0, 20)/ta_sma(high_0-low_0, 30)-1
    ta_sma(high_0-low_0, 30)/ta_sma(high_0-low_0, 60)-1
    ta_sma(high_0-low_0, 50)/ta_sma(high_0-low_0, 100)-1
    rank_avg_amount_5
    rank_avg_turn_5
    rank_volatility_5_0
    rank_swing_volatility_5_0
    rank_avg_mf_net_amount_5
    rank_beta_industry_5_0
    rank_return_5
    rank_return_2
    std(close_0,5)/std(close_0,20)-1
    std(close_0,10)/std(close_0,20)-1
    std(close_0,20)/std(close_0,30)-1
    std(close_0,30)/std(close_0,60)-1
    std(close_0,50)/std(close_0,100)-1
    
    """
    )
    
    m4 = M.general_feature_extractor.v7(
        instruments=m1.data,
        features=m3.data,
        start_date='',
        end_date='',
        before_start_days=240
    )
    
    m5 = M.chinaa_stock_filter.v1(
        input_data=m4.data,
        index_constituent_cond=['全部'],
        board_cond=['上证主板', '深证主板'],
        industry_cond=['全部'],
        st_cond=['正常'],
        output_left_data=False
    )
    
    m6 = M.derived_feature_extractor.v3(
        input_data=m5.data,
        features=m3.data,
        date_col='date',
        instrument_col='instrument',
        drop_na=False,
        remove_extra_columns=False,
        user_functions={}
    )
    
    m7 = M.join.v3(
        data1=m2.data,
        data2=m6.data,
        on='date,instrument',
        how='inner',
        sort=False
    )
    
    m8 = M.dropnan.v1(
        input_data=m7.data
    )
    
    m10 = M.stock_ranker_train.v5(
        training_ds=m8.data,
        features=m3.data,
        learning_algorithm='排序',
        number_of_leaves=500,
        minimum_docs_per_leaf=1000,
        number_of_trees=500,
        learning_rate=0.25,
        max_bins=512,
        feature_fraction=0.7,
        m_lazy_run=False
    )
    
    m11 = M.instruments.v2(
        start_date='2019-02-11',
        end_date='2019-04-26',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    m12 = M.advanced_auto_labeler.v2(
        instruments=m11.data,
        label_expr="""# #号开始的表示注释
    # 0. 每行一个,顺序执行,从第二个开始,可以使用label字段
    # 1. 可用数据字段见 https://bigquant.com/docs/develop/datasource/deprecated/history_data.html
    #   添加benchmark_前缀,可使用对应的benchmark数据
    # 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/develop/bigexpr/usage.html>`_
    
    # 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)
    shift(close, -3) / shift(open, -1)
    
    # 极值处理:用1%和99%分位的值做clip
    clip(label, all_quantile(label, 0.01), all_quantile(label, 0.99))
    
    # 将分数映射到分类,这里使用20个分类
    all_wbins(label, 50)
    
    # 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)
    where(shift(high, -1) == shift(low, -1), NaN, label)
    """,
        start_date='',
        end_date='',
        benchmark='000300.SHA',
        drop_na_label=True,
        cast_label_int=True,
        user_functions={}
    )
    
    m13 = M.general_feature_extractor.v7(
        instruments=m11.data,
        features=m3.data,
        start_date='',
        end_date='',
        before_start_days=240
    )
    
    m14 = M.chinaa_stock_filter.v1(
        input_data=m13.data,
        index_constituent_cond=['全部'],
        board_cond=['上证主板', '深证主板'],
        industry_cond=['全部'],
        st_cond=['正常'],
        output_left_data=False
    )
    
    m15 = M.derived_feature_extractor.v3(
        input_data=m14.data,
        features=m3.data,
        date_col='date',
        instrument_col='instrument',
        drop_na=False,
        remove_extra_columns=False,
        user_functions={}
    )
    
    m16 = M.join.v3(
        data1=m12.data,
        data2=m15.data,
        on='date,instrument',
        how='inner',
        sort=False
    )
    
    m17 = M.dropnan.v1(
        input_data=m16.data
    )
    
    m19 = M.stock_ranker_predict.v5(
        model=m10.model,
        data=m17.data,
        m_lazy_run=False
    )
    
    m21 = M.trade.v4(
        instruments=m11.data,
        options_data=m19.predictions,
        start_date='',
        end_date='',
        handle_data=m21_handle_data_bigquant_run,
        prepare=m21_prepare_bigquant_run,
        initialize=m21_initialize_bigquant_run,
        before_trading_start=m21_before_trading_start_bigquant_run,
        volume_limit=0.025,
        order_price_field_buy='open',
        order_price_field_sell='close',
        capital_base=1000000,
        auto_cancel_non_tradable_orders=True,
        data_frequency='daily',
        price_type='后复权',
        product_type='股票',
        plot_charts=True,
        backtest_only=False,
        benchmark=''
    )
    
    设置测试数据集,查看训练迭代过程的NDCG
    bigcharts-data-start/{"__id":"bigchart-1f1e62da18664d8b9d7a97c842de0c5e","__type":"tabs"}/bigcharts-data-end
            date  instrument     score  position
    0 2019-02-11  000622.SZA  4.804447         1
    1 2019-02-11  600146.SHA  2.838847         2
    2 2019-02-11  002547.SZA  2.665663         3
    3 2019-02-11  000890.SZA  2.497163         4
    4 2019-02-11  600218.SHA  2.490060         5
    5 2019-02-11  600331.SHA  2.408367         6
    6 2019-02-11  000055.SZA  2.401081         7
    7 2019-02-11  600240.SHA  2.248537         8
    8 2019-02-11  002927.SZA  2.246196         9
    9 2019-02-11  600446.SHA  2.205583        10
    买入的股票是: ['000622.SZA', '600146.SHA', '002547.SZA', '000890.SZA', '600218.SHA']
               date  instrument     score  position
    2643 2019-02-12  600218.SHA  3.485579         1
    2644 2019-02-12  600776.SHA  3.377724         2
    2645 2019-02-12  600446.SHA  3.019555         3
    2646 2019-02-12  000055.SZA  2.881885         4
    2647 2019-02-12  002927.SZA  2.711210         5
    2648 2019-02-12  000957.SZA  2.159482         6
    2649 2019-02-12  600975.SHA  2.007434         7
    2650 2019-02-12  002491.SZA  1.827597         8
    2651 2019-02-12  600518.SHA  1.824214         9
    2652 2019-02-12  002017.SZA  1.803680        10
    买入的股票是: ['600218.SHA', '600776.SHA', '600446.SHA', '000055.SZA', '002927.SZA']
               date  instrument     score  position
    5285 2019-02-13  000518.SZA  3.988923         1
    5286 2019-02-13  002635.SZA  2.634271         2
    5287 2019-02-13  002384.SZA  2.529157         3
    5288 2019-02-13  600518.SHA  2.242812         4
    5289 2019-02-13  603226.SHA  2.153001         5
    5290 2019-02-13  002157.SZA  1.955055         6
    5291 2019-02-13  000806.SZA  1.924598         7
    5292 2019-02-13  600565.SHA  1.845887         8
    5293 2019-02-13  000622.SZA  1.824855         9
    5294 2019-02-13  600776.SHA  1.808025        10
    买入的股票是: ['000518.SZA', '002635.SZA', '002384.SZA', '600518.SHA', '603226.SHA']
               date  instrument     score  position
    7924 2019-02-14  603156.SHA  2.945811         1
    7925 2019-02-14  000636.SZA  2.870285         2
    7926 2019-02-14  603226.SHA  2.823814         3
    7927 2019-02-14  603133.SHA  2.668240         4
    7928 2019-02-14  000049.SZA  2.529302         5
    7929 2019-02-14  002491.SZA  2.462968         6
    7930 2019-02-14  002669.SZA  2.443170         7
    7931 2019-02-14  603959.SHA  2.435251         8
    7932 2019-02-14  000518.SZA  2.260736         9
    7933 2019-02-14  600518.SHA  2.070490        10
    买入的股票是: ['603156.SHA', '000636.SZA', '603226.SHA', '603133.SHA', '000049.SZA']
                date  instrument     score  position
    10566 2019-02-15  603226.SHA  3.276935         1
    10567 2019-02-15  603027.SHA  3.089160         2
    10568 2019-02-15  002878.SZA  2.919576         3
    10569 2019-02-15  000826.SZA  2.856672         4
    10570 2019-02-15  603730.SHA  2.823501         5
    10571 2019-02-15  002567.SZA  2.780889         6
    10572 2019-02-15  000407.SZA  2.642703         7
    10573 2019-02-15  002218.SZA  2.585133         8
    10574 2019-02-15  002111.SZA  2.573368         9
    10575 2019-02-15  000049.SZA  2.506860        10
    买入的股票是: ['603226.SHA', '603027.SHA', '002878.SZA', '000826.SZA', '603730.SHA']
                date  instrument     score  position
    13204 2019-02-18  600073.SHA  2.609583         1
    13205 2019-02-18  000681.SZA  2.346725         2
    13206 2019-02-18  000812.SZA  1.926885         3
    13207 2019-02-18  600960.SHA  1.900484         4
    13208 2019-02-18  002812.SZA  1.865192         5
    13209 2019-02-18  002878.SZA  1.822250         6
    13210 2019-02-18  603329.SHA  1.805839         7
    13211 2019-02-18  002324.SZA  1.635395         8
    13212 2019-02-18  000993.SZA  1.602159         9
    13213 2019-02-18  603156.SHA  1.600644        10
    买入的股票是: ['600073.SHA', '000681.SZA', '000812.SZA', '600960.SHA', '002812.SZA']
                date  instrument     score  position
    15841 2019-02-19  603380.SHA  3.202803         1
    15842 2019-02-19  600366.SHA  3.158020         2
    15843 2019-02-19  002245.SZA  2.987902         3
    15844 2019-02-19  601375.SHA  2.833746         4
    15845 2019-02-19  600172.SHA  2.711620         5
    15846 2019-02-19  600621.SHA  2.642998         6
    15847 2019-02-19  603757.SHA  2.595649         7
    15848 2019-02-19  002878.SZA  2.546194         8
    15849 2019-02-19  002762.SZA  2.524147         9
    15850 2019-02-19  603226.SHA  2.465802        10
    买入的股票是: ['603380.SHA', '600366.SHA', '002245.SZA', '601375.SHA', '600172.SHA']
                date  instrument     score  position
    18481 2019-02-20  002232.SZA  3.935616         1
    18482 2019-02-20  002845.SZA  3.599813         2
    18483 2019-02-20  000068.SZA  3.241285         3
    18484 2019-02-20  603011.SHA  3.140019         4
    18485 2019-02-20  002758.SZA  2.938390         5
    18486 2019-02-20  603156.SHA  2.912181         6
    18487 2019-02-20  600984.SHA  2.884545         7
    18488 2019-02-20  603359.SHA  2.849608         8
    18489 2019-02-20  002926.SZA  2.704774         9
    18490 2019-02-20  603180.SHA  2.640735        10
    买入的股票是: ['002232.SZA', '002845.SZA', '000068.SZA', '603011.SHA', '002758.SZA']
                date  instrument     score  position
    21130 2019-02-21  603359.SHA  4.229581         1
    21131 2019-02-21  603079.SHA  4.082145         2
    21132 2019-02-21  002191.SZA  3.462069         3
    21133 2019-02-21  002587.SZA  3.384256         4
    21134 2019-02-21  000826.SZA  2.856829         5
    21135 2019-02-21  000557.SZA  2.788930         6
    21136 2019-02-21  002868.SZA  2.765126         7
    21137 2019-02-21  600064.SHA  2.757763         8
    21138 2019-02-21  002788.SZA  2.734872         9
    21139 2019-02-21  002326.SZA  2.714369        10
    买入的股票是: ['603359.SHA', '603079.SHA', '002191.SZA', '002587.SZA', '000826.SZA']
                date  instrument     score  position
    23788 2019-02-22  600856.SHA  2.415885         1
    23789 2019-02-22  002377.SZA  2.413991         2
    23790 2019-02-22  000876.SZA  2.408658         3
    23791 2019-02-22  002196.SZA  2.338550         4
    23792 2019-02-22  002700.SZA  2.289510         5
    23793 2019-02-22  002094.SZA  2.276407         6
    23794 2019-02-22  603079.SHA  2.157050         7
    23795 2019-02-22  603027.SHA  2.113703         8
    23796 2019-02-22  603798.SHA  2.104500         9
    23797 2019-02-22  603033.SHA  2.101452        10
    买入的股票是: ['600856.SHA', '002377.SZA', '000876.SZA', '002196.SZA', '002700.SZA']
                date  instrument     score  position
    26428 2019-02-25  603977.SHA  2.881301         1
    26429 2019-02-25  601198.SHA  2.573894         2
    26430 2019-02-25  000518.SZA  2.566403         3
    26431 2019-02-25  000776.SZA  2.491669         4
    26432 2019-02-25  600396.SHA  2.415774         5
    26433 2019-02-25  603798.SHA  2.386035         6
    26434 2019-02-25  600570.SHA  2.304390         7
    26435 2019-02-25  601377.SHA  2.257155         8
    26436 2019-02-25  002916.SZA  2.189810         9
    26437 2019-02-25  600243.SHA  2.185505        10
    买入的股票是: ['603977.SHA', '601198.SHA', '000518.SZA', '000776.SZA', '600396.SHA']
                date  instrument     score  position
    29079 2019-02-26  600775.SHA  3.887069         1
    29080 2019-02-26  000070.SZA  3.326265         2
    29081 2019-02-26  600570.SHA  3.283594         3
    29082 2019-02-26  603027.SHA  3.002880         4
    29083 2019-02-26  601108.SHA  2.910470         5
    29084 2019-02-26  600636.SHA  2.897946         6
    29085 2019-02-26  600243.SHA  2.851239         7
    29086 2019-02-26  603337.SHA  2.791468         8
    29087 2019-02-26  600565.SHA  2.673258         9
    29088 2019-02-26  002213.SZA  2.666054        10
    买入的股票是: ['600775.SHA', '000070.SZA', '600570.SHA', '603027.SHA', '601108.SHA']
                date  instrument     score  position
    31733 2019-02-27  600565.SHA  3.961002         1
    31734 2019-02-27  002451.SZA  3.424734         2
    31735 2019-02-27  603320.SHA  3.404509         3
    31736 2019-02-27  600243.SHA  3.318333         4
    31737 2019-02-27  600734.SHA  3.130504         5
    31738 2019-02-27  002821.SZA  3.125620         6
    31739 2019-02-27  600776.SHA  2.835664         7
    31740 2019-02-27  000070.SZA  2.771331         8
    31741 2019-02-27  601066.SHA  2.755870         9
    31742 2019-02-27  603828.SHA  2.749852        10
    买入的股票是: ['600565.SHA', '002451.SZA', '603320.SHA', '600243.SHA', '600734.SHA']
                date  instrument     score  position
    34397 2019-02-28  601375.SHA  4.614122         1
    34398 2019-02-28  601700.SHA  4.021184         2
    34399 2019-02-28  002337.SZA  3.068361         3
    34400 2019-02-28  000862.SZA  3.007030         4
    34401 2019-02-28  600783.SHA  2.911993         5
    34402 2019-02-28  600864.SHA  2.876532         6
    34403 2019-02-28  603516.SHA  2.826038         7
    34404 2019-02-28  002477.SZA  2.801440         8
    34405 2019-02-28  600331.SHA  2.763873         9
    34406 2019-02-28  600614.SHA  2.692859        10
    买入的股票是: ['601375.SHA', '601700.SHA', '002337.SZA', '000862.SZA', '600783.SHA']
                date  instrument     score  position
    37064 2019-03-01  600614.SHA  3.593679         1
    37065 2019-03-01  002692.SZA  3.375785         2
    37066 2019-03-01  002387.SZA  3.195106         3
    37067 2019-03-01  002858.SZA  2.985268         4
    37068 2019-03-01  002451.SZA  2.860903         5
    37069 2019-03-01  603859.SHA  2.831690         6
    37070 2019-03-01  000839.SZA  2.664236         7
    37071 2019-03-01  002477.SZA  2.646243         8
    37072 2019-03-01  002875.SZA  2.612882         9
    37073 2019-03-01  600369.SHA  2.570069        10
    买入的股票是: ['600614.SHA', '002692.SZA', '002387.SZA', '002858.SZA', '002451.SZA']
                date  instrument     score  position
    39730 2019-03-04  600622.SHA  3.458134         1
    39731 2019-03-04  002870.SZA  3.008284         2
    39732 2019-03-04  002220.SZA  2.865085         3
    39733 2019-03-04  600695.SHA  2.863413         4
    39734 2019-03-04  002192.SZA  2.821724         5
    39735 2019-03-04  000727.SZA  2.640734         6
    39736 2019-03-04  000018.SZA  2.504748         7
    39737 2019-03-04  601375.SHA  2.464019         8
    39738 2019-03-04  601519.SHA  2.276444         9
    39739 2019-03-04  600864.SHA  2.229584        10
    买入的股票是: ['600622.SHA', '002870.SZA', '002220.SZA', '600695.SHA', '002192.SZA']
                date  instrument     score  position
    42389 2019-03-05  002592.SZA  3.334973         1
    42390 2019-03-05  002651.SZA  2.518124         2
    42391 2019-03-05  002681.SZA  2.353170         3
    42392 2019-03-05  000682.SZA  2.180607         4
    42393 2019-03-05  000911.SZA  2.103646         5
    42394 2019-03-05  000338.SZA  2.005227         6
    42395 2019-03-05  600689.SHA  1.934176         7
    42396 2019-03-05  000572.SZA  1.930199         8
    42397 2019-03-05  603315.SHA  1.925827         9
    42398 2019-03-05  000969.SZA  1.910209        10
    买入的股票是: ['002592.SZA', '002651.SZA', '002681.SZA', '000682.SZA', '000911.SZA']
                date  instrument     score  position
    45047 2019-03-06  000920.SZA  2.722168         1
    45048 2019-03-06  600060.SHA  2.697408         2
    45049 2019-03-06  002651.SZA  2.651058         3
    45050 2019-03-06  603963.SHA  2.650630         4
    45051 2019-03-06  002869.SZA  2.576754         5
    45052 2019-03-06  603538.SHA  2.350428         6
    45053 2019-03-06  002912.SZA  2.210378         7
    45054 2019-03-06  600354.SHA  2.194018         8
    45055 2019-03-06  600689.SHA  2.184117         9
    45056 2019-03-06  603041.SHA  2.173168        10
    买入的股票是: ['000920.SZA', '600060.SHA', '002651.SZA', '603963.SHA', '002869.SZA']
                date  instrument     score  position
    47702 2019-03-07  000977.SZA  2.661155         1
    47703 2019-03-07  000920.SZA  2.435762         2
    47704 2019-03-07  002816.SZA  2.320553         3
    47705 2019-03-07  600746.SHA  2.095294         4
    47706 2019-03-07  002674.SZA  2.093804         5
    47707 2019-03-07  603199.SHA  2.008198         6
    47708 2019-03-07  000668.SZA  1.963003         7
    47709 2019-03-07  002847.SZA  1.952849         8
    47710 2019-03-07  002475.SZA  1.880854         9
    47711 2019-03-07  603228.SHA  1.849449        10
    买入的股票是: ['000977.SZA', '000920.SZA', '002816.SZA', '600746.SHA', '002674.SZA']
                date  instrument     score  position
    50373 2019-03-08  000622.SZA  4.216228         1
    50374 2019-03-08  002633.SZA  4.000389         2
    50375 2019-03-08  600319.SHA  3.924426         3
    50376 2019-03-08  603029.SHA  3.876499         4
    50377 2019-03-08  603041.SHA  3.619643         5
    50378 2019-03-08  002265.SZA  3.345163         6
    50379 2019-03-08  603488.SHA  3.211052         7
    50380 2019-03-08  603021.SHA  3.203036         8
    50381 2019-03-08  002377.SZA  3.167011         9
    50382 2019-03-08  000502.SZA  3.138635        10
    买入的股票是: ['000622.SZA', '002633.SZA', '600319.SHA', '603029.SHA', '603041.SHA']
                date  instrument     score  position
    53037 2019-03-11  002686.SZA  4.269409         1
    53038 2019-03-11  600306.SHA  3.690817         2
    53039 2019-03-11  600689.SHA  3.488142         3
    53040 2019-03-11  000502.SZA  3.309631         4
    53041 2019-03-11  002548.SZA  3.296222         5
    53042 2019-03-11  002811.SZA  3.292435         6
    53043 2019-03-11  002054.SZA  3.097663         7
    53044 2019-03-11  002799.SZA  3.089017         8
    53045 2019-03-11  600235.SHA  3.080746         9
    53046 2019-03-11  000088.SZA  3.049989        10
    买入的股票是: ['002686.SZA', '600306.SHA', '600689.SHA', '000502.SZA', '002548.SZA']
                date  instrument     score  position
    55699 2019-03-12  600192.SHA  3.547763         1
    55700 2019-03-12  603016.SHA  3.521928         2
    55701 2019-03-12  002606.SZA  3.266951         3
    55702 2019-03-12  000751.SZA  3.223073         4
    55703 2019-03-12  600306.SHA  2.963207         5
    55704 2019-03-12  600677.SHA  2.959826         6
    55705 2019-03-12  603618.SHA  2.892419         7
    55706 2019-03-12  002220.SZA  2.806529         8
    55707 2019-03-12  000810.SZA  2.761062         9
    55708 2019-03-12  603129.SHA  2.753874        10
    买入的股票是: ['600192.SHA', '603016.SHA', '002606.SZA', '000751.SZA', '600306.SHA']
                date  instrument     score  position
    58371 2019-03-13  000751.SZA  4.072525         1
    58372 2019-03-13  600302.SHA  3.859813         2
    58373 2019-03-13  603085.SHA  3.614422         3
    58374 2019-03-13  002862.SZA  3.538068         4
    58375 2019-03-13  000977.SZA  3.514043         5
    58376 2019-03-13  002667.SZA  3.456626         6
    58377 2019-03-13  002863.SZA  3.443895         7
    58378 2019-03-13  002231.SZA  3.390368         8
    58379 2019-03-13  600571.SHA  3.212054         9
    58380 2019-03-13  600614.SHA  3.198936        10
    买入的股票是: ['000751.SZA', '600302.SHA', '603085.SHA', '002862.SZA', '000977.SZA']
                date  instrument     score  position
    61049 2019-03-14  002210.SZA  5.167987         1
    61050 2019-03-14  600493.SHA  4.636309         2
    61051 2019-03-14  000758.SZA  4.594843         3
    61052 2019-03-14  603022.SHA  4.535094         4
    61053 2019-03-14  002761.SZA  4.246966         5
    61054 2019-03-14  000586.SZA  4.245537         6
    61055 2019-03-14  002524.SZA  4.056357         7
    61056 2019-03-14  002723.SZA  3.991324         8
    61057 2019-03-14  002667.SZA  3.681049         9
    61058 2019-03-14  600603.SHA  3.609376        10
    买入的股票是: ['002210.SZA', '600493.SHA', '000758.SZA', '603022.SHA', '002761.SZA']
                date  instrument     score  position
    63728 2019-03-15  603019.SHA  4.566478         1
    63729 2019-03-15  603383.SHA  4.154051         2
    63730 2019-03-15  002131.SZA  4.140289         3
    63731 2019-03-15  603501.SHA  3.979423         4
    63732 2019-03-15  600235.SHA  3.895631         5
    63733 2019-03-15  002100.SZA  3.849624         6
    63734 2019-03-15  002073.SZA  3.738314         7
    63735 2019-03-15  603022.SHA  3.725806         8
    63736 2019-03-15  601519.SHA  3.692100         9
    63737 2019-03-15  600684.SHA  3.486707        10
    买入的股票是: ['603019.SHA', '603383.SHA', '002131.SZA', '603501.SHA', '600235.SHA']
                date  instrument     score  position
    66407 2019-03-18  600356.SHA  4.159080         1
    66408 2019-03-18  600128.SHA  3.799970         2
    66409 2019-03-18  601811.SHA  3.431195         3
    66410 2019-03-18  002292.SZA  3.242821         4
    66411 2019-03-18  600846.SHA  3.015804         5
    66412 2019-03-18  603363.SHA  3.010575         6
    66413 2019-03-18  600624.SHA  2.969852         7
    66414 2019-03-18  000682.SZA  2.808110         8
    66415 2019-03-18  603283.SHA  2.627121         9
    66416 2019-03-18  000811.SZA  2.504886        10
    买入的股票是: ['600356.SHA', '600128.SHA', '601811.SHA', '002292.SZA', '600846.SHA']
                date  instrument     score  position
    69087 2019-03-19  002302.SZA  4.501176         1
    69088 2019-03-19  000860.SZA  3.425872         2
    69089 2019-03-19  002072.SZA  3.098163         3
    69090 2019-03-19  002508.SZA  2.821348         4
    69091 2019-03-19  601890.SHA  2.754291         5
    69092 2019-03-19  002385.SZA  2.735704         6
    69093 2019-03-19  600235.SHA  2.695394         7
    69094 2019-03-19  002856.SZA  2.592886         8
    69095 2019-03-19  600969.SHA  2.536999         9
    69096 2019-03-19  002782.SZA  2.535192        10
    买入的股票是: ['002302.SZA', '000860.SZA', '002072.SZA', '002508.SZA', '601890.SHA']
                date  instrument     score  position
    71763 2019-03-20  600460.SHA  4.178675         1
    71764 2019-03-20  603730.SHA  3.429820         2
    71765 2019-03-20  603516.SHA  3.001788         3
    71766 2019-03-20  002231.SZA  2.758469         4
    71767 2019-03-20  002761.SZA  2.701670         5
    71768 2019-03-20  600356.SHA  2.684580         6
    71769 2019-03-20  002782.SZA  2.674013         7
    71770 2019-03-20  603888.SHA  2.665575         8
    71771 2019-03-20  600375.SHA  2.573679         9
    71772 2019-03-20  000911.SZA  2.536168        10
    买入的股票是: ['600460.SHA', '603730.SHA', '603516.SHA', '002231.SZA', '002761.SZA']
                date  instrument     score  position
    74434 2019-03-21  603363.SHA  3.048168         1
    74435 2019-03-21  002371.SZA  2.939264         2
    74436 2019-03-21  000789.SZA  2.901358         3
    74437 2019-03-21  002780.SZA  2.607760         4
    74438 2019-03-21  002302.SZA  2.365173         5
    74439 2019-03-21  600526.SHA  2.301039         6
    74440 2019-03-21  603822.SHA  2.227206         7
    74441 2019-03-21  002384.SZA  2.192633         8
    74442 2019-03-21  603519.SHA  2.154768         9
    74443 2019-03-21  601607.SHA  2.100051        10
    买入的股票是: ['603363.SHA', '002371.SZA', '000789.SZA', '002780.SZA', '002302.SZA']
                date  instrument     score  position
    77111 2019-03-22  002567.SZA  3.670023         1
    77112 2019-03-22  002198.SZA  3.054323         2
    77113 2019-03-22  000691.SZA  2.933165         3
    77114 2019-03-22  603519.SHA  2.569777         4
    77115 2019-03-22  603707.SHA  2.497801         5
    77116 2019-03-22  600302.SHA  2.314615         6
    77117 2019-03-22  600666.SHA  2.254309         7
    77118 2019-03-22  603363.SHA  2.186070         8
    77119 2019-03-22  002507.SZA  2.145927         9
    77120 2019-03-22  000826.SZA  2.084139        10
    买入的股票是: ['002567.SZA', '002198.SZA', '000691.SZA', '603519.SHA', '603707.SHA']
                date  instrument     score  position
    79785 2019-03-25  603429.SHA  4.045447         1
    79786 2019-03-25  603679.SHA  3.080401         2
    79787 2019-03-25  600071.SHA  2.763740         3
    79788 2019-03-25  000560.SZA  2.457178         4
    79789 2019-03-25  600302.SHA  2.446600         5
    79790 2019-03-25  603696.SHA  2.413106         6
    79791 2019-03-25  002821.SZA  2.340069         7
    79792 2019-03-25  600562.SHA  2.251335         8
    79793 2019-03-25  600306.SHA  2.215450         9
    79794 2019-03-25  603730.SHA  2.061660        10
    买入的股票是: ['603429.SHA', '603679.SHA', '600071.SHA', '000560.SZA', '600302.SHA']
                date  instrument     score  position
    82457 2019-03-26  600526.SHA  3.559133         1
    82458 2019-03-26  000661.SZA  3.360141         2
    82459 2019-03-26  002554.SZA  3.313035         3
    82460 2019-03-26  000826.SZA  3.166665         4
    82461 2019-03-26  002642.SZA  3.149169         5
    82462 2019-03-26  600604.SHA  3.130525         6
    82463 2019-03-26  603679.SHA  3.114019         7
    82464 2019-03-26  603519.SHA  3.086143         8
    82465 2019-03-26  603158.SHA  2.957911         9
    82466 2019-03-26  002773.SZA  2.785777        10
    买入的股票是: ['600526.SHA', '000661.SZA', '002554.SZA', '000826.SZA', '002642.SZA']
                date  instrument     score  position
    85131 2019-03-27  603679.SHA  5.006473         1
    85132 2019-03-27  000536.SZA  3.823876         2
    85133 2019-03-27  002175.SZA  3.674380         3
    85134 2019-03-27  000727.SZA  3.461128         4
    85135 2019-03-27  601700.SHA  3.436146         5
    85136 2019-03-27  600652.SHA  3.353255         6
    85137 2019-03-27  002199.SZA  3.182230         7
    85138 2019-03-27  000063.SZA  3.175709         8
    85139 2019-03-27  603666.SHA  3.109252         9
    85140 2019-03-27  601208.SHA  3.073169        10
    买入的股票是: ['603679.SHA', '000536.SZA', '002175.SZA', '000727.SZA', '601700.SHA']
                date  instrument     score  position
    87800 2019-03-28  603297.SHA  3.726157         1
    87801 2019-03-28  000911.SZA  3.300697         2
    87802 2019-03-28  600604.SHA  3.220579         3
    87803 2019-03-28  000936.SZA  3.206413         4
    87804 2019-03-28  000606.SZA  3.171364         5
    87805 2019-03-28  002109.SZA  3.101823         6
    87806 2019-03-28  600319.SHA  3.072808         7
    87807 2019-03-28  000715.SZA  2.983555         8
    87808 2019-03-28  600831.SHA  2.977128         9
    87809 2019-03-28  000068.SZA  2.961662        10
    买入的股票是: ['603297.SHA', '000911.SZA', '600604.SHA', '000936.SZA', '000606.SZA']
                date  instrument     score  position
    90474 2019-03-29  002175.SZA  4.873818         1
    90475 2019-03-29  000715.SZA  3.619065         2
    90476 2019-03-29  000993.SZA  3.514551         3
    90477 2019-03-29  600290.SHA  3.335791         4
    90478 2019-03-29  000068.SZA  3.062460         5
    90479 2019-03-29  600604.SHA  2.713441         6
    90480 2019-03-29  002816.SZA  2.619763         7
    90481 2019-03-29  000936.SZA  2.575106         8
    90482 2019-03-29  002328.SZA  2.532765         9
    90483 2019-03-29  002305.SZA  2.387885        10
    买入的股票是: ['002175.SZA', '000715.SZA', '000993.SZA', '600290.SHA', '000068.SZA']
                date  instrument     score  position
    93141 2019-04-01  002175.SZA  4.454497         1
    93142 2019-04-01  601890.SHA  3.723934         2
    93143 2019-04-01  600532.SHA  3.389282         3
    93144 2019-04-01  000777.SZA  2.986797         4
    93145 2019-04-01  002747.SZA  2.879292         5
    93146 2019-04-01  002418.SZA  2.874773         6
    93147 2019-04-01  603139.SHA  2.792371         7
    93148 2019-04-01  601965.SHA  2.732318         8
    93149 2019-04-01  002199.SZA  2.672822         9
    93150 2019-04-01  002198.SZA  2.558108        10
    买入的股票是: ['002175.SZA', '601890.SHA', '600532.SHA', '000777.SZA', '002747.SZA']
                date  instrument     score  position
    95817 2019-04-02  002130.SZA  3.979649         1
    95818 2019-04-02  603701.SHA  3.663130         2
    95819 2019-04-02  600733.SHA  3.368953         3
    95820 2019-04-02  002199.SZA  3.071443         4
    95821 2019-04-02  600815.SHA  2.867134         5
    95822 2019-04-02  000761.SZA  2.802409         6
    95823 2019-04-02  600758.SHA  2.790831         7
    95824 2019-04-02  002783.SZA  2.587134         8
    95825 2019-04-02  600978.SHA  2.479370         9
    95826 2019-04-02  601068.SHA  2.356723        10
    买入的股票是: ['002130.SZA', '603701.SHA', '600733.SHA', '002199.SZA', '600815.SHA']
                date  instrument     score  position
    98499 2019-04-03  000990.SZA  3.516430         1
    98500 2019-04-03  002199.SZA  3.343498         2
    98501 2019-04-03  000807.SZA  3.224619         3
    98502 2019-04-03  002210.SZA  2.710317         4
    98503 2019-04-03  000529.SZA  2.473209         5
    98504 2019-04-03  002377.SZA  2.275972         6
    98505 2019-04-03  603139.SHA  2.273141         7
    98506 2019-04-03  002905.SZA  2.075582         8
    98507 2019-04-03  000656.SZA  2.059389         9
    98508 2019-04-03  002783.SZA  2.056001        10
    买入的股票是: ['000990.SZA', '002199.SZA', '000807.SZA', '002210.SZA', '000529.SZA']
                 date  instrument     score  position
    101172 2019-04-04  600615.SHA  3.350014         1
    101173 2019-04-04  002199.SZA  3.276869         2
    101174 2019-04-04  600815.SHA  2.928818         3
    101175 2019-04-04  002611.SZA  2.841898         4
    101176 2019-04-04  000159.SZA  2.770513         5
    101177 2019-04-04  002812.SZA  2.709805         6
    101178 2019-04-04  600346.SHA  2.660152         7
    101179 2019-04-04  603799.SHA  2.447219         8
    101180 2019-04-04  600546.SHA  2.310911         9
    101181 2019-04-04  603013.SHA  2.289621        10
    买入的股票是: ['600615.SHA', '002199.SZA', '600815.SHA', '002611.SZA', '000159.SZA']
                 date  instrument     score  position
    103837 2019-04-08  002611.SZA  3.518144         1
    103838 2019-04-08  002849.SZA  3.311042         2
    103839 2019-04-08  002918.SZA  2.809244         3
    103840 2019-04-08  600859.SHA  2.788910         4
    103841 2019-04-08  600006.SHA  2.669858         5
    103842 2019-04-08  600793.SHA  2.640725         6
    103843 2019-04-08  600733.SHA  2.621967         7
    103844 2019-04-08  002699.SZA  2.598761         8
    103845 2019-04-08  002799.SZA  2.558063         9
    103846 2019-04-08  002847.SZA  2.539126        10
    买入的股票是: ['002611.SZA', '002849.SZA', '002918.SZA', '600859.SHA', '600006.SHA']
                 date  instrument     score  position
    106521 2019-04-09  603363.SHA  4.166196         1
    106522 2019-04-09  601633.SHA  3.656933         2
    106523 2019-04-09  002048.SZA  2.798620         3
    106524 2019-04-09  603679.SHA  2.681314         4
    106525 2019-04-09  603626.SHA  2.632359         5
    106526 2019-04-09  000711.SZA  2.574441         6
    106527 2019-04-09  002798.SZA  2.558256         7
    106528 2019-04-09  002817.SZA  2.530398         8
    106529 2019-04-09  600666.SHA  2.465770         9
    106530 2019-04-09  600199.SHA  2.394918        10
    买入的股票是: ['603363.SHA', '601633.SHA', '002048.SZA', '603679.SHA', '603626.SHA']
                 date  instrument     score  position
    109202 2019-04-10  600199.SHA  3.516824         1
    109203 2019-04-10  600975.SHA  3.141747         2
    109204 2019-04-10  002221.SZA  2.981569         3
    109205 2019-04-10  000711.SZA  2.924551         4
    109206 2019-04-10  603396.SHA  2.727508         5
    109207 2019-04-10  600278.SHA  2.674074         6
    109208 2019-04-10  002567.SZA  2.661410         7
    109209 2019-04-10  000822.SZA  2.573021         8
    109210 2019-04-10  002017.SZA  2.568361         9
    109211 2019-04-10  603711.SHA  2.478736        10
    买入的股票是: ['600199.SHA', '600975.SHA', '002221.SZA', '000711.SZA', '603396.SHA']
                 date  instrument     score  position
    111878 2019-04-11  002883.SZA  3.745105         1
    111879 2019-04-11  603709.SHA  3.386966         2
    111880 2019-04-11  002329.SZA  3.275525         3
    111881 2019-04-11  600155.SHA  3.183764         4
    111882 2019-04-11  600131.SHA  3.132714         5
    111883 2019-04-11  002189.SZA  3.021580         6
    111884 2019-04-11  600758.SHA  2.919250         7
    111885 2019-04-11  002530.SZA  2.904800         8
    111886 2019-04-11  600716.SHA  2.885510         9
    111887 2019-04-11  000678.SZA  2.867330        10
    买入的股票是: ['002883.SZA', '603709.SHA', '002329.SZA', '600155.SHA', '600131.SHA']
                 date  instrument     score  position
    114558 2019-04-12  603063.SHA  3.633238         1
    114559 2019-04-12  000860.SZA  3.611365         2
    114560 2019-04-12  002035.SZA  3.320290         3
    114561 2019-04-12  600155.SHA  3.118912         4
    114562 2019-04-12  603598.SHA  3.084004         5
    114563 2019-04-12  603232.SHA  3.027387         6
    114564 2019-04-12  002918.SZA  2.922770         7
    114565 2019-04-12  002506.SZA  2.834247         8
    114566 2019-04-12  002703.SZA  2.793032         9
    114567 2019-04-12  603709.SHA  2.772407        10
    买入的股票是: ['603063.SHA', '000860.SZA', '002035.SZA', '600155.SHA', '603598.SHA']
                 date  instrument     score  position
    117246 2019-04-15  002733.SZA  5.342568         1
    117247 2019-04-15  002703.SZA  3.837962         2
    117248 2019-04-15  002370.SZA  3.490527         3
    117249 2019-04-15  600604.SHA  3.358854         4
    117250 2019-04-15  603079.SHA  3.356601         5
    117251 2019-04-15  002776.SZA  3.290123         6
    117252 2019-04-15  603063.SHA  3.271663         7
    117253 2019-04-15  000799.SZA  3.120570         8
    117254 2019-04-15  002215.SZA  3.072957         9
    117255 2019-04-15  002531.SZA  2.992160        10
    买入的股票是: ['002733.SZA', '002703.SZA', '002370.SZA', '600604.SHA', '603079.SHA']
                 date  instrument     score  position
    119935 2019-04-16  000565.SZA  3.244834         1
    119936 2019-04-16  000981.SZA  3.198582         2
    119937 2019-04-16  601007.SHA  3.176546         3
    119938 2019-04-16  600362.SHA  3.110014         4
    119939 2019-04-16  002103.SZA  3.104648         5
    119940 2019-04-16  000860.SZA  3.006581         6
    119941 2019-04-16  002099.SZA  2.839735         7
    119942 2019-04-16  002703.SZA  2.804701         8
    119943 2019-04-16  002221.SZA  2.789688         9
    119944 2019-04-16  603606.SHA  2.767239        10
    买入的股票是: ['000565.SZA', '000981.SZA', '601007.SHA', '600362.SHA', '002103.SZA']
                 date  instrument     score  position
    122622 2019-04-17  000509.SZA  4.196056         1
    122623 2019-04-17  000800.SZA  3.175156         2
    122624 2019-04-17  000611.SZA  3.149474         3
    122625 2019-04-17  601007.SHA  3.137121         4
    122626 2019-04-17  000779.SZA  3.133753         5
    122627 2019-04-17  000090.SZA  3.102410         6
    122628 2019-04-17  600136.SHA  3.070167         7
    122629 2019-04-17  002308.SZA  3.016838         8
    122630 2019-04-17  600290.SHA  2.813643         9
    122631 2019-04-17  002351.SZA  2.783218        10
    买入的股票是: ['000509.SZA', '000800.SZA', '000611.SZA', '601007.SHA', '000779.SZA']
                 date  instrument     score  position
    125310 2019-04-18  002377.SZA  3.766050         1
    125311 2019-04-18  002629.SZA  3.694141         2
    125312 2019-04-18  600592.SHA  3.603569         3
    125313 2019-04-18  603998.SHA  3.513993         4
    125314 2019-04-18  002370.SZA  3.247000         5
    125315 2019-04-18  603378.SHA  3.180826         6
    125316 2019-04-18  000090.SZA  3.003410         7
    125317 2019-04-18  002613.SZA  2.873766         8
    125318 2019-04-18  002550.SZA  2.742946         9
    125319 2019-04-18  600733.SHA  2.720702        10
    买入的股票是: ['002377.SZA', '002629.SZA', '600592.SHA', '603998.SHA', '002370.SZA']
                 date  instrument     score  position
    128003 2019-04-19  000996.SZA  4.168554         1
    128004 2019-04-19  002057.SZA  4.037763         2
    128005 2019-04-19  600748.SHA  2.944035         3
    128006 2019-04-19  600971.SHA  2.873162         4
    128007 2019-04-19  000715.SZA  2.736547         5
    128008 2019-04-19  000800.SZA  2.688667         6
    128009 2019-04-19  002443.SZA  2.622990         7
    128010 2019-04-19  603696.SHA  2.527152         8
    128011 2019-04-19  002175.SZA  2.417106         9
    128012 2019-04-19  002301.SZA  2.384668        10
    买入的股票是: ['000996.SZA', '002057.SZA', '600748.SHA', '600971.SHA', '000715.SZA']
                 date  instrument     score  position
    130696 2019-04-22  600422.SHA  3.634310         1
    130697 2019-04-22  000961.SZA  3.632839         2
    130698 2019-04-22  000839.SZA  3.490448         3
    130699 2019-04-22  600290.SHA  3.323163         4
    130700 2019-04-22  603079.SHA  3.314136         5
    130701 2019-04-22  601949.SHA  3.095048         6
    130702 2019-04-22  002699.SZA  3.078505         7
    130703 2019-04-22  002567.SZA  2.998933         8
    130704 2019-04-22  002249.SZA  2.966401         9
    130705 2019-04-22  002175.SZA  2.848597        10
    买入的股票是: ['600422.SHA', '000961.SZA', '000839.SZA', '600290.SHA', '603079.SHA']
                 date  instrument     score  position
    133390 2019-04-23  002796.SZA  4.161853         1
    133391 2019-04-23  002418.SZA  3.915123         2
    133392 2019-04-23  603360.SHA  3.831280         3
    133393 2019-04-23  002662.SZA  3.686489         4
    133394 2019-04-23  002761.SZA  3.476085         5
    133395 2019-04-23  000927.SZA  3.110829         6
    133396 2019-04-23  600971.SHA  3.070206         7
    133397 2019-04-23  600218.SHA  3.049817         8
    133398 2019-04-23  002733.SZA  3.048604         9
    133399 2019-04-23  002777.SZA  2.902234        10
    买入的股票是: ['002796.SZA', '002418.SZA', '603360.SHA', '002662.SZA', '002761.SZA']
    Empty DataFrame
    Columns: [date, instrument, score, position]
    Index: []
    买入的股票是: []
    Empty DataFrame
    Columns: [date, instrument, score, position]
    Index: []
    买入的股票是: []
    Empty DataFrame
    Columns: [date, instrument, score, position]
    Index: []
    买入的股票是: []
    
    • 收益率79.48%
    • 年化收益率1432.33%
    • 基准收益率19.77%
    • 阿尔法2.32
    • 贝塔0.5
    • 夏普比率10.76
    • 胜率0.67
    • 盈亏比1.78
    • 收益波动率25.53%
    • 信息比率0.47
    • 最大回撤3.09%
    bigcharts-data-start/{"__id":"bigchart-d57b2418f9c34beb96ecb5a9a78a2bcc","__type":"tabs"}/bigcharts-data-end
    In [ ]:
     
    
    In [10]:
    import empyrical
    
    In [ ]:
     
    
    In [ ]:
     
    
    In [ ]:
     
    

    (focus777) #3

    可以看到前面都是正常的,为什么4.23以后打印预测结果会是空的呢?


    (kobe) #4

    没有细看哈,但应该是你在测试集上加了数据标注模块导致的。


    你看下m17这个模块的输出,应该就是后面几天数据没有了。
    在测试集上加标注模块其实是为了验证泛化性能,如果没有必要的话,可以去掉。
    同时 ,可以试试m16模块,你应该是按交集合并的,可以试试按并集合并。


    (focus777) #5

    好的 谢谢


    (focus777) #6

    吧这个给忘记了。、


    (focus777) #7

    自己nc了 测试集不用标注 忘记了。。。


    (focus777) #8

    解决了 谢谢您