stockranker预测结果同一instrument多个score的疑惑


(mefan) #1

回测里出现大量这样的现象

这个表是取预测结果前五

         score       date  instrument  position
1708  1.998149 2018-02-05  300394.SZA         1
1709  1.713308 2018-02-05  002829.SZA         2
1710  1.605709 2018-02-05  002485.SZA         3
1711  1.471841 2018-02-05  603429.SHA         4
1712  1.119281 2018-02-05  300503.SZA         5

这张表是过滤score>1.9 可以看到300394出现多次 分数不一

         score       date  instrument  position
1708  1.998149 2018-02-05  300394.SZA         1
1643  2.012247 2018-02-05  300394.SZA         1
1644  2.012089 2018-02-05  002829.SZA         2
1594  2.356242 2018-02-05  603429.SHA         1
1595  2.333275 2018-02-05  300394.SZA         2
1596  2.293821 2018-02-05  002829.SZA         3
1597  2.244462 2018-02-05  300503.SZA         4
1598  2.120677 2018-02-05  002485.SZA         5
1552  2.011480 2018-02-05  603429.SHA         1
1476  2.082295 2018-02-05  002829.SZA         1
1410  2.354807 2018-02-05  002829.SZA         1
1411  2.352429 2018-02-05  300503.SZA         2
1412  2.259849 2018-02-05  300320.SZA         3
1413  2.213498 2018-02-05  300400.SZA         4
1414  2.197428 2018-02-05  300394.SZA         5
1415  1.981169 2018-02-05  603429.SHA         6
905   1.925628 2018-02-05  603429.SHA         1

这种情况是正常的?是否和滚动训练有关?


(达达) #2

您使用了滚动训练么?能发一下您策略么?


(mefan) #3

策略代码

克隆策略

    {"Description":"实验创建于2017/8/26","Summary":"","Graph":{"EdgesInternal":[{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-15:instruments","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-8:data"},{"DestinationInputPortId":"-560:instruments","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-8:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-53:data1","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-15:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-560:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-567:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-574:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-581:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:model","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43:model"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-84:input_data","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-53:data"},{"DestinationInputPortId":"-591:options_data","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:predictions"},{"DestinationInputPortId":"-574:instruments","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-62:data"},{"DestinationInputPortId":"-591:instruments","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-62:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43:training_ds","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-84:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:data","SourceOutputPortId":"-86:data"},{"DestinationInputPortId":"-567:input_data","SourceOutputPortId":"-560:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-53:data2","SourceOutputPortId":"-567:data"},{"DestinationInputPortId":"-581:input_data","SourceOutputPortId":"-574:data"},{"DestinationInputPortId":"-86:input_data","SourceOutputPortId":"-581:data"}],"ModuleNodes":[{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2016-01-01","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2018-06-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":"287d2cb0-f53c-4101-bdf8-104b137c8601-8"}],"OutputPortsInternal":[{"Name":"data","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-8","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":1,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-15","ModuleId":"BigQuantSpace.advanced_auto_labeler.advanced_auto_labeler-v2","ModuleParameters":[{"Name":"label_expr","Value":"# #号开始的表示注释\n# 0. 每行一个,顺序执行,从第二个开始,可以使用label字段\n# 1. 可用数据字段见 https://bigquant.com/docs/data_history_data.html\n# 添加benchmark_前缀,可使用对应的benchmark数据\n# 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/big_expr.html>`_\n\n# 标注逻辑 区间收益率/区间最大回撤\n # 分子为未来五天的收益率,分母为未来5天的最大回撤。最大回撤式子为:最后一天收盘价/期间内最高价\n#(shift(close, -3)/close - 1) / (shift(close, -3) / shift(ts_max(close, 3), -3))\n#(shift(ts_max(high, 3), -3)/shift(open, -1) -1) / (1 - shift(ts_min(low, 3), -3)/shift(open, -1)) \n#(shift(close, -2)/shift(open, -1) - 1) / (shift(close, -2) / shift(ts_max(high, 2), -2))\nshift(close, -2)/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, 20)\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":"287d2cb0-f53c-4101-bdf8-104b137c8601-15"}],"OutputPortsInternal":[{"Name":"data","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-15","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":2,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24","ModuleId":"BigQuantSpace.input_features.input_features-v1","ModuleParameters":[{"Name":"features","Value":"# #号开始的表示注释\n# 多个特征,每行一个,可以包含基础特征和衍生特征\nreturn_5\nreturn_10\nreturn_20\navg_amount_0/avg_amount_5\navg_amount_5/avg_amount_20\nrank_avg_amount_0/rank_avg_amount_5\nrank_avg_amount_5/rank_avg_amount_10\nrank_return_0\nrank_return_5\nrank_return_10\nrank_return_0/rank_return_5\nrank_return_5/rank_return_10\npe_ttm_0\n\n\n# #号开始的表示注释\n# 多个特征,每行一个,可以包含基础特征和衍生特征\n#mf_net_amount_5\n#mf_net_amount_10\n#mf_net_amount_20\n#avg_mf_net_amount_5\n#avg_mf_net_amount_10\n#rank_avg_mf_net_amount_20\nrank_avg_mf_net_amount_10\n#rank_avg_mf_net_amount_5\n#avg_mf_net_amount_20\n\nmarket_cap_0\nrank_market_cap_0\n#market_cap_float_0\nrank_market_cap_float_0\npe_ttm_0\n#rank_pe_ttm_0\n#rank_pe_lyr_0\npb_lf_0\nrank_pb_lf_0\nps_ttm_0\n#rank_ps_ttm_0\nwest_netprofit_ftm_0\nwest_eps_ftm_0\n#west_avgcps_ftm_0\nta_sma_5_0\nta_sma_10_0\nta_sma_20_0\nta_sma_30_0\nta_sma_60_0\n","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features_ds","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24"}],"OutputPortsInternal":[{"Name":"data","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":3,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-43","ModuleId":"BigQuantSpace.stock_ranker_train.stock_ranker_train-v5","ModuleParameters":[{"Name":"learning_algorithm","Value":"排序","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"number_of_leaves","Value":30,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"minimum_docs_per_leaf","Value":1000,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"number_of_trees","Value":"20","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"learning_rate","Value":0.1,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"max_bins","Value":1023,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"feature_fraction","Value":1,"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":"287d2cb0-f53c-4101-bdf8-104b137c8601-43"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"test_ds","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"base_model","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43"}],"OutputPortsInternal":[{"Name":"model","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43","OutputType":null},{"Name":"feature_gains","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43","OutputType":null},{"Name":"m_lazy_run","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-43","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":6,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-53","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":"287d2cb0-f53c-4101-bdf8-104b137c8601-53"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"data2","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-53"}],"OutputPortsInternal":[{"Name":"data","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-53","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":7,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60","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":"287d2cb0-f53c-4101-bdf8-104b137c8601-60"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"data","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60"}],"OutputPortsInternal":[{"Name":"predictions","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60","OutputType":null},{"Name":"m_lazy_run","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":8,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2016-06-01","ValueType":"Literal","LinkedGlobalParameter":"交易日期"},{"Name":"end_date","Value":"2018-12-20","ValueType":"Literal","LinkedGlobalParameter":"交易日期"},{"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":"287d2cb0-f53c-4101-bdf8-104b137c8601-62"}],"OutputPortsInternal":[{"Name":"data","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-62","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":9,"IsPartOfPartialRun":null,"Comment":"预测数据,用于回测和模拟","CommentCollapsed":false},{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-84","ModuleId":"BigQuantSpace.dropnan.dropnan-v1","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-84"}],"OutputPortsInternal":[{"Name":"data","NodeId":"287d2cb0-f53c-4101-bdf8-104b137c8601-84","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":13,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-86","ModuleId":"BigQuantSpace.dropnan.dropnan-v1","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-86"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-86","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":14,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-560","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":"-560"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-560"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-560","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":15,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-567","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":"-567"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-567"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-567","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":16,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-574","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":"-574"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-574"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-574","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":17,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-581","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":"-581"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-581"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-581","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":18,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-591","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 \n print(ranker_prediction.head(5))\n print('----')\n print(ranker_prediction[ranker_prediction.score> 1.9])\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']\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天之后才开始卖出;对持仓的股票,按机器学习算法预测的排序末位淘汰\n if not is_staging and cash_for_sell > 0:\n #preds =set(ranker_prediction.instrument)\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 notInPred = [symbol for symbol in equities if not symbol in instruments and not context.has_unfinished_sell_order(symbol) ]#and context.trading_calendar.session_distance(pd.Timestamp(context.buy_date[symbol]), pd.Timestamp(data.current_dt))>=1\n allSell = []\n for s in (list(notInPred) + instruments):\n if s not in allSell:\n allSell.append(s)\n #allSell= (notInPred) + instruments \n for instrument in allSell:\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 if len(context.portfolio.positions)<2:\n buy_cash_weights = context.stock_weights\n #buy_instruments = (ranker_prediction.instrument[:len(buy_cash_weights)])\n rank_buy = list(ranker_prediction[ranker_prediction.score> 1.9].instrument[:len(buy_cash_weights)])\n max_cash_per_instrument = context.portfolio.portfolio_value * context.max_cash_per_instrument\n for i, instrument in enumerate(rank_buy):\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 context.buy_date[instrument]=data.current_dt\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"prepare","Value":"# 回测引擎:准备数据,只执行一次\ndef bigquant_run(context):\n context.buy_date={}\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 = 1\n # 每只的股票的权重,如下的权重分配会使得靠前的股票分配多一点的资金,[0.339160, 0.213986, 0.169580, ..]\n context.stock_weights = T.norm([1 / stock_count for i in range(0, stock_count)])\n # 设置每只股票占用的最大资金比例\n context.max_cash_per_instrument = 0.45\n context.options['hold_days'] = 2\n #context.max_stock_count=1\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"before_trading_start","Value":"","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":"100000","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":"-591"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"options_data","NodeId":"-591"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"history_ds","NodeId":"-591"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"benchmark_ds","NodeId":"-591"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"trading_calendar","NodeId":"-591"}],"OutputPortsInternal":[{"Name":"raw_perf","NodeId":"-591","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":19,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-12657","ModuleId":"BigQuantSpace.hyper_rolling_train.hyper_rolling_train-v1","ModuleParameters":[{"Name":"run","Value":"def bigquant_run(\n bq_graph,\n inputs,\n trading_days_market='CN', # 使用那个市场的交易日历, TODO\n train_instruments_mid='m1', # 训练数据 证券代码列表 模块id\n test_instruments_mid='m9', # 测试数据 证券代码列表 模块id\n predict_mid='m8', # 预测 模块id\n trade_mid='m19', # 回测 模块id\n start_date='2018-03-01', # 数据开始日期\n end_date=T.live_run_param('trading_date', '2018-04-01'), # 数据结束日期\n train_update_days=1, # 更新周期,按交易日计算,每多少天更新一次\n train_update_days_for_live=None, #模拟实盘模式下的更新周期,按交易日计算,每多少天更新一次。如果需要在模拟实盘阶段使用不同的模型更新周期,可以设置这个参数\n train_data_min_days=15, # 最小数据天数,按交易日计算,所以第一个滚动的结束日期是 从开始日期到开始日期+最小数据天数\n train_data_max_days=15, # 最大数据天数,按交易日计算,0,表示没有限制,否则每一个滚动的开始日期=max(此滚动的结束日期-最大数据天数, 开始日期\n rolling_count_for_live=1, #实盘模式下滚动次数,模拟实盘模式下,取最后多少次滚动。一般在模拟实盘模式下,只用到最后一次滚动训练的模型,这里可以设置为1;如果你的滚动训练数据时间段很短,以至于期间可能没有训练数据,这里可以设置大一点。0表示没有限制\n):\n def merge_datasources(input_1):\n df_list = [ds.read_df() for ds in input_1]\n df = pd.concat(df_list)\n instrument_data = {\n 'start_date': df['date'].min().strftime('%Y-%m-%d'),\n 'end_date': df['date'].max().strftime('%Y-%m-%d'),\n 'instruments': list(set(df['instrument'])),\n }\n return Outputs(data=DataSource.write_df(df), instrument_data=DataSource.write_pickle(instrument_data))\n\n def gen_rolling_dates(trading_days_market, start_date, end_date, train_update_days, train_update_days_for_live, train_data_min_days, train_data_max_days, rolling_count_for_live):\n # 是否实盘模式\n tdays = list(D.trading_days(market=trading_days_market, start_date=start_date, end_date=end_date)['date'])\n is_live_run = T.live_run_param('trading_date', None) is not None\n\n if is_live_run and train_update_days_for_live:\n train_update_days = train_update_days_for_live\n\n rollings = []\n train_end_date = train_data_min_days\n while train_end_date < len(tdays):\n if train_data_max_days is not None:\n train_start_date = max(train_end_date - train_data_max_days, 0)\n else:\n train_start_date = start_date\n rollings.append({\n 'train_start_date': tdays[train_start_date].strftime('%Y-%m-%d'),\n 'train_end_date': tdays[train_end_date - 1].strftime('%Y-%m-%d'),\n 'test_start_date': tdays[train_end_date].strftime('%Y-%m-%d'),\n 'test_end_date': tdays[min(train_end_date + train_update_days, len(tdays)) - 1].strftime('%Y-%m-%d'),\n })\n train_end_date += train_update_days\n\n if not rollings:\n raise Exception('没有滚动需要执行,请检查配置')\n\n if is_live_run and rolling_count_for_live:\n rollings = rollings[-rolling_count_for_live:]\n\n return rollings\n\n g = bq_graph\n\n rolling_dates = gen_rolling_dates(\n trading_days_market, start_date, end_date, train_update_days, train_update_days_for_live, train_data_min_days, train_data_max_days, rolling_count_for_live)\n\n # 训练和预测\n results = []\n for rolling in rolling_dates:\n parameters = {}\n # 先禁用回测\n parameters[trade_mid + '.__enabled__'] = False\n parameters[train_instruments_mid + '.start_date'] = rolling['train_start_date']\n parameters[train_instruments_mid + '.end_date'] = rolling['train_end_date']\n parameters[test_instruments_mid + '.start_date'] = rolling['test_start_date']\n parameters[test_instruments_mid + '.end_date'] = rolling['test_end_date']\n # print('------ rolling_train:', parameters)\n results.append(g.run(parameters))\n\n # 合并预测结果并回测\n mx = M.cached.v3(run=merge_datasources, input_1=[result[predict_mid].predictions for result in results])\n parameters = {}\n parameters['*.__enabled__'] = False\n parameters[trade_mid + '.__enabled__'] = True\n parameters[trade_mid + '.instruments'] = mx.instrument_data\n parameters[trade_mid + '.options_data'] = mx.data\n\n trade = g.run(parameters)\n\n return {'rollings': results, 'trade': trade}\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"run_now","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"bq_graph","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"bq_graph_port","NodeId":"-12657"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_1","NodeId":"-12657"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_2","NodeId":"-12657"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_3","NodeId":"-12657"}],"OutputPortsInternal":[{"Name":"result","NodeId":"-12657","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":4,"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='287d2cb0-f53c-4101-bdf8-104b137c8601-8' Position='207,71,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-15' Position='70,183,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-24' Position='592,-33,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-43' Position='639,550,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-53' Position='247,367,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-60' Position='903,642,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-62' Position='1071,99.0770263671875,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-84' Position='251,443,200,200'/><NodePosition Node='-86' Position='1076,407,200,200'/><NodePosition Node='-560' Position='379,178.07701110839844,200,200'/><NodePosition Node='-567' Position='385,280,200,200'/><NodePosition Node='-574' Position='1078,230,200,200'/><NodePosition Node='-581' Position='704,303,200,200'/><NodePosition Node='-591' Position='1033,736,200,200'/><NodePosition Node='-12657' Position='470,701,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 [3]:
    # 本代码由可视化策略环境自动生成 2019年1月5日 20:12
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    # 回测引擎:每日数据处理函数,每天执行一次
    def m19_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(5))
        print('----')
        print(ranker_prediction[ranker_prediction.score> 1.9])
        
        # 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']
        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天之后才开始卖出;对持仓的股票,按机器学习算法预测的排序末位淘汰
        if not is_staging and cash_for_sell > 0:
            #preds =set(ranker_prediction.instrument)
            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]))])))
            notInPred = [symbol for symbol in equities if not symbol in instruments and not context.has_unfinished_sell_order(symbol) ]#and context.trading_calendar.session_distance(pd.Timestamp(context.buy_date[symbol]), pd.Timestamp(data.current_dt))>=1
            allSell = []
            for s in (list(notInPred) + instruments):
                if s not in allSell:
                    allSell.append(s)
            #allSell= (notInPred) + instruments  
            for instrument in allSell:
                context.order_target(context.symbol(instrument), 0)
                cash_for_sell -= positions[instrument]
                if cash_for_sell <= 0:
                    break
    
        # 3. 生成买入订单:按机器学习算法预测的排序,买入前面的stock_count只股票
        if len(context.portfolio.positions)<2:
            buy_cash_weights = context.stock_weights
            #buy_instruments = (ranker_prediction.instrument[:len(buy_cash_weights)])
            rank_buy = list(ranker_prediction[ranker_prediction.score> 1.9].instrument[:len(buy_cash_weights)])
            max_cash_per_instrument = context.portfolio.portfolio_value * context.max_cash_per_instrument
            for i, instrument in enumerate(rank_buy):
                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)
                    context.buy_date[instrument]=data.current_dt
    
    # 回测引擎:准备数据,只执行一次
    def m19_prepare_bigquant_run(context):
        context.buy_date={}
        pass
    
    # 回测引擎:初始化函数,只执行一次
    def m19_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 = 1
        # 每只的股票的权重,如下的权重分配会使得靠前的股票分配多一点的资金,[0.339160, 0.213986, 0.169580, ..]
        context.stock_weights =  T.norm([1 / stock_count for i in range(0, stock_count)])
        # 设置每只股票占用的最大资金比例
        context.max_cash_per_instrument = 0.45
        context.options['hold_days'] = 2
        #context.max_stock_count=1
    
    
    g = T.Graph({
    
        'm1': 'M.instruments.v2',
        'm1.start_date': '2016-01-01',
        'm1.end_date': '2018-06-01',
        'm1.market': 'CN_STOCK_A',
        'm1.instrument_list': '',
        'm1.max_count': 0,
    
        'm2': 'M.advanced_auto_labeler.v2',
        'm2.instruments': T.Graph.OutputPort('m1.data'),
        'm2.label_expr': """# #号开始的表示注释
    # 0. 每行一个,顺序执行,从第二个开始,可以使用label字段
    # 1. 可用数据字段见 https://bigquant.com/docs/data_history_data.html
    #   添加benchmark_前缀,可使用对应的benchmark数据
    # 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/big_expr.html>`_
    
    # 标注逻辑  区间收益率/区间最大回撤
        # 分子为未来五天的收益率,分母为未来5天的最大回撤。最大回撤式子为:最后一天收盘价/期间内最高价
    #(shift(close, -3)/close - 1) / (shift(close, -3) / shift(ts_max(close, 3), -3))
    #(shift(ts_max(high, 3), -3)/shift(open, -1) -1) / (1 - shift(ts_min(low, 3), -3)/shift(open, -1))  
    #(shift(close, -2)/shift(open, -1) - 1) / (shift(close, -2) / shift(ts_max(high, 2), -2))
    shift(close, -2)/shift(open, -1)  #比上面这个有效
    
    # 极值处理:用1%和99%分位的值做clip
    clip(label, all_quantile(label, 0.01), all_quantile(label, 0.99))
    
    # 将分数映射到分类,这里使用20个分类
    all_wbins(label, 20)
    
    # 过滤掉一字涨停的情况 (设置label为NaN,在后续处理和训练中会忽略NaN的label)
    where(shift(high, -1) == shift(low, -1), NaN, label)
    """,
        'm2.start_date': '',
        'm2.end_date': '',
        'm2.benchmark': '000300.SHA',
        'm2.drop_na_label': True,
        'm2.cast_label_int': True,
    
        'm3': 'M.input_features.v1',
        'm3.features': """# #号开始的表示注释
    # 多个特征,每行一个,可以包含基础特征和衍生特征
    return_5
    return_10
    return_20
    avg_amount_0/avg_amount_5
    avg_amount_5/avg_amount_20
    rank_avg_amount_0/rank_avg_amount_5
    rank_avg_amount_5/rank_avg_amount_10
    rank_return_0
    rank_return_5
    rank_return_10
    rank_return_0/rank_return_5
    rank_return_5/rank_return_10
    pe_ttm_0
    
    
    # #号开始的表示注释
    # 多个特征,每行一个,可以包含基础特征和衍生特征
    #mf_net_amount_5
    #mf_net_amount_10
    #mf_net_amount_20
    #avg_mf_net_amount_5
    #avg_mf_net_amount_10
    #rank_avg_mf_net_amount_20
    rank_avg_mf_net_amount_10
    #rank_avg_mf_net_amount_5
    #avg_mf_net_amount_20
    
    market_cap_0
    rank_market_cap_0
    #market_cap_float_0
    rank_market_cap_float_0
    pe_ttm_0
    #rank_pe_ttm_0
    #rank_pe_lyr_0
    pb_lf_0
    rank_pb_lf_0
    ps_ttm_0
    #rank_ps_ttm_0
    west_netprofit_ftm_0
    west_eps_ftm_0
    #west_avgcps_ftm_0
    ta_sma_5_0
    ta_sma_10_0
    ta_sma_20_0
    ta_sma_30_0
    ta_sma_60_0
    """,
    
        'm15': 'M.general_feature_extractor.v7',
        'm15.instruments': T.Graph.OutputPort('m1.data'),
        'm15.features': T.Graph.OutputPort('m3.data'),
        'm15.start_date': '',
        'm15.end_date': '',
        'm15.before_start_days': 90,
    
        'm16': 'M.derived_feature_extractor.v3',
        'm16.input_data': T.Graph.OutputPort('m15.data'),
        'm16.features': T.Graph.OutputPort('m3.data'),
        'm16.date_col': 'date',
        'm16.instrument_col': 'instrument',
        'm16.drop_na': False,
        'm16.remove_extra_columns': False,
    
        'm7': 'M.join.v3',
        'm7.data1': T.Graph.OutputPort('m2.data'),
        'm7.data2': T.Graph.OutputPort('m16.data'),
        'm7.on': 'date,instrument',
        'm7.how': 'inner',
        'm7.sort': False,
    
        'm13': 'M.dropnan.v1',
        'm13.input_data': T.Graph.OutputPort('m7.data'),
    
        'm6': 'M.stock_ranker_train.v5',
        'm6.training_ds': T.Graph.OutputPort('m13.data'),
        'm6.features': T.Graph.OutputPort('m3.data'),
        'm6.learning_algorithm': '排序',
        'm6.number_of_leaves': 30,
        'm6.minimum_docs_per_leaf': 1000,
        'm6.number_of_trees': 20,
        'm6.learning_rate': 0.1,
        'm6.max_bins': 1023,
        'm6.feature_fraction': 1,
        'm6.m_lazy_run': False,
    
        'm9': 'M.instruments.v2',
        'm9.start_date': T.live_run_param('trading_date', '2016-06-01'),
        'm9.end_date': T.live_run_param('trading_date', '2018-12-20'),
        'm9.market': 'CN_STOCK_A',
        'm9.instrument_list': '',
        'm9.max_count': 0,
    
        'm17': 'M.general_feature_extractor.v7',
        'm17.instruments': T.Graph.OutputPort('m9.data'),
        'm17.features': T.Graph.OutputPort('m3.data'),
        'm17.start_date': '',
        'm17.end_date': '',
        'm17.before_start_days': 90,
    
        'm18': 'M.derived_feature_extractor.v3',
        'm18.input_data': T.Graph.OutputPort('m17.data'),
        'm18.features': T.Graph.OutputPort('m3.data'),
        'm18.date_col': 'date',
        'm18.instrument_col': 'instrument',
        'm18.drop_na': False,
        'm18.remove_extra_columns': False,
    
        'm14': 'M.dropnan.v1',
        'm14.input_data': T.Graph.OutputPort('m18.data'),
    
        'm8': 'M.stock_ranker_predict.v5',
        'm8.model': T.Graph.OutputPort('m6.model'),
        'm8.data': T.Graph.OutputPort('m14.data'),
        'm8.m_lazy_run': False,
    
        'm19': 'M.trade.v4',
        'm19.instruments': T.Graph.OutputPort('m9.data'),
        'm19.options_data': T.Graph.OutputPort('m8.predictions'),
        'm19.start_date': '',
        'm19.end_date': '',
        'm19.handle_data': m19_handle_data_bigquant_run,
        'm19.prepare': m19_prepare_bigquant_run,
        'm19.initialize': m19_initialize_bigquant_run,
        'm19.volume_limit': 0.025,
        'm19.order_price_field_buy': 'open',
        'm19.order_price_field_sell': 'close',
        'm19.capital_base': 100000,
        'm19.auto_cancel_non_tradable_orders': True,
        'm19.data_frequency': 'daily',
        'm19.price_type': '后复权',
        'm19.product_type': '股票',
        'm19.plot_charts': True,
        'm19.backtest_only': False,
        'm19.benchmark': '',
    })
    
    # g.run({})
    
    
    def m4_run_bigquant_run(
        bq_graph,
        inputs,
        trading_days_market='CN', # 使用那个市场的交易日历, TODO
        train_instruments_mid='m1', # 训练数据 证券代码列表 模块id
        test_instruments_mid='m9', # 测试数据 证券代码列表 模块id
        predict_mid='m8', # 预测 模块id
        trade_mid='m19', # 回测 模块id
        start_date='2018-03-01', # 数据开始日期
        end_date=T.live_run_param('trading_date', '2018-04-01'), # 数据结束日期
        train_update_days=1, # 更新周期,按交易日计算,每多少天更新一次
        train_update_days_for_live=None, #模拟实盘模式下的更新周期,按交易日计算,每多少天更新一次。如果需要在模拟实盘阶段使用不同的模型更新周期,可以设置这个参数
        train_data_min_days=15, # 最小数据天数,按交易日计算,所以第一个滚动的结束日期是 从开始日期到开始日期+最小数据天数
        train_data_max_days=15, # 最大数据天数,按交易日计算,0,表示没有限制,否则每一个滚动的开始日期=max(此滚动的结束日期-最大数据天数, 开始日期
        rolling_count_for_live=1, #实盘模式下滚动次数,模拟实盘模式下,取最后多少次滚动。一般在模拟实盘模式下,只用到最后一次滚动训练的模型,这里可以设置为1;如果你的滚动训练数据时间段很短,以至于期间可能没有训练数据,这里可以设置大一点。0表示没有限制
    ):
        def merge_datasources(input_1):
            df_list = [ds.read_df() for ds in input_1]
            df = pd.concat(df_list)
            instrument_data = {
                'start_date': df['date'].min().strftime('%Y-%m-%d'),
                'end_date': df['date'].max().strftime('%Y-%m-%d'),
                'instruments': list(set(df['instrument'])),
            }
            return Outputs(data=DataSource.write_df(df), instrument_data=DataSource.write_pickle(instrument_data))
    
        def gen_rolling_dates(trading_days_market, start_date, end_date, train_update_days, train_update_days_for_live, train_data_min_days, train_data_max_days, rolling_count_for_live):
            # 是否实盘模式
            tdays = list(D.trading_days(market=trading_days_market, start_date=start_date, end_date=end_date)['date'])
            is_live_run = T.live_run_param('trading_date', None) is not None
    
            if is_live_run and train_update_days_for_live:
                train_update_days = train_update_days_for_live
    
            rollings = []
            train_end_date = train_data_min_days
            while train_end_date < len(tdays):
                if train_data_max_days is not None:
                    train_start_date = max(train_end_date - train_data_max_days, 0)
                else:
                    train_start_date = start_date
                rollings.append({
                    'train_start_date': tdays[train_start_date].strftime('%Y-%m-%d'),
                    'train_end_date': tdays[train_end_date - 1].strftime('%Y-%m-%d'),
                    'test_start_date': tdays[train_end_date].strftime('%Y-%m-%d'),
                    'test_end_date': tdays[min(train_end_date + train_update_days, len(tdays)) - 1].strftime('%Y-%m-%d'),
                })
                train_end_date += train_update_days
    
            if not rollings:
                raise Exception('没有滚动需要执行,请检查配置')
    
            if is_live_run and rolling_count_for_live:
                rollings = rollings[-rolling_count_for_live:]
    
            return rollings
    
        g = bq_graph
    
        rolling_dates = gen_rolling_dates(
            trading_days_market, start_date, end_date, train_update_days, train_update_days_for_live, train_data_min_days, train_data_max_days, rolling_count_for_live)
    
        # 训练和预测
        results = []
        for rolling in rolling_dates:
            parameters = {}
            # 先禁用回测
            parameters[trade_mid + '.__enabled__'] = False
            parameters[train_instruments_mid + '.start_date'] = rolling['train_start_date']
            parameters[train_instruments_mid + '.end_date'] = rolling['train_end_date']
            parameters[test_instruments_mid + '.start_date'] = rolling['test_start_date']
            parameters[test_instruments_mid + '.end_date'] = rolling['test_end_date']
            # print('------ rolling_train:', parameters)
            results.append(g.run(parameters))
    
        # 合并预测结果并回测
        mx = M.cached.v3(run=merge_datasources, input_1=[result[predict_mid].predictions for result in results])
        parameters = {}
        parameters['*.__enabled__'] = False
        parameters[trade_mid + '.__enabled__'] = True
        parameters[trade_mid + '.instruments'] = mx.instrument_data
        parameters[trade_mid + '.options_data'] = mx.data
    
        trade = g.run(parameters)
    
        return {'rollings': results, 'trade': trade}
    
    
    m4 = M.hyper_rolling_train.v1(
        run=m4_run_bigquant_run,
        run_now=True,
        bq_graph=g
    )
    
    [2019-01-05 19:54:04.228671] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:54:04.256751] INFO: bigquant: instruments.v2 运行完成[0.028085s].
    [2019-01-05 19:54:04.259543] INFO: bigquant: input_features.v1 开始运行..
    [2019-01-05 19:54:04.263325] INFO: bigquant: 命中缓存
    [2019-01-05 19:54:04.264345] INFO: bigquant: input_features.v1 运行完成[0.004805s].
    [2019-01-05 19:54:04.266875] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:54:04.285888] INFO: bigquant: instruments.v2 运行完成[0.018979s].
    [2019-01-05 19:54:04.290851] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:54:08.375210] INFO: 基础特征抽取: 年份 2017, 特征行数=19477
    [2019-01-05 19:54:13.304740] INFO: 基础特征抽取: 年份 2018, 特征行数=171423
    [2019-01-05 19:54:13.315331] INFO: 基础特征抽取: 总行数: 190900
    [2019-01-05 19:54:13.318818] INFO: bigquant: general_feature_extractor.v7 运行完成[9.027957s].
    [2019-01-05 19:54:13.321016] INFO: bigquant: advanced_auto_labeler.v2 开始运行..
    [2019-01-05 19:54:13.645349] INFO: 自动标注(股票): 加载历史数据: 48492 行
    [2019-01-05 19:54:13.646386] INFO: 自动标注(股票): 开始标注 ..
    [2019-01-05 19:54:14.193712] INFO: bigquant: advanced_auto_labeler.v2 运行完成[0.872646s].
    [2019-01-05 19:54:14.200443] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:54:18.856747] INFO: 基础特征抽取: 年份 2017, 特征行数=67981
    [2019-01-05 19:54:23.499192] INFO: 基础特征抽取: 年份 2018, 特征行数=168179
    [2019-01-05 19:54:23.510203] INFO: 基础特征抽取: 总行数: 236160
    [2019-01-05 19:54:23.513244] INFO: bigquant: general_feature_extractor.v7 运行完成[9.312823s].
    [2019-01-05 19:54:23.515089] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:54:23.633910] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:54:23.637096] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:54:23.639788] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:54:23.642352] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:54:23.644618] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:54:23.647375] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:54:23.710585] INFO: derived_feature_extractor: /y_2017, 19477
    [2019-01-05 19:54:23.836190] INFO: derived_feature_extractor: /y_2018, 171423
    [2019-01-05 19:54:24.296980] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.781855s].
    [2019-01-05 19:54:24.299251] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:54:24.422676] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.003s
    [2019-01-05 19:54:24.426362] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:54:24.429743] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:54:24.433078] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:54:24.437248] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.003s
    [2019-01-05 19:54:24.440904] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:54:24.554463] INFO: derived_feature_extractor: /y_2017, 67981
    [2019-01-05 19:54:24.745662] INFO: derived_feature_extractor: /y_2018, 168179
    [2019-01-05 19:54:25.243706] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.944403s].
    [2019-01-05 19:54:25.246410] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:54:25.303930] INFO: dropnan: /y_2017, 9441/19477
    [2019-01-05 19:54:25.522462] INFO: dropnan: /y_2018, 30606/171423
    [2019-01-05 19:54:25.531944] INFO: dropnan: 行数: 40047/190900
    [2019-01-05 19:54:25.538444] INFO: bigquant: dropnan.v1 运行完成[0.292013s].
    [2019-01-05 19:54:25.540726] INFO: bigquant: join.v3 开始运行..
    [2019-01-05 19:54:25.653419] INFO: join: /y_2017, 行数=0/67981, 耗时=0.075022s
    [2019-01-05 19:54:25.871091] INFO: join: /y_2018, 行数=41841/168179, 耗时=0.215161s
    [2019-01-05 19:54:25.889778] INFO: join: 最终行数: 41841
    [2019-01-05 19:54:25.891797] INFO: bigquant: join.v3 运行完成[0.351045s].
    [2019-01-05 19:54:25.894054] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:54:25.924553] INFO: dropnan: /y_2017, 0/0
    [2019-01-05 19:54:26.003381] INFO: dropnan: /y_2018, 15328/41841
    [2019-01-05 19:54:26.010875] INFO: dropnan: 行数: 15328/41841
    [2019-01-05 19:54:26.013636] INFO: bigquant: dropnan.v1 运行完成[0.119583s].
    [2019-01-05 19:54:26.015855] INFO: bigquant: stock_ranker_train.v5 开始运行..
    [2019-01-05 19:54:26.054280] INFO: df2bin: 特征离散化处理 ..
    [2019-01-05 19:54:26.099386] INFO: df2bin: prepare data: training ..
    [2019-01-05 19:54:30.253230] INFO: stock_ranker_train: a64b7d28 准备训练: 15328 行数
    [2019-01-05 19:54:30.296152] INFO: stock_ranker_train: 正在训练 ..
    [2019-01-05 19:54:50.604343] INFO: bigquant: stock_ranker_train.v5 运行完成[24.588466s].
    [2019-01-05 19:54:50.606683] INFO: bigquant: stock_ranker_predict.v5 开始运行..
    [2019-01-05 19:54:50.721695] INFO: df2bin: prepare data: prediction ..
    [2019-01-05 19:54:54.969674] INFO: stock_ranker_predict: 准备预测: 40047 行
    [2019-01-05 19:54:54.970825] INFO: stock_ranker_predict: 正在预测 ..
    [2019-01-05 19:55:05.147423] INFO: bigquant: stock_ranker_predict.v5 运行完成[14.540711s].
    [2019-01-05 19:55:05.151802] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:55:05.238444] INFO: bigquant: instruments.v2 运行完成[0.086603s].
    [2019-01-05 19:55:05.241287] INFO: bigquant: input_features.v1 开始运行..
    [2019-01-05 19:55:05.246534] INFO: bigquant: 命中缓存
    [2019-01-05 19:55:05.247545] INFO: bigquant: input_features.v1 运行完成[0.006253s].
    [2019-01-05 19:55:05.250306] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:55:05.274691] INFO: bigquant: instruments.v2 运行完成[0.024369s].
    [2019-01-05 19:55:05.280223] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:55:09.861324] INFO: 基础特征抽取: 年份 2017, 特征行数=16233
    [2019-01-05 19:55:14.165431] INFO: 基础特征抽取: 年份 2018, 特征行数=174672
    [2019-01-05 19:55:14.176612] INFO: 基础特征抽取: 总行数: 190905
    [2019-01-05 19:55:14.180730] INFO: bigquant: general_feature_extractor.v7 运行完成[8.900522s].
    [2019-01-05 19:55:14.183444] INFO: bigquant: advanced_auto_labeler.v2 开始运行..
    [2019-01-05 19:55:14.508682] INFO: 自动标注(股票): 加载历史数据: 48514 行
    [2019-01-05 19:55:14.510441] INFO: 自动标注(股票): 开始标注 ..
    [2019-01-05 19:55:15.537316] INFO: bigquant: advanced_auto_labeler.v2 运行完成[1.353822s].
    [2019-01-05 19:55:15.544020] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:55:20.071584] INFO: 基础特征抽取: 年份 2017, 特征行数=64747
    [2019-01-05 19:55:25.373770] INFO: 基础特征抽取: 年份 2018, 特征行数=171423
    [2019-01-05 19:55:25.385777] INFO: 基础特征抽取: 总行数: 236170
    [2019-01-05 19:55:25.389591] INFO: bigquant: general_feature_extractor.v7 运行完成[9.845592s].
    [2019-01-05 19:55:25.391970] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:55:25.493420] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:55:25.496471] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:55:25.498951] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:55:25.501580] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:55:25.504153] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:55:25.506659] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:55:25.582663] INFO: derived_feature_extractor: /y_2017, 16233
    [2019-01-05 19:55:25.725740] INFO: derived_feature_extractor: /y_2018, 174672
    [2019-01-05 19:55:26.258323] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.866291s].
    [2019-01-05 19:55:26.261248] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:55:26.395625] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.003s
    [2019-01-05 19:55:26.399729] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.003s
    [2019-01-05 19:55:26.408672] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.005s
    [2019-01-05 19:55:26.413581] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.004s
    [2019-01-05 19:55:26.419581] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.005s
    [2019-01-05 19:55:26.424837] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.004s
    [2019-01-05 19:55:26.558017] INFO: derived_feature_extractor: /y_2017, 64747
    [2019-01-05 19:55:26.733570] INFO: derived_feature_extractor: /y_2018, 171423
    [2019-01-05 19:55:27.199838] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.938589s].
    [2019-01-05 19:55:27.202576] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:55:27.256643] INFO: dropnan: /y_2017, 7385/16233
    [2019-01-05 19:55:27.472618] INFO: dropnan: /y_2018, 30674/174672
    [2019-01-05 19:55:27.481538] INFO: dropnan: 行数: 38059/190905
    [2019-01-05 19:55:27.486837] INFO: bigquant: dropnan.v1 运行完成[0.284264s].
    [2019-01-05 19:55:27.488803] INFO: bigquant: join.v3 开始运行..
    [2019-01-05 19:55:27.602585] INFO: join: /y_2017, 行数=0/64747, 耗时=0.077519s
    [2019-01-05 19:55:27.801185] INFO: join: /y_2018, 行数=41863/171423, 耗时=0.195689s
    [2019-01-05 19:55:27.820865] INFO: join: 最终行数: 41863
    [2019-01-05 19:55:27.822934] INFO: bigquant: join.v3 运行完成[0.334104s].
    [2019-01-05 19:55:27.825288] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:55:27.852582] INFO: dropnan: /y_2017, 0/0
    [2019-01-05 19:55:27.987150] INFO: dropnan: /y_2018, 13520/41863
    [2019-01-05 19:55:27.995184] INFO: dropnan: 行数: 13520/41863
    [2019-01-05 19:55:27.998369] INFO: bigquant: dropnan.v1 运行完成[0.17308s].
    [2019-01-05 19:55:28.000425] INFO: bigquant: stock_ranker_train.v5 开始运行..
    [2019-01-05 19:55:28.036401] INFO: df2bin: 特征离散化处理 ..
    [2019-01-05 19:55:28.078622] INFO: df2bin: prepare data: training ..
    [2019-01-05 19:55:32.433520] INFO: stock_ranker_train: cb3d7c12 准备训练: 13520 行数
    [2019-01-05 19:55:32.480504] INFO: stock_ranker_train: 正在训练 ..
    [2019-01-05 19:55:42.675649] INFO: bigquant: stock_ranker_train.v5 运行完成[14.675192s].
    [2019-01-05 19:55:42.677942] INFO: bigquant: stock_ranker_predict.v5 开始运行..
    [2019-01-05 19:55:42.807080] INFO: df2bin: prepare data: prediction ..
    [2019-01-05 19:55:47.204377] INFO: stock_ranker_predict: 准备预测: 38059 行
    [2019-01-05 19:55:47.205470] INFO: stock_ranker_predict: 正在预测 ..
    [2019-01-05 19:55:57.372090] INFO: bigquant: stock_ranker_predict.v5 运行完成[14.694117s].
    [2019-01-05 19:55:57.375073] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:55:57.396833] INFO: bigquant: instruments.v2 运行完成[0.021735s].
    [2019-01-05 19:55:57.399203] INFO: bigquant: input_features.v1 开始运行..
    [2019-01-05 19:55:57.403945] INFO: bigquant: 命中缓存
    [2019-01-05 19:55:57.404736] INFO: bigquant: input_features.v1 运行完成[0.005561s].
    [2019-01-05 19:55:57.406598] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:55:57.425413] INFO: bigquant: instruments.v2 运行完成[0.018763s].
    [2019-01-05 19:55:57.430645] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:56:01.757804] INFO: 基础特征抽取: 年份 2017, 特征行数=12985
    [2019-01-05 19:56:06.131062] INFO: 基础特征抽取: 年份 2018, 特征行数=177922
    [2019-01-05 19:56:06.142430] INFO: 基础特征抽取: 总行数: 190907
    [2019-01-05 19:56:06.153587] INFO: bigquant: general_feature_extractor.v7 运行完成[8.722935s].
    [2019-01-05 19:56:06.155768] INFO: bigquant: advanced_auto_labeler.v2 开始运行..
    [2019-01-05 19:56:07.055770] INFO: 自动标注(股票): 加载历史数据: 48530 行
    [2019-01-05 19:56:07.056811] INFO: 自动标注(股票): 开始标注 ..
    [2019-01-05 19:56:07.499786] INFO: bigquant: advanced_auto_labeler.v2 运行完成[1.343989s].
    [2019-01-05 19:56:07.504852] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:56:11.886485] INFO: 基础特征抽取: 年份 2017, 特征行数=61518
    [2019-01-05 19:56:16.771818] INFO: 基础特征抽取: 年份 2018, 特征行数=174672
    [2019-01-05 19:56:16.780954] INFO: 基础特征抽取: 总行数: 236190
    [2019-01-05 19:56:16.789782] INFO: bigquant: general_feature_extractor.v7 运行完成[9.284919s].
    [2019-01-05 19:56:16.791825] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:56:16.910142] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:56:16.913081] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:56:16.915927] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:56:16.919096] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:56:16.921990] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:56:16.924765] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:56:17.008459] INFO: derived_feature_extractor: /y_2017, 12985
    [2019-01-05 19:56:17.133010] INFO: derived_feature_extractor: /y_2018, 177922
    [2019-01-05 19:56:17.521734] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.729853s].
    [2019-01-05 19:56:17.524624] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:56:17.669570] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:56:17.672564] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:56:17.675402] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:56:17.678223] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:56:17.680978] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:56:17.683650] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:56:17.788064] INFO: derived_feature_extractor: /y_2017, 61518
    [2019-01-05 19:56:17.941638] INFO: derived_feature_extractor: /y_2018, 174672
    [2019-01-05 19:56:18.313611] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.788969s].
    [2019-01-05 19:56:18.316175] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:56:18.361632] INFO: dropnan: /y_2017, 5250/12985
    [2019-01-05 19:56:18.581741] INFO: dropnan: /y_2018, 32443/177922
    [2019-01-05 19:56:18.590008] INFO: dropnan: 行数: 37693/190907
    [2019-01-05 19:56:18.595391] INFO: bigquant: dropnan.v1 运行完成[0.279244s].
    [2019-01-05 19:56:18.597440] INFO: bigquant: join.v3 开始运行..
    [2019-01-05 19:56:18.697111] INFO: join: /y_2017, 行数=0/61518, 耗时=0.065905s
    [2019-01-05 19:56:18.897378] INFO: join: /y_2018, 行数=41881/174672, 耗时=0.197254s
    [2019-01-05 19:56:18.913453] INFO: join: 最终行数: 41881
    [2019-01-05 19:56:18.915243] INFO: bigquant: join.v3 运行完成[0.317785s].
    [2019-01-05 19:56:18.917342] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:56:19.007505] INFO: dropnan: /y_2017, 0/0
    [2019-01-05 19:56:19.088541] INFO: dropnan: /y_2018, 13494/41881
    [2019-01-05 19:56:19.095251] INFO: dropnan: 行数: 13494/41881
    [2019-01-05 19:56:19.097918] INFO: bigquant: dropnan.v1 运行完成[0.180564s].
    [2019-01-05 19:56:19.099844] INFO: bigquant: stock_ranker_train.v5 开始运行..
    [2019-01-05 19:56:19.134007] INFO: df2bin: 特征离散化处理 ..
    [2019-01-05 19:56:19.172930] INFO: df2bin: prepare data: training ..
    [2019-01-05 19:56:23.196421] INFO: stock_ranker_train: e9b29632 准备训练: 13494 行数
    [2019-01-05 19:56:23.263759] INFO: stock_ranker_train: 正在训练 ..
    [2019-01-05 19:56:33.451805] INFO: bigquant: stock_ranker_train.v5 运行完成[14.351899s].
    [2019-01-05 19:56:33.455203] INFO: bigquant: stock_ranker_predict.v5 开始运行..
    [2019-01-05 19:56:33.569064] INFO: df2bin: prepare data: prediction ..
    [2019-01-05 19:56:37.957794] INFO: stock_ranker_predict: 准备预测: 37693 行
    [2019-01-05 19:56:37.958827] INFO: stock_ranker_predict: 正在预测 ..
    [2019-01-05 19:56:48.143573] INFO: bigquant: stock_ranker_predict.v5 运行完成[14.688382s].
    [2019-01-05 19:56:48.147148] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:56:48.171074] INFO: bigquant: instruments.v2 运行完成[0.023925s].
    [2019-01-05 19:56:48.173208] INFO: bigquant: input_features.v1 开始运行..
    [2019-01-05 19:56:48.177123] INFO: bigquant: 命中缓存
    [2019-01-05 19:56:48.177907] INFO: bigquant: input_features.v1 运行完成[0.004728s].
    [2019-01-05 19:56:48.180006] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:56:48.199534] INFO: bigquant: instruments.v2 运行完成[0.0195s].
    [2019-01-05 19:56:48.204264] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:56:52.737731] INFO: 基础特征抽取: 年份 2017, 特征行数=9738
    [2019-01-05 19:56:56.985896] INFO: 基础特征抽取: 年份 2018, 特征行数=181166
    [2019-01-05 19:56:56.994514] INFO: 基础特征抽取: 总行数: 190904
    [2019-01-05 19:56:56.998124] INFO: bigquant: general_feature_extractor.v7 运行完成[8.793852s].
    [2019-01-05 19:56:57.000265] INFO: bigquant: advanced_auto_labeler.v2 开始运行..
    [2019-01-05 19:56:57.349336] INFO: 自动标注(股票): 加载历史数据: 48553 行
    [2019-01-05 19:56:57.350683] INFO: 自动标注(股票): 开始标注 ..
    [2019-01-05 19:56:58.332038] INFO: bigquant: advanced_auto_labeler.v2 运行完成[1.331738s].
    [2019-01-05 19:56:58.338030] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:57:02.925923] INFO: 基础特征抽取: 年份 2017, 特征行数=58282
    [2019-01-05 19:57:07.759830] INFO: 基础特征抽取: 年份 2018, 特征行数=177922
    [2019-01-05 19:57:07.768487] INFO: 基础特征抽取: 总行数: 236204
    [2019-01-05 19:57:07.771891] INFO: bigquant: general_feature_extractor.v7 运行完成[9.433867s].
    [2019-01-05 19:57:07.773788] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:57:07.881435] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:57:07.884588] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:57:07.887010] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:57:07.889637] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:57:07.891955] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:57:07.894242] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:57:07.968941] INFO: derived_feature_extractor: /y_2017, 9738
    [2019-01-05 19:57:08.075471] INFO: derived_feature_extractor: /y_2018, 181166
    [2019-01-05 19:57:08.473813] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.699989s].
    [2019-01-05 19:57:08.475969] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:57:08.609882] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:57:08.613050] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:57:08.618748] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.004s
    [2019-01-05 19:57:08.622020] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:57:08.625594] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.003s
    [2019-01-05 19:57:08.628999] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:57:08.739378] INFO: derived_feature_extractor: /y_2017, 58282
    [2019-01-05 19:57:08.895882] INFO: derived_feature_extractor: /y_2018, 177922
    [2019-01-05 19:57:09.318961] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.842952s].
    [2019-01-05 19:57:09.321393] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:57:09.362381] INFO: dropnan: /y_2017, 4816/9738
    [2019-01-05 19:57:09.578061] INFO: dropnan: /y_2018, 32583/181166
    [2019-01-05 19:57:09.586123] INFO: dropnan: 行数: 37399/190904
    [2019-01-05 19:57:09.591743] INFO: bigquant: dropnan.v1 运行完成[0.270329s].
    [2019-01-05 19:57:09.593914] INFO: bigquant: join.v3 开始运行..
    [2019-01-05 19:57:09.692826] INFO: join: /y_2017, 行数=0/58282, 耗时=0.063566s
    [2019-01-05 19:57:09.876553] INFO: join: /y_2018, 行数=41894/177922, 耗时=0.181437s
    [2019-01-05 19:57:09.892378] INFO: join: 最终行数: 41894
    [2019-01-05 19:57:09.894143] INFO: bigquant: join.v3 运行完成[0.300202s].
    [2019-01-05 19:57:09.895995] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:57:09.929482] INFO: dropnan: /y_2017, 0/0
    [2019-01-05 19:57:10.011867] INFO: dropnan: /y_2018, 13477/41894
    [2019-01-05 19:57:10.019945] INFO: dropnan: 行数: 13477/41894
    [2019-01-05 19:57:10.023764] INFO: bigquant: dropnan.v1 运行完成[0.127723s].
    [2019-01-05 19:57:10.026519] INFO: bigquant: stock_ranker_train.v5 开始运行..
    [2019-01-05 19:57:10.074913] INFO: df2bin: 特征离散化处理 ..
    [2019-01-05 19:57:10.113585] INFO: df2bin: prepare data: training ..
    [2019-01-05 19:57:14.084623] INFO: stock_ranker_train: 080d95f0 准备训练: 13477 行数
    [2019-01-05 19:57:14.160618] INFO: stock_ranker_train: 正在训练 ..
    [2019-01-05 19:57:34.468360] INFO: bigquant: stock_ranker_train.v5 运行完成[24.441828s].
    [2019-01-05 19:57:34.470762] INFO: bigquant: stock_ranker_predict.v5 开始运行..
    [2019-01-05 19:57:34.595676] INFO: df2bin: prepare data: prediction ..
    [2019-01-05 19:57:38.872549] INFO: stock_ranker_predict: 准备预测: 37399 行
    [2019-01-05 19:57:38.873569] INFO: stock_ranker_predict: 正在预测 ..
    [2019-01-05 19:57:49.052546] INFO: bigquant: stock_ranker_predict.v5 运行完成[14.581781s].
    [2019-01-05 19:57:49.056270] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:57:49.079925] INFO: bigquant: instruments.v2 运行完成[0.023699s].
    [2019-01-05 19:57:49.082601] INFO: bigquant: input_features.v1 开始运行..
    [2019-01-05 19:57:49.086019] INFO: bigquant: 命中缓存
    [2019-01-05 19:57:49.086887] INFO: bigquant: input_features.v1 运行完成[0.004279s].
    [2019-01-05 19:57:49.088700] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:57:49.106962] INFO: bigquant: instruments.v2 运行完成[0.018236s].
    [2019-01-05 19:57:49.111636] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:57:53.345011] INFO: 基础特征抽取: 年份 2017, 特征行数=6491
    [2019-01-05 19:57:57.563769] INFO: 基础特征抽取: 年份 2018, 特征行数=184407
    [2019-01-05 19:57:57.572269] INFO: 基础特征抽取: 总行数: 190898
    [2019-01-05 19:57:57.580446] INFO: bigquant: general_feature_extractor.v7 运行完成[8.468805s].
    [2019-01-05 19:57:57.582462] INFO: bigquant: advanced_auto_labeler.v2 开始运行..
    [2019-01-05 19:57:57.935758] INFO: 自动标注(股票): 加载历史数据: 48569 行
    [2019-01-05 19:57:57.937029] INFO: 自动标注(股票): 开始标注 ..
    [2019-01-05 19:57:58.835266] INFO: bigquant: advanced_auto_labeler.v2 运行完成[1.252765s].
    [2019-01-05 19:57:58.840775] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:58:03.164617] INFO: 基础特征抽取: 年份 2017, 特征行数=55047
    [2019-01-05 19:58:07.843945] INFO: 基础特征抽取: 年份 2018, 特征行数=181166
    [2019-01-05 19:58:07.853549] INFO: 基础特征抽取: 总行数: 236213
    [2019-01-05 19:58:07.857614] INFO: bigquant: general_feature_extractor.v7 运行完成[9.016834s].
    [2019-01-05 19:58:07.859896] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:58:07.962886] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:58:07.966243] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:58:07.969223] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:58:07.971948] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:58:07.974480] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:58:07.976851] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:58:08.073630] INFO: derived_feature_extractor: /y_2017, 6491
    [2019-01-05 19:58:08.174642] INFO: derived_feature_extractor: /y_2018, 184407
    [2019-01-05 19:58:08.636974] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.777042s].
    [2019-01-05 19:58:08.639645] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:58:08.775278] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:58:08.778471] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:58:08.781221] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:58:08.784340] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:58:08.787416] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:58:08.790293] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:58:08.896139] INFO: derived_feature_extractor: /y_2017, 55047
    [2019-01-05 19:58:09.081728] INFO: derived_feature_extractor: /y_2018, 181166
    [2019-01-05 19:58:09.553572] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.913904s].
    [2019-01-05 19:58:09.555776] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:58:09.593907] INFO: dropnan: /y_2017, 2682/6491
    [2019-01-05 19:58:09.804564] INFO: dropnan: /y_2018, 32698/184407
    [2019-01-05 19:58:09.811854] INFO: dropnan: 行数: 35380/190898
    [2019-01-05 19:58:09.816831] INFO: bigquant: dropnan.v1 运行完成[0.261047s].
    [2019-01-05 19:58:09.818769] INFO: bigquant: join.v3 开始运行..
    [2019-01-05 19:58:09.912671] INFO: join: /y_2017, 行数=0/55047, 耗时=0.058763s
    [2019-01-05 19:58:10.136127] INFO: join: /y_2018, 行数=41899/181166, 耗时=0.22128s
    [2019-01-05 19:58:10.153511] INFO: join: 最终行数: 41899
    [2019-01-05 19:58:10.155472] INFO: bigquant: join.v3 运行完成[0.336681s].
    [2019-01-05 19:58:10.157763] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:58:10.183888] INFO: dropnan: /y_2017, 0/0
    [2019-01-05 19:58:10.257484] INFO: dropnan: /y_2018, 11675/41899
    [2019-01-05 19:58:10.264439] INFO: dropnan: 行数: 11675/41899
    [2019-01-05 19:58:10.267302] INFO: bigquant: dropnan.v1 运行完成[0.109526s].
    [2019-01-05 19:58:10.269313] INFO: bigquant: stock_ranker_train.v5 开始运行..
    [2019-01-05 19:58:10.300280] INFO: df2bin: 特征离散化处理 ..
    [2019-01-05 19:58:10.335257] INFO: df2bin: prepare data: training ..
    [2019-01-05 19:58:14.446346] INFO: stock_ranker_train: 2bf5b588 准备训练: 11675 行数
    [2019-01-05 19:58:14.502562] INFO: stock_ranker_train: 正在训练 ..
    [2019-01-05 19:58:24.698587] INFO: bigquant: stock_ranker_train.v5 运行完成[14.42922s].
    [2019-01-05 19:58:24.701657] INFO: bigquant: stock_ranker_predict.v5 开始运行..
    [2019-01-05 19:58:24.814393] INFO: df2bin: prepare data: prediction ..
    [2019-01-05 19:58:29.161801] INFO: stock_ranker_predict: 准备预测: 35380 行
    [2019-01-05 19:58:29.162892] INFO: stock_ranker_predict: 正在预测 ..
    [2019-01-05 19:58:39.335286] INFO: bigquant: stock_ranker_predict.v5 运行完成[14.633595s].
    [2019-01-05 19:58:39.339363] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:58:39.366376] INFO: bigquant: instruments.v2 运行完成[0.027001s].
    [2019-01-05 19:58:39.368892] INFO: bigquant: input_features.v1 开始运行..
    [2019-01-05 19:58:39.373115] INFO: bigquant: 命中缓存
    [2019-01-05 19:58:39.373835] INFO: bigquant: input_features.v1 运行完成[0.004985s].
    [2019-01-05 19:58:39.376169] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:58:39.398470] INFO: bigquant: instruments.v2 运行完成[0.022311s].
    [2019-01-05 19:58:39.403749] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:58:43.658671] INFO: 基础特征抽取: 年份 2017, 特征行数=3249
    [2019-01-05 19:58:47.855979] INFO: 基础特征抽取: 年份 2018, 特征行数=187648
    [2019-01-05 19:58:47.866599] INFO: 基础特征抽取: 总行数: 190897
    [2019-01-05 19:58:47.871217] INFO: bigquant: general_feature_extractor.v7 运行完成[8.467397s].
    [2019-01-05 19:58:47.875028] INFO: bigquant: advanced_auto_labeler.v2 开始运行..
    [2019-01-05 19:58:48.195292] INFO: 自动标注(股票): 加载历史数据: 48578 行
    [2019-01-05 19:58:48.196356] INFO: 自动标注(股票): 开始标注 ..
    [2019-01-05 19:58:49.133305] INFO: bigquant: advanced_auto_labeler.v2 运行完成[1.25825s].
    [2019-01-05 19:58:49.140587] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:58:53.431753] INFO: 基础特征抽取: 年份 2017, 特征行数=51820
    [2019-01-05 19:58:58.223708] INFO: 基础特征抽取: 年份 2018, 特征行数=184407
    [2019-01-05 19:58:58.233518] INFO: 基础特征抽取: 总行数: 236227
    [2019-01-05 19:58:58.237518] INFO: bigquant: general_feature_extractor.v7 运行完成[9.096939s].
    [2019-01-05 19:58:58.239922] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:58:58.339199] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:58:58.342485] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:58:58.350809] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.007s
    [2019-01-05 19:58:58.354311] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:58:58.357229] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:58:58.360323] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:58:58.413336] INFO: derived_feature_extractor: /y_2017, 3249
    [2019-01-05 19:58:58.515508] INFO: derived_feature_extractor: /y_2018, 187648
    [2019-01-05 19:58:58.941399] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.701445s].
    [2019-01-05 19:58:58.943578] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:58:59.063036] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:58:59.066129] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:58:59.068666] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:58:59.071022] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:58:59.073422] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:58:59.075917] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:58:59.188901] INFO: derived_feature_extractor: /y_2017, 51820
    [2019-01-05 19:58:59.355312] INFO: derived_feature_extractor: /y_2018, 184407
    [2019-01-05 19:58:59.814677] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.871066s].
    [2019-01-05 19:58:59.817514] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:58:59.852861] INFO: dropnan: /y_2017, 2132/3249
    [2019-01-05 19:59:00.067452] INFO: dropnan: /y_2018, 32883/187648
    [2019-01-05 19:59:00.075102] INFO: dropnan: 行数: 35015/190897
    [2019-01-05 19:59:00.080759] INFO: bigquant: dropnan.v1 运行完成[0.263253s].
    [2019-01-05 19:59:00.082724] INFO: bigquant: join.v3 开始运行..
    [2019-01-05 19:59:00.196261] INFO: join: /y_2017, 行数=0/51820, 耗时=0.063324s
    [2019-01-05 19:59:00.418319] INFO: join: /y_2018, 行数=41901/184407, 耗时=0.219575s
    [2019-01-05 19:59:00.437693] INFO: join: 最终行数: 41901
    [2019-01-05 19:59:00.439955] INFO: bigquant: join.v3 运行完成[0.357212s].
    [2019-01-05 19:59:00.442148] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:59:00.468705] INFO: dropnan: /y_2017, 0/0
    [2019-01-05 19:59:00.542801] INFO: dropnan: /y_2018, 13369/41901
    [2019-01-05 19:59:00.550009] INFO: dropnan: 行数: 13369/41901
    [2019-01-05 19:59:00.553209] INFO: bigquant: dropnan.v1 运行完成[0.111022s].
    [2019-01-05 19:59:00.555834] INFO: bigquant: stock_ranker_train.v5 开始运行..
    [2019-01-05 19:59:00.590118] INFO: df2bin: 特征离散化处理 ..
    [2019-01-05 19:59:00.630099] INFO: df2bin: prepare data: training ..
    [2019-01-05 19:59:04.601256] INFO: stock_ranker_train: 49eef130 准备训练: 13369 行数
    [2019-01-05 19:59:04.685221] INFO: stock_ranker_train: 正在训练 ..
    [2019-01-05 19:59:14.868078] INFO: bigquant: stock_ranker_train.v5 运行完成[14.312218s].
    [2019-01-05 19:59:14.870333] INFO: bigquant: stock_ranker_predict.v5 开始运行..
    [2019-01-05 19:59:14.979596] INFO: df2bin: prepare data: prediction ..
    [2019-01-05 19:59:19.291772] INFO: stock_ranker_predict: 准备预测: 35015 行
    [2019-01-05 19:59:19.292771] INFO: stock_ranker_predict: 正在预测 ..
    [2019-01-05 19:59:29.576581] INFO: bigquant: stock_ranker_predict.v5 运行完成[14.706222s].
    [2019-01-05 19:59:29.579585] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:59:29.599227] INFO: bigquant: instruments.v2 运行完成[0.019607s].
    [2019-01-05 19:59:29.601199] INFO: bigquant: input_features.v1 开始运行..
    [2019-01-05 19:59:29.604493] INFO: bigquant: 命中缓存
    [2019-01-05 19:59:29.605199] INFO: bigquant: input_features.v1 运行完成[0.004022s].
    [2019-01-05 19:59:29.607046] INFO: bigquant: instruments.v2 开始运行..
    [2019-01-05 19:59:29.633909] INFO: bigquant: instruments.v2 运行完成[0.026825s].
    [2019-01-05 19:59:29.639284] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:59:34.051588] INFO: 基础特征抽取: 年份 2017, 特征行数=0
    [2019-01-05 19:59:38.487260] INFO: 基础特征抽取: 年份 2018, 特征行数=190895
    [2019-01-05 19:59:38.494097] INFO: 基础特征抽取: 总行数: 190895
    [2019-01-05 19:59:38.502993] INFO: bigquant: general_feature_extractor.v7 运行完成[8.863729s].
    [2019-01-05 19:59:38.504961] INFO: bigquant: advanced_auto_labeler.v2 开始运行..
    [2019-01-05 19:59:38.876797] INFO: 自动标注(股票): 加载历史数据: 48590 行
    [2019-01-05 19:59:38.878197] INFO: 自动标注(股票): 开始标注 ..
    [2019-01-05 19:59:39.771013] INFO: bigquant: advanced_auto_labeler.v2 运行完成[1.266018s].
    [2019-01-05 19:59:39.776280] INFO: bigquant: general_feature_extractor.v7 开始运行..
    [2019-01-05 19:59:44.125766] INFO: 基础特征抽取: 年份 2017, 特征行数=48588
    [2019-01-05 19:59:48.692914] INFO: 基础特征抽取: 年份 2018, 特征行数=187648
    [2019-01-05 19:59:48.701647] INFO: 基础特征抽取: 总行数: 236236
    [2019-01-05 19:59:48.705288] INFO: bigquant: general_feature_extractor.v7 运行完成[8.929005s].
    [2019-01-05 19:59:48.707351] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:59:48.801677] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:59:48.804726] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:59:48.807187] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:59:48.810417] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:59:48.813316] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:59:48.816897] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.003s
    [2019-01-05 19:59:48.924384] INFO: derived_feature_extractor: /y_2018, 190895
    [2019-01-05 19:59:49.439637] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.732202s].
    [2019-01-05 19:59:49.442692] INFO: bigquant: derived_feature_extractor.v3 开始运行..
    [2019-01-05 19:59:49.582648] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.002s
    [2019-01-05 19:59:49.585975] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_20, 0.002s
    [2019-01-05 19:59:49.588634] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_0/rank_avg_amount_5, 0.002s
    [2019-01-05 19:59:49.591326] INFO: derived_feature_extractor: 提取完成 rank_avg_amount_5/rank_avg_amount_10, 0.002s
    [2019-01-05 19:59:49.593883] INFO: derived_feature_extractor: 提取完成 rank_return_0/rank_return_5, 0.002s
    [2019-01-05 19:59:49.596764] INFO: derived_feature_extractor: 提取完成 rank_return_5/rank_return_10, 0.002s
    [2019-01-05 19:59:49.740524] INFO: derived_feature_extractor: /y_2017, 48588
    [2019-01-05 19:59:49.861523] INFO: derived_feature_extractor: /y_2018, 187648
    [2019-01-05 19:59:50.274793] INFO: bigquant: derived_feature_extractor.v3 运行完成[0.832106s].
    [2019-01-05 19:59:50.276961] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:59:50.538538] INFO: dropnan: /y_2018, 33259/190895
    [2019-01-05 19:59:50.545627] INFO: dropnan: 行数: 33259/190895
    [2019-01-05 19:59:50.552434] INFO: bigquant: dropnan.v1 运行完成[0.275441s].
    [2019-01-05 19:59:50.555170] INFO: bigquant: join.v3 开始运行..
    [2019-01-05 19:59:50.647692] INFO: join: /y_2017, 行数=0/48588, 耗时=0.058129s
    [2019-01-05 19:59:50.836809] INFO: join: /y_2018, 行数=41914/187648, 耗时=0.186953s
    [2019-01-05 19:59:50.858315] INFO: join: 最终行数: 41914
    [2019-01-05 19:59:50.860465] INFO: bigquant: join.v3 运行完成[0.305324s].
    [2019-01-05 19:59:50.862549] INFO: bigquant: dropnan.v1 开始运行..
    [2019-01-05 19:59:50.889457] INFO: dropnan: /y_2017, 0/0
    [2019-01-05 19:59:50.965508] INFO: dropnan: /y_2018, 13461/41914
    [2019-01-05 19:59:50.972486] INFO: dropnan: 行数: 13461/41914
    [2019-01-05 19:59:50.975604] INFO: bigquant: dropnan.v1 运行完成[0.113056s].
    [2019-01-05 19:59:50.977921] INFO: bigquant: stock_ranker_train.v5 开始运行..
    [2019-01-05 19:59:51.013376] INFO: df2bin: 特征离散化处理 ..
    [2019-01-05 19:59:51.063574] INFO: df2bin: prepare data: training ..
    [2019-01-05 19:59:55.233044] INFO: stock_ranker_train: 67fcb81a 准备训练: 13461 行数
    [2019-01-05 19:59:55.372514] INFO: stock_ranker_train: 正在训练 ..
    [2019-01-05 20:00:15.681244] INFO: bigquant: stock_ranker_train.v5 运行完成[24.703252s].
    [2019-01-05 20:00:15.683829] INFO: bigquant: stock_ranker_predict.v5 开始运行..
    [2019-01-05 20:00:15.782018] INFO: df2bin: prepare data: prediction ..
    [2019-01-05 20:00:20.173954] INFO: stock_ranker_predict: 准备预测: 33259 行
    [2019-01-05 20:00:20.175225] INFO: stock_ranker_predict: 正在预测 ..
    [2019-01-05 20:00:30.339439] INFO: bigquant: stock_ranker_predict.v5 运行完成[14.655579s].
    [2019-01-05 20:00:30.343753] INFO: bigquant: cached.v3 开始运行..
    [2019-01-05 20:00:30.644995] INFO: bigquant: cached.v3 运行完成[0.301229s].
    [2019-01-05 20:00:30.733106] INFO: bigquant: backtest.v8 开始运行..
    [2019-01-05 20:00:30.735484] INFO: bigquant: biglearning backtest:V8.1.6
    [2019-01-05 20:00:30.736598] INFO: bigquant: product_type:stock by specified
    [2019-01-05 20:00:36.816427] INFO: bigquant: 读取股票行情完成:684996
    [2019-01-05 20:00:43.032238] INFO: algo: TradingAlgorithm V1.4.2
    [2019-01-05 20:00:49.282543] INFO: algo: trading transform...
          score       date  instrument  position
    0  2.060964 2017-12-22  300550.SZA         1
    1  2.059991 2017-12-22  300609.SZA         2
    2  2.047946 2017-12-22  300655.SZA         3
    3  2.047946 2017-12-22  300290.SZA         4
    4  2.047946 2017-12-22  300552.SZA         5
    ----
           score       date  instrument  position
    0   2.060964 2017-12-22  300550.SZA         1
    1   2.059991 2017-12-22  300609.SZA         2
    2   2.047946 2017-12-22  300655.SZA         3
    3   2.047946 2017-12-22  300290.SZA         4
    4   2.047946 2017-12-22  300552.SZA         5
    5   2.047946 2017-12-22  603958.SHA         6
    6   1.984647 2017-12-22  300566.SZA         7
    7   1.943007 2017-12-22  603336.SHA         8
    8   1.943007 2017-12-22  603031.SHA         9
    9   1.915842 2017-12-22  300693.SZA        10
    10  1.915842 2017-12-22  603320.SHA        11
    11  1.902824 2017-12-22  300576.SZA        12
    12  1.900220 2017-12-22  300537.SZA        13
             score       date  instrument  position
    2056  2.060964 2017-12-25  300550.SZA         1
    2057  2.060964 2017-12-25  002858.SZA         2
    2058  2.060964 2017-12-25  603960.SHA         3
    2059  2.047946 2017-12-25  300290.SZA         4
    2060  2.047946 2017-12-25  002877.SZA         5
    ----
             score       date  instrument  position
    2056  2.060964 2017-12-25  300550.SZA         1
    2057  2.060964 2017-12-25  002858.SZA         2
    2058  2.060964 2017-12-25  603960.SHA         3
    2059  2.047946 2017-12-25  300290.SZA         4
    2060  2.047946 2017-12-25  002877.SZA         5
    2061  2.047946 2017-12-25  300552.SZA         6
    2062  2.047946 2017-12-25  603958.SHA         7
    2063  2.047946 2017-12-25  300663.SZA         8
    2064  1.984647 2017-12-25  300566.SZA         9
    2065  1.943007 2017-12-25  603238.SHA        10
    2066  1.943007 2017-12-25  603336.SHA        11
    2067  1.902824 2017-12-25  603398.SHA        12
    2068  1.902824 2017-12-25  300576.SZA        13
    2069  1.902824 2017-12-25  002862.SZA        14
    0     2.198449 2017-12-25  300451.SZA         1
    1     2.191835 2017-12-25  603798.SHA         2
    2     2.139068 2017-12-25  002758.SZA         3
    3     2.122990 2017-12-25  300675.SZA         4
    4     2.122990 2017-12-25  603663.SHA         5
    5     2.122990 2017-12-25  300290.SZA         6
    6     2.103956 2017-12-25  603488.SHA         7
    7     2.103956 2017-12-25  603336.SHA         8
    8     2.103956 2017-12-25  300541.SZA         9
    9     2.103457 2017-12-25  002843.SZA        10
    10    2.103457 2017-12-25  300550.SZA        11
    11    2.099556 2017-12-25  603131.SHA        12
    12    2.099556 2017-12-25  300588.SZA        13
    13    2.089230 2017-12-25  300566.SZA        14
    14    2.086458 2017-12-25  002847.SZA        15
    15    2.086458 2017-12-25  002813.SZA        16
    ...        ...        ...         ...       ...
    25    2.011990 2017-12-25  603039.SHA        26
    26    2.010106 2017-12-25  300543.SZA        27
    27    1.983451 2017-12-25  002837.SZA        28
    28    1.983451 2017-12-25  603035.SHA        29
    29    1.983451 2017-12-25  603360.SHA        30
    30    1.983451 2017-12-25  603803.SHA        31
    31    1.983451 2017-12-25  603040.SHA        32
    32    1.983451 2017-12-25  603757.SHA        33
    33    1.983451 2017-12-25  300627.SZA        34
    34    1.983451 2017-12-25  603208.SHA        35
    35    1.983451 2017-12-25  300690.SZA        36
    36    1.983451 2017-12-25  002749.SZA        37
    37    1.983451 2017-12-25  603186.SHA        38
    38    1.983451 2017-12-25  300503.SZA        39
    39    1.983451 2017-12-25  300575.SZA        40
    40    1.980478 2017-12-25  002771.SZA        41
    41    1.976578 2017-12-25  002718.SZA        42
    42    1.976578 2017-12-25  300687.SZA        43
    43    1.970353 2017-12-25  300592.SZA        44
    44    1.970353 2017-12-25  300508.SZA        45
    45    1.970353 2017-12-25  300579.SZA        46
    46    1.970353 2017-12-25  300701.SZA        47
    47    1.970353 2017-12-25  603738.SHA        48
    48    1.970353 2017-12-25  300649.SZA        49
    49    1.963480 2017-12-25  300581.SZA        50
    50    1.963480 2017-12-25  002858.SZA        51
    51    1.947901 2017-12-25  603031.SHA        52
    52    1.925168 2017-12-25  300430.SZA        53
    53    1.915615 2017-12-25  300600.SZA        54
    54    1.905092 2017-12-25  002891.SZA        55
    
    [69 rows x 4 columns]
             score       date  instrument  position
    4191  1.984647 2017-12-26  300566.SZA         1
    4192  1.740734 2017-12-26  300489.SZA         2
    4193  1.717807 2017-12-26  300400.SZA         3
    4194  1.693071 2017-12-26  002858.SZA         4
    4195  1.675971 2017-12-26  002824.SZA         5
    ----
             score       date  instrument  position
    4191  1.984647 2017-12-26  300566.SZA         1
    2135  2.000011 2017-12-26  002824.SZA         1
    2136  1.934276 2017-12-26  300566.SZA         2
    0     2.230978 2017-12-26  300400.SZA         1
             score       date  instrument  position
    4625  2.060964 2017-12-27  300550.SZA         1
    4626  2.058587 2017-12-27  300663.SZA         2
    4627  2.047946 2017-12-27  300542.SZA         3
    4628  2.047946 2017-12-27  603315.SHA         4
    4629  2.047946 2017-12-27  300552.SZA         5
    ----
             score       date  instrument  position
    4625  2.060964 2017-12-27  300550.SZA         1
    4626  2.058587 2017-12-27  300663.SZA         2
    4627  2.047946 2017-12-27  300542.SZA         3
    4628  2.047946 2017-12-27  603315.SHA         4
    4629  2.047946 2017-12-27  300552.SZA         5
    4630  2.047946 2017-12-27  300290.SZA         6
    4631  2.047946 2017-12-27  300489.SZA         7
    4632  1.956025 2017-12-27  603960.SHA         8
    2569  2.215448 2017-12-27  300200.SZA         1
    2570  2.209855 2017-12-27  300246.SZA         2
    2571  2.198449 2017-12-27  300374.SZA         3
    2572  2.196757 2017-12-27  300214.SZA         4
    2573  2.169773 2017-12-27  300465.SZA         5
    2574  2.161758 2017-12-27  300400.SZA         6
    2575  2.156066 2017-12-27  603960.SHA         7
    2576  2.132632 2017-12-27  300549.SZA         8
    2577  2.122990 2017-12-27  300541.SZA         9
    2578  2.122990 2017-12-27  002816.SZA        10
    2579  2.119535 2017-12-27  300592.SZA        11
    2580  2.099556 2017-12-27  300687.SZA        12
    2581  2.099556 2017-12-27  603040.SHA        13
    2582  2.092942 2017-12-27  603037.SHA        14
    2583  2.086458 2017-12-27  002771.SZA        15
    2584  2.086458 2017-12-27  300581.SZA        16
    2585  2.073308 2017-12-27  300290.SZA        17
    2586  2.064101 2017-12-27  300542.SZA        18
    2587  2.046923 2017-12-27  300609.SZA        19
    2588  2.036693 2017-12-27  002593.SZA        20
    2589  2.034606 2017-12-27  603108.SHA        21
    2590  2.021198 2017-12-27  603315.SHA        22
    ...        ...        ...         ...       ...
    436   2.286624 2017-12-27  300200.SZA         3
    437   2.274246 2017-12-27  002593.SZA         4
    438   2.255816 2017-12-27  002291.SZA         5
    439   2.183406 2017-12-27  603960.SHA         6
    440   2.171027 2017-12-27  300537.SZA         7
    441   2.171027 2017-12-27  002758.SZA         8
    442   2.166068 2017-12-27  300246.SZA         9
    443   2.166068 2017-12-27  300400.SZA        10
    444   2.106199 2017-12-27  600976.SHA        11
    445   2.045533 2017-12-27  603007.SHA        12
    446   2.045533 2017-12-27  002776.SZA        13
    447   2.030874 2017-12-27  300549.SZA        14
    448   2.022026 2017-12-27  300436.SZA        15
    449   1.968743 2017-12-27  300465.SZA        16
    450   1.944807 2017-12-27  600865.SHA        17
    451   1.944807 2017-12-27  603878.SHA        18
    452   1.929090 2017-12-27  300249.SZA        19
    453   1.928947 2017-12-27  603508.SHA        20
    454   1.928947 2017-12-27  300451.SZA        21
    455   1.922836 2017-12-27  002766.SZA        22
    456   1.919991 2017-12-27  300374.SZA        23
    0     2.151436 2017-12-27  002886.SZA         1
    1     2.121821 2017-12-27  002718.SZA         2
    2     2.087346 2017-12-27  603040.SHA         3
    3     2.087106 2017-12-27  300286.SZA         4
    4     2.022338 2017-12-27  002849.SZA         5
    5     2.022338 2017-12-27  603037.SHA         6
    6     1.997949 2017-12-27  002757.SZA         7
    7     1.986945 2017-12-27  300551.SZA         8
    8     1.960915 2017-12-27  603039.SHA         9
    
    [81 rows x 4 columns]
             score       date  instrument  position
    6759  2.047946 2017-12-28  603315.SHA         1
    6760  2.047946 2017-12-28  300654.SZA         2
    6761  1.956025 2017-12-28  603960.SHA         3
    6762  1.809587 2017-12-28  300400.SZA         4
    6763  1.723081 2017-12-28  300374.SZA         5
    ----
             score       date  instrument  position
    6759  2.047946 2017-12-28  603315.SHA         1
    6760  2.047946 2017-12-28  300654.SZA         2
    6761  1.956025 2017-12-28  603960.SHA         3
    4703  2.215448 2017-12-28  300374.SZA         1
    4704  2.190161 2017-12-28  300400.SZA         2
    4705  2.177171 2017-12-28  603027.SHA         3
    4706  2.156066 2017-12-28  603960.SHA         4
    4707  1.983451 2017-12-28  300461.SZA         5
    4708  1.950330 2017-12-28  603315.SHA         6
    4709  1.920281 2017-12-28  603037.SHA         7
    4710  1.914694 2017-12-28  603180.SHA         8
    2568  2.286624 2017-12-28  600469.SHA         1
    2569  2.183406 2017-12-28  603960.SHA         2
    2570  2.166068 2017-12-28  300400.SZA         3
    2571  2.132301 2017-12-28  603040.SHA         4
    2572  1.998772 2017-12-28  603608.SHA         5
    2573  1.929090 2017-12-28  300249.SZA         6
    2574  1.919991 2017-12-28  300374.SZA         7
    2134  2.238112 2017-12-28  300545.SZA         1
    2135  2.157964 2017-12-28  300657.SZA         2
    0     1.927365 2017-12-28  300302.SZA         1
             score       date  instrument  position
    7309  2.047946 2017-12-29  002830.SZA         1
    7310  2.047946 2017-12-29  300542.SZA         2
    7311  2.047946 2017-12-29  603828.SHA         3
    7312  2.047946 2017-12-29  603315.SHA         4
    7313  2.047946 2017-12-29  300654.SZA         5
    ----
             score       date  instrument  position
    7309  2.047946 2017-12-29  002830.SZA         1
    7310  2.047946 2017-12-29  300542.SZA         2
    7311  2.047946 2017-12-29  603828.SHA         3
    7312  2.047946 2017-12-29  603315.SHA         4
    7313  2.047946 2017-12-29  300654.SZA         5
    7314  2.047946 2017-12-29  002843.SZA         6
    7315  1.956025 2017-12-29  603960.SHA         7
    7316  1.944075 2017-12-29  300479.SZA         8
    7317  1.918431 2017-12-29  300243.SZA         9
    5253  2.226853 2017-12-29  002593.SZA         1
    5254  2.226853 2017-12-29  300374.SZA         2
    5255  2.190161 2017-12-29  300400.SZA         3
    5256  2.169773 2017-12-29  000593.SZA         4
    5257  2.169773 2017-12-29  300153.SZA         5
    5258  2.169164 2017-12-29  002757.SZA         6
    5259  2.156066 2017-12-29  603960.SHA         7
    5260  2.152166 2017-12-29  603040.SHA         8
    5261  2.122990 2017-12-29  002886.SZA         9
    5262  2.120091 2017-12-29  300243.SZA        10
    5263  2.106385 2017-12-29  603315.SHA        11
    5264  2.080652 2017-12-29  300214.SZA        12
    5265  2.070879 2017-12-29  002843.SZA        13
    5266  2.054274 2017-12-29  603828.SHA        14
    5267  2.049174 2017-12-29  300681.SZA        15
    5268  2.046923 2017-12-29  300290.SZA        16
    5269  2.043260 2017-12-29  603388.SHA        17
    5270  2.016527 2017-12-29  002876.SZA        18
    5271  2.000011 2017-12-29  002816.SZA        19
    5272  2.000011 2017-12-29  002830.SZA        20
    5273  1.983451 2017-12-29  002718.SZA        21
    ...        ...        ...         ...       ...
    2684  2.146925 2017-12-29  300545.SZA         1
    2685  2.133147 2017-12-29  002718.SZA         2
    2686  2.129732 2017-12-29  300484.SZA         3
    2687  2.128529 2017-12-29  300550.SZA         4
    2688  1.995086 2017-12-29  603039.SHA         5
    2689  1.986945 2017-12-29  300552.SZA         6
    2690  1.986945 2017-12-29  002893.SZA         7
    2691  1.972037 2017-12-29  002837.SZA         8
    2692  1.963020 2017-12-29  300436.SZA         9
    2693  1.961932 2017-12-29  300681.SZA        10
    2694  1.960915 2017-12-29  002876.SZA        11
    2695  1.944672 2017-12-29  300246.SZA        12
    2696  1.935146 2017-12-29  300099.SZA        13
    550   1.967443 2017-12-29  002886.SZA         1
    551   1.967443 2017-12-29  002331.SZA         2
    552   1.963273 2017-12-29  300153.SZA         3
    553   1.950761 2017-12-29  300520.SZA         4
    554   1.950761 2017-12-29  300461.SZA         5
    555   1.950761 2017-12-29  300302.SZA         6
    556   1.950761 2017-12-29  002115.SZA         7
    557   1.950761 2017-12-29  300227.SZA         8
    558   1.950761 2017-12-29  300462.SZA         9
    559   1.929502 2017-12-29  002338.SZA        10
    560   1.927365 2017-12-29  002816.SZA        11
    561   1.927365 2017-12-29  300542.SZA        12
    562   1.927365 2017-12-29  002730.SZA        13
    563   1.927365 2017-12-29  300500.SZA        14
    564   1.927365 2017-12-29  300268.SZA        15
    565   1.927365 2017-12-29  002830.SZA        16
    566   1.906105 2017-12-29  002076.SZA        17
    
    [92 rows x 4 columns]
             score       date  instrument  position
    9441  1.902824 2018-01-02  300588.SZA         1
    9442  1.874815 2018-01-02  300545.SZA         2
    9443  1.871833 2018-01-02  300653.SZA         3
    9444  1.778945 2018-01-02  002773.SZA         4
    9445  1.707094 2018-01-02  002159.SZA         5
    ----
             score       date  instrument  position
    9441  1.902824 2018-01-02  300588.SZA         1
    7385  2.164073 2018-01-02  002159.SZA         1
    7386  2.086458 2018-01-02  603383.SHA         2
    7387  1.970353 2018-01-02  300588.SZA         3
    5250  2.280195 2018-01-02  603108.SHA         1
    5251  2.165289 2018-01-02  002159.SZA         2
    2682  1.927365 2018-01-02  300545.SZA         1
    2683  1.901144 2018-01-02  002341.SZA         2
    0     2.255017 2018-01-02  300545.SZA         1
    1     1.937393 2018-01-02  600880.SHA         2
    2     1.932372 2018-01-02  603595.SHA         3
    3     1.928629 2018-01-02  300568.SZA         4
    4     1.908138 2018-01-02  002159.SZA         5
             score       date  instrument  position
    9781  1.956025 2018-01-03  603226.SHA         1
    9782  1.874815 2018-01-03  300545.SZA         2
    9783  1.851227 2018-01-03  300588.SZA         3
    9784  1.785077 2018-01-03  300658.SZA         4
    9785  1.696589 2018-01-03  300676.SZA         5
    ----
             score       date  instrument  position
    9781  1.956025 2018-01-03  603226.SHA         1
    5590  2.268597 2018-01-03  603686.SHA         1
    5591  1.967260 2018-01-03  002159.SZA         2
    5592  1.953737 2018-01-03  300545.SZA         3
    5156  1.939091 2018-01-03  300545.SZA         1
    3022  1.973130 2018-01-03  300613.SZA         1
    3023  1.950761 2018-01-03  300338.SZA         2
    3024  1.927365 2018-01-03  300545.SZA         3
    3025  1.900637 2018-01-03  002341.SZA         4
    340   2.292677 2018-01-03  002159.SZA         1
    341   2.255017 2018-01-03  300545.SZA         2
    342   2.130104 2018-01-03  603919.SHA         3
    343   1.955419 2018-01-03  300609.SZA         4
    344   1.951262 2018-01-03  300385.SZA         5
    345   1.923744 2018-01-03  300588.SZA         6
              score       date  instrument  position
    10159  1.956025 2018-01-04  603226.SHA         1
    10160  1.956025 2018-01-04  603656.SHA         2
    10161  1.943007 2018-01-04  603966.SHA         3
    10162  1.943007 2018-01-04  603326.SHA         4
    10163  1.885803 2018-01-04  300545.SZA         5
    ----
              score       date  instrument  position
    10159  1.956025 2018-01-04  603226.SHA         1
    10160  1.956025 2018-01-04  603656.SHA         2
    10161  1.943007 2018-01-04  603966.SHA         3
    10162  1.943007 2018-01-04  603326.SHA         4
    8103   2.075923 2018-01-04  300510.SZA         1
    8104   2.011990 2018-01-04  603326.SHA         2
    8105   2.011990 2018-01-04  603226.SHA         3
    8106   2.000011 2018-01-04  300662.SZA         4
    8107   1.978914 2018-01-04  002891.SZA         5
    8108   1.978914 2018-01-04  300653.SZA         6
    8109   1.944637 2018-01-04  002713.SZA         7
    8110   1.926323 2018-01-04  002159.SZA         8
    8111   1.923944 2018-01-04  300588.SZA         9
    5968   2.165289 2018-01-04  002159.SZA         1
    5969   1.904664 2018-01-04  603337.SHA         2
    5534   2.087346 2018-01-04  300681.SZA         1
    5535   1.982279 2018-01-04  300548.SZA         2
    5536   1.939091 2018-01-04  300545.SZA         3
    3400   1.989839 2018-01-04  300613.SZA         1
    3401   1.927365 2018-01-04  300662.SZA         2
    3402   1.927365 2018-01-04  300545.SZA         3
    3403   1.900637 2018-01-04  002341.SZA         4
    718    2.283842 2018-01-04  002159.SZA         1
    719    2.260562 2018-01-04  002529.SZA         2
    720    2.255017 2018-01-04  300545.SZA         3
    721    2.250381 2018-01-04  300588.SZA         4
    722    2.186065 2018-01-04  300613.SZA         5
    723    2.167767 2018-01-04  300662.SZA         6
    724    1.932372 2018-01-04  300338.SZA         7
              score       date  instrument  position
    10572  1.956025 2018-01-05  603656.SHA         1
    10573  1.943007 2018-01-05  603326.SHA         2
    10574  1.874815 2018-01-05  300545.SZA         3
    10575  1.861867 2018-01-05  300588.SZA         4
    10576  1.850119 2018-01-05  603226.SHA         5
    ----
              score       date  instrument  position
    10572  1.956025 2018-01-05  603656.SHA         1
    10573  1.943007 2018-01-05  603326.SHA         2
    8516   2.226853 2018-01-05  300510.SZA         1
    8517   2.103956 2018-01-05  603656.SHA         2
    8518   2.073308 2018-01-05  300681.SZA         3
    8519   2.070879 2018-01-05  002891.SZA         4
    8520   2.000011 2018-01-05  300662.SZA         5
    8521   1.978914 2018-01-05  603496.SHA         6
    8522   1.970353 2018-01-05  300462.SZA         7
    8523   1.959471 2018-01-05  603226.SHA         8
    8524   1.927348 2018-01-05  002845.SZA         9
    6381   2.160159 2018-01-05  300129.SZA         1
    6382   2.068663 2018-01-05  603997.SHA         2
    6383   1.975722 2018-01-05  603337.SHA         3
    6384   1.928167 2018-01-05  300510.SZA         4
    5947   1.982279 2018-01-05  002798.SZA         1
    5948   1.931277 2018-01-05  300572.SZA         2
    3813   1.950761 2018-01-05  300338.SZA         1
    3814   1.927365 2018-01-05  300510.SZA         2
    3815   1.927365 2018-01-05  300662.SZA         3
    3816   1.924033 2018-01-05  300065.SZA         4
    3817   1.917051 2018-01-05  300462.SZA         5
    1131   2.255017 2018-01-05  300681.SZA         1
    1132   2.121247 2018-01-05  603638.SHA         2
    1133   2.113001 2018-01-05  603226.SHA         3
    1134   2.093867 2018-01-05  300537.SZA         4
    1135   2.014624 2018-01-05  300338.SZA         5
    1136   1.954307 2018-01-05  002696.SZA         6
    1137   1.942687 2018-01-05  300510.SZA         7
              score       date  instrument  position
    11022  1.797670 2018-01-08  300685.SZA         1
    11023  1.677608 2018-01-08  300607.SZA         2
    11024  1.482690 2018-01-08  300479.SZA         3
    11025  1.359666 2018-01-08  603658.SHA         4
    11026  1.337075 2018-01-08  300595.SZA         5
    ----
             score       date  instrument  position
    6831  2.234811 2018-01-08  300595.SZA         1
    6397  1.951180 2018-01-08  300685.SZA         1
    1581  2.121247 2018-01-08  300607.SZA         1
    1582  1.942687 2018-01-08  300595.SZA         2
              score       date  instrument  position
    11114  1.791912 2018-01-09  300604.SZA         1
    11115  1.458720 2018-01-09  002798.SZA         2
    11116  1.258675 2018-01-09  300590.SZA         3
    11117  1.005788 2018-01-09  600114.SHA         4
    11118  0.998707 2018-01-09  300567.SZA         5
    ----
             score       date  instrument  position
    9058  2.000011 2018-01-09  300604.SZA         1
    4355  1.927365 2018-01-09  300604.SZA         1
    4356  1.927365 2018-01-09  002798.SZA         2
    1673  2.255017 2018-01-09  300604.SZA         1
    1674  2.186065 2018-01-09  002798.SZA         2
    1675  2.130104 2018-01-09  603788.SHA         3
    1676  1.936234 2018-01-09  300174.SZA         4
              score       date  instrument  position
    11206  1.429457 2018-01-10  300685.SZA         1
    11207  1.343400 2018-01-10  603960.SHA         2
    11208  1.068451 2018-01-10  603180.SHA         3
    11209  0.933336 2018-01-10  603638.SHA         4
    11210  0.923330 2018-01-10  603085.SHA         5
    ----
             score       date  instrument  position
    9150  2.013109 2018-01-10  603638.SHA         1
    7015  2.018174 2018-01-10  603085.SHA         1
              score       date  instrument  position
    11276  1.204677 2018-01-11  603808.SHA         1
    11277  1.155789 2018-01-11  603826.SHA         2
    11278  1.069385 2018-01-11  600779.SHA         3
    11279  0.973749 2018-01-11  002798.SZA         4
    11280  0.853832 2018-01-11  002532.SZA         5
    ----
             score       date  instrument  position
    7085  2.089101 2018-01-11  603808.SHA         1
    1835  2.186065 2018-01-11  603826.SHA         1
    1836  1.942687 2018-01-11  603938.SHA         2
    1837  1.929217 2018-01-11  300247.SZA         3
    1838  1.929217 2018-01-11  002798.SZA         4
              score       date  instrument  position
    11335  1.675971 2018-01-12  603101.SHA         1
    11336  1.409913 2018-01-12  300700.SZA         2
    11337  0.980346 2018-01-12  603505.SHA         3
    11338  0.854513 2018-01-12  002697.SZA         4
    11339  0.823044 2018-01-12  300357.SZA         5
    ----
             score       date  instrument  position
    4576  1.929502 2018-01-12  002829.SZA         1
    1894  2.241547 2018-01-12  002076.SZA         1
    1895  2.123004 2018-01-12  603101.SHA         2
              score       date  instrument  position
    11406  1.881029 2018-01-15  300610.SZA         1
    11407  1.561846 2018-01-15  300607.SZA         2
    11408  1.383365 2018-01-15  300521.SZA         3
    11409  1.221239 2018-01-15  603686.SHA         4
    11410  1.069385 2018-01-15  600570.SHA         5
    ----
             score       date  instrument  position
    9350  1.905092 2018-01-15  300610.SZA         1
    7215  2.280975 2018-01-15  603686.SHA         1
    1965  1.908138 2018-01-15  300521.SZA         1
              score       date  instrument  position
    11478  1.515049 2018-01-16  002783.SZA         1
    11479  1.485901 2018-01-16  603690.SHA         2
    11480  1.481763 2018-01-16  603180.SHA         3
    11481  1.382385 2018-01-16  603601.SHA         4
    11482  1.378469 2018-01-16  300529.SZA         5
    ----
             score       date  instrument  position
    9422  2.123083 2018-01-16  002783.SZA         1
    9423  2.028807 2018-01-16  300529.SZA         2
    7287  2.265146 2018-01-16  002783.SZA         1
    7288  2.187368 2018-01-16  300529.SZA         2
    7289  2.045533 2018-01-16  603601.SHA         3
    7290  1.912113 2018-01-16  300233.SZA         4
    2037  2.172594 2018-01-16  002783.SZA         1
    2038  1.937174 2018-01-16  002905.SZA         2
              score       date  instrument  position
    11547  1.674091 2018-01-17  600276.SHA         1
    11548  1.620481 2018-01-17  300109.SZA         2
    11549  1.264079 2018-01-17  603677.SHA         3
    11550  1.181814 2018-01-17  000756.SZA         4
    11551  1.164697 2018-01-17  002472.SZA         5
    ----
             score       date  instrument  position
    9491  2.226853 2018-01-17  300109.SZA         1
    9492  2.034606 2018-01-17  000756.SZA         2
    7356  1.949703 2018-01-17  000756.SZA         1
    7357  1.928947 2018-01-17  300109.SZA         2
    4788  1.989839 2018-01-17  300109.SZA         1
    2106  2.186065 2018-01-17  300422.SZA         1
              score       date  instrument  position
    11600  1.385368 2018-01-18  002773.SZA         1
    11601  1.070448 2018-01-18  603338.SHA         2
    11602  0.967959 2018-01-18  002139.SZA         3
    11603  0.903631 2018-01-18  002063.SZA         4
    11604  0.872766 2018-01-18  603326.SHA         5
    ----
    Empty DataFrame
    Columns: [score, date, instrument, position]
    Index: []
              score       date  instrument  position
    11645  1.871833 2018-01-19  002830.SZA         1
    11646  1.504821 2018-01-19  002671.SZA         2
    11647  1.333811 2018-01-19  600276.SHA         3
    11648  1.275224 2018-01-19  600570.SHA         4
    11649  1.161387 2018-01-19  002446.SZA         5
    ----
             score       date  instrument  position
    9589  2.119535 2018-01-19  603040.SHA         1
    9590  1.970353 2018-01-19  002830.SZA         2
    7454  2.018596 2018-01-19  603040.SHA         1
    4886  1.950761 2018-01-19  002798.SZA         1
    2204  2.186065 2018-01-19  002798.SZA         1
              score       date  instrument  position
    11728  1.902824 2018-01-22  002816.SZA         1
    11729  1.851227 2018-01-22  300404.SZA         2
    11730  1.154451 2018-01-22  300595.SZA         3
    11731  1.021206 2018-01-22  300567.SZA         4
    11732  0.979847 2018-01-22  603595.SHA         5
    ----
              score       date  instrument  position
    11728  1.902824 2018-01-22  002816.SZA         1
    9672   1.957203 2018-01-22  300404.SZA         1
    7537   2.030874 2018-01-22  002816.SZA         1
    2287   2.292677 2018-01-22  300404.SZA         1
              score       date  instrument  position
    11798  1.750264 2018-01-23  603416.SHA         1
    11799  1.677608 2018-01-23  300601.SZA         2
    11800  1.613443 2018-01-23  002773.SZA         3
    11801  1.516288 2018-01-23  603377.SHA         4
    11802  1.501796 2018-01-23  300567.SZA         5
    ----
             score       date  instrument  position
    9742  2.119482 2018-01-23  603416.SHA         1
    9743  2.023168 2018-01-23  603338.SHA         2
    9744  2.003986 2018-01-23  002253.SZA         3
    9745  1.965863 2018-01-23  002369.SZA         4
    7607  2.062871 2018-01-23  603416.SHA         1
    7608  2.048983 2018-01-23  603338.SHA         2
    2357  2.104279 2018-01-23  002793.SZA         1
    2358  1.942687 2018-01-23  002554.SZA         2
              score       date  instrument  position
    11961  1.627779 2018-01-24  300268.SZA         1
    11962  1.617083 2018-01-24  600436.SHA         2
    11963  1.591774 2018-01-24  300600.SZA         3
    11964  1.555970 2018-01-24  300416.SZA         4
    11965  1.528194 2018-01-24  603416.SHA         5
    ----
             score       date  instrument  position
    7770  2.062091 2018-01-24  603416.SHA         1
    7771  2.036605 2018-01-24  603338.SHA         2
    7336  2.121821 2018-01-24  300600.SZA         1
    5202  2.030708 2018-01-24  002499.SZA         1
    5203  1.950761 2018-01-24  300263.SZA         2
    2520  2.255017 2018-01-24  300263.SZA         1
              score       date  instrument  position
    12245  2.047946 2018-01-25  300631.SZA         1
    12246  1.884851 2018-01-25  002875.SZA         2
    12247  1.613903 2018-01-25  300658.SZA         3
    12248  1.426049 2018-01-25  600779.SHA         4
    12249  1.385024 2018-01-25  603416.SHA         5
    ----
              score       date  instrument  position
    12245  2.047946 2018-01-25  300631.SZA         1
    10189  2.011990 2018-01-25  300631.SZA         1
    10190  1.908409 2018-01-25  603416.SHA         2
    10191  1.908046 2018-01-25  002875.SZA         3
    8054   2.062091 2018-01-25  603416.SHA         1
    5486   1.924033 2018-01-25  000710.SZA         1
    5487   1.906105 2018-01-25  300631.SZA         2
    2804   2.252274 2018-01-25  002875.SZA         1
    2805   2.191610 2018-01-25  000530.SZA         2
              score       date  instrument  position
    12353  2.047946 2018-01-26  603330.SHA         1
    12354  1.850119 2018-01-26  300693.SZA         2
    12355  1.837101 2018-01-26  603041.SHA         3
    12356  1.833564 2018-01-26  300648.SZA         4
    12357  1.726658 2018-01-26  300657.SZA         5
    ----
              score       date  instrument  position
    12353  2.047946 2018-01-26  603330.SHA         1
    10297  2.070879 2018-01-26  300693.SZA         1
    10298  2.070879 2018-01-26  603041.SHA         2
    10299  1.970353 2018-01-26  300639.SZA         3
    10300  1.970353 2018-01-26  300657.SZA         4
    7728   1.960915 2018-01-26  300648.SZA         1
    5594   1.989839 2018-01-26  300577.SZA         1
    5595   1.917051 2018-01-26  300181.SZA         2
    5596   1.917051 2018-01-26  300639.SZA         3
    5597   1.917051 2018-01-26  300648.SZA         4
    2912   1.942687 2018-01-26  300577.SZA         1
              score       date  instrument  position
    12476  1.920094 2018-01-29  300545.SZA         1
    12477  1.871833 2018-01-29  300622.SZA         2
    12478  1.445667 2018-01-29  300265.SZA         3
    12479  1.379254 2018-01-29  300243.SZA         4
    12480  1.344745 2018-01-29  600779.SHA         5
    ----
              score       date  instrument  position
    12476  1.920094 2018-01-29  300545.SZA         1
    10420  2.003429 2018-01-29  300545.SZA         1
    5717   1.960680 2018-01-29  300613.SZA         1
    5718   1.917051 2018-01-29  300500.SZA         2
              score       date  instrument  position
    12621  2.047946 2018-01-30  603637.SHA         1
    12622  2.047946 2018-01-30  603398.SHA         2
    12623  1.850119 2018-01-30  002891.SZA         3
    12624  1.771834 2018-01-30  300576.SZA         4
    12625  1.769502 2018-01-30  603985.SHA         5
    ----
              score       date  instrument  position
    12621  2.047946 2018-01-30  603637.SHA         1
    12622  2.047946 2018-01-30  603398.SHA         2
    10565  2.152166 2018-01-30  603197.SHA         1
    10566  2.075923 2018-01-30  300366.SZA         2
    10567  2.070879 2018-01-30  002889.SZA         3
    10568  2.046923 2018-01-30  002828.SZA         4
    10569  1.989886 2018-01-30  300543.SZA         5
    10570  1.966098 2018-01-30  002315.SZA         6
    10571  1.950330 2018-01-30  603985.SHA         7
    10572  1.949027 2018-01-30  603535.SHA         8
    8430   2.160939 2018-01-30  300366.SZA         1
    8431   2.154481 2018-01-30  300320.SZA         2
    8432   1.928947 2018-01-30  002850.SZA         3
    8433   1.928167 2018-01-30  002315.SZA         4
    5862   1.950761 2018-01-30  300141.SZA         1
    5863   1.950761 2018-01-30  300666.SZA         2
    5864   1.927365 2018-01-30  002315.SZA         3
    5865   1.927365 2018-01-30  002798.SZA         4
    5866   1.927365 2018-01-30  603637.SHA         5
    5867   1.901144 2018-01-30  600764.SHA         6
    3180   2.292677 2018-01-30  603985.SHA         1
    3181   2.292677 2018-01-30  603637.SHA         2
    3182   2.241547 2018-01-30  603398.SHA         3
    3183   1.926473 2018-01-30  002820.SZA         4
    3184   1.908138 2018-01-30  300543.SZA         5
    3185   1.902284 2018-01-30  002315.SZA         6
              score       date  instrument  position
    12874  2.038475 2018-01-31  300461.SZA         1
    12875  1.975438 2018-01-31  002315.SZA         2
    12876  1.956025 2018-01-31  300619.SZA         3
    12877  1.849973 2018-01-31  300560.SZA         4
    12878  1.756427 2018-01-31  603602.SHA         5
    ----
              score       date  instrument  position
    12874  2.038475 2018-01-31  300461.SZA         1
    12875  1.975438 2018-01-31  002315.SZA         2
    12876  1.956025 2018-01-31  300619.SZA         3
    10818  2.136533 2018-01-31  300619.SZA         1
    10819  2.116236 2018-01-31  300461.SZA         2
    10820  2.103457 2018-01-31  300691.SZA         3
    10821  2.069246 2018-01-31  300238.SZA         4
    10822  1.970353 2018-01-31  300500.SZA         5
    10823  1.970353 2018-01-31  300560.SZA         6
    10824  1.970353 2018-01-31  603602.SHA         7
    10825  1.966098 2018-01-31  002315.SZA         8
    8683   2.160939 2018-01-31  002315.SZA         1
    8684   2.160939 2018-01-31  002324.SZA         2
    8685   2.139132 2018-01-31  300619.SZA         3
    8686   1.920648 2018-01-31  300138.SZA         4
    8249   1.984844 2018-01-31  603602.SHA         1
    8250   1.982279 2018-01-31  300461.SZA         2
    6115   2.051967 2018-01-31  002315.SZA         1
    6116   1.917051 2018-01-31  300500.SZA         2
    6117   1.906105 2018-01-31  300461.SZA         3
              score       date  instrument  position
    13059  1.785636 2018-02-01  002315.SZA         1
    13060  1.645302 2018-02-01  603722.SHA         2
    13061  1.517327 2018-02-01  300657.SZA         3
    13062  1.487317 2018-02-01  600763.SHA         4
    13063  1.446977 2018-02-01  002615.SZA         5
    ----
              score       date  instrument  position
    11003  2.105992 2018-02-01  300657.SZA         1
    11004  1.970353 2018-02-01  603722.SHA         2
    6300   2.051967 2018-02-01  002315.SZA         1
    6301   1.927365 2018-02-01  300474.SZA         2
              score       date  instrument  position
    13207  1.918431 2018-02-02  300192.SZA         1
    13208  1.674054 2018-02-02  002417.SZA         2
    13209  1.645302 2018-02-02  603336.SHA         3
    13210  1.562198 2018-02-02  300545.SZA         4
    13211  1.517327 2018-02-02  603938.SHA         5
    ----
              score       date  instrument  position
    13207  1.918431 2018-02-02  300192.SZA         1
    11151  2.119089 2018-02-02  603938.SHA         1
    11152  1.970353 2018-02-02  300545.SZA         2
    11153  1.970353 2018-02-02  603336.SHA         3
    9016   2.195133 2018-02-02  002417.SZA         1
    9017   2.166068 2018-02-02  300192.SZA         2
    9018   1.936380 2018-02-02  603988.SHA         3
    8582   2.250919 2018-02-02  300545.SZA         1
    6448   2.051967 2018-02-02  002315.SZA         1
    6449   1.927365 2018-02-02  300192.SZA         2
    3766   1.908138 2018-02-02  300192.SZA         1
    3767   1.908138 2018-02-02  002417.SZA         2
              score       date  instrument  position
    13355  1.915842 2018-02-05  603200.SHA         1
    13356  1.407068 2018-02-05  603429.SHA         2
    13357  0.963753 2018-02-05  300486.SZA         3
    13358  0.832883 2018-02-05  600809.SHA         4
    13359  0.788990 2018-02-05  300503.SZA         5
    ----
              score       date  instrument  position
    13355  1.915842 2018-02-05  603200.SHA         1
    8730   1.988416 2018-02-05  603429.SHA         1
    6596   2.051967 2018-02-05  002315.SZA         1
    6597   1.951269 2018-02-05  603429.SHA         2
    6598   1.950761 2018-02-05  002446.SZA         3
              score       date  instrument  position
    13449  2.047946 2018-02-06  300560.SZA         1
    13450  2.047946 2018-02-06  300542.SZA         2
    13451  2.047946 2018-02-06  300472.SZA         3
    13452  1.956025 2018-02-06  300588.SZA         4
    13453  1.944075 2018-02-06  300268.SZA         5
    ----
              score       date  instrument  position
    13449  2.047946 2018-02-06  300560.SZA         1
    13450  2.047946 2018-02-06  300542.SZA         2
    13451  2.047946 2018-02-06  300472.SZA         3
    13452  1.956025 2018-02-06  300588.SZA         4
    13453  1.944075 2018-02-06  300268.SZA         5
    13454  1.943007 2018-02-06  300404.SZA         6
    13455  1.931679 2018-02-06  300461.SZA         7
    13456  1.918431 2018-02-06  300192.SZA         8
    13457  1.915842 2018-02-06  300689.SZA         9
    13458  1.915842 2018-02-06  603200.SHA        10
    13459  1.915842 2018-02-06  300693.SZA        11
    13460  1.915842 2018-02-06  300619.SZA        12
    13461  1.913465 2018-02-06  603326.SHA        13
    13462  1.902824 2018-02-06  300536.SZA        14
    13463  1.902824 2018-02-06  002898.SZA        15
    13464  1.902824 2018-02-06  300538.SZA        16
    13465  1.902824 2018-02-06  300622.SZA        17
    13466  1.902824 2018-02-06  300643.SZA        18
    13467  1.902824 2018-02-06  603336.SHA        19
    13468  1.902824 2018-02-06  603330.SHA        20
    13469  1.902824 2018-02-06  002816.SZA        21
    13470  1.902824 2018-02-06  300629.SZA        22
    13471  1.902824 2018-02-06  300489.SZA        23
    13472  1.902824 2018-02-06  002877.SZA        24
    13473  1.902824 2018-02-06  300462.SZA        25
    13474  1.902824 2018-02-06  603800.SHA        26
    13475  1.902824 2018-02-06  300576.SZA        27
    13476  1.902824 2018-02-06  002849.SZA        28
    13477  1.902824 2018-02-06  002858.SZA        29
    13478  1.902824 2018-02-06  603320.SHA        30
    ...         ...        ...         ...       ...
    6694   1.927365 2018-02-06  603533.SHA         5
    6695   1.927365 2018-02-06  002235.SZA         6
    6696   1.917051 2018-02-06  300141.SZA         7
    6697   1.917051 2018-02-06  300649.SZA         8
    6698   1.917051 2018-02-06  002856.SZA         9
    6699   1.917051 2018-02-06  300520.SZA        10
    6700   1.917051 2018-02-06  603896.SHA        11
    6701   1.917051 2018-02-06  300346.SZA        12
    6702   1.917051 2018-02-06  300629.SZA        13
    6703   1.909589 2018-02-06  002813.SZA        14
    4008   2.279207 2018-02-06  300663.SZA         1
    4009   1.908138 2018-02-06  300481.SZA         2
    4010   1.908138 2018-02-06  603069.SHA         3
    4011   1.908138 2018-02-06  300698.SZA         4
    4012   1.908138 2018-02-06  300152.SZA         5
    4013   1.908138 2018-02-06  300688.SZA         6
    4014   1.908138 2018-02-06  300192.SZA         7
    4015   1.908138 2018-02-06  300264.SZA         8
    4016   1.908138 2018-02-06  300268.SZA         9
    4017   1.908138 2018-02-06  600749.SHA        10
    4018   1.908138 2018-02-06  600397.SHA        11
    4019   1.908138 2018-02-06  300404.SZA        12
    4020   1.908138 2018-02-06  300461.SZA        13
    4021   1.908138 2018-02-06  603078.SHA        14
    4022   1.908138 2018-02-06  603722.SHA        15
    4023   1.908138 2018-02-06  300521.SZA        16
    4024   1.908138 2018-02-06  002234.SZA        17
    4025   1.908138 2018-02-06  300588.SZA        18
    4026   1.908138 2018-02-06  300542.SZA        19
    4027   1.908138 2018-02-06  300581.SZA        20
    
    [245 rows x 4 columns]
              score       date  instrument  position
    15449  1.956025 2018-02-07  300606.SZA         1
    15450  1.559839 2018-02-07  300648.SZA         2
    15451  1.349893 2018-02-07  300592.SZA         3
    15452  1.268636 2018-02-07  300662.SZA         4
    15453  1.259005 2018-02-07  600779.SHA         5
    ----
              score       date  instrument  position
    15449  1.956025 2018-02-07  300606.SZA         1
    13393  2.209855 2018-02-07  002551.SZA         1
    13394  2.082344 2018-02-07  300065.SZA         2
    11258  2.160939 2018-02-07  002551.SZA         1
    11259  2.139132 2018-02-07  300606.SZA         2
    11260  2.130032 2018-02-07  300662.SZA         3
    11261  2.062871 2018-02-07  300648.SZA         4
    10824  2.020447 2018-02-07  300648.SZA         1
    6008   1.908138 2018-02-07  300606.SZA         1
    6009   1.908138 2018-02-07  300481.SZA         2
              score       date  instrument  position
    15532  1.902824 2018-02-08  300655.SZA         1
    15533  1.840676 2018-02-08  603226.SHA         2
    15534  1.537925 2018-02-08  300523.SZA         3
    15535  1.468696 2018-02-08  300550.SZA         4
    15536  1.465426 2018-02-08  300630.SZA         5
    ----
              score       date  instrument  position
    15532  1.902824 2018-02-08  300655.SZA         1
    13476  2.198449 2018-02-08  603017.SHA         1
    13477  2.119535 2018-02-08  603226.SHA         2
    11341  2.060022 2018-02-08  603017.SHA         1
              score       date  instrument  position
    15641  1.706962 2018-02-09  603101.SHA         1
    15642  1.592786 2018-02-09  300482.SZA         2
    15643  1.493112 2018-02-09  300706.SZA         3
    15644  0.803664 2018-02-09  002282.SZA         4
    15645  0.703394 2018-02-09  600436.SHA         5
    ----
              score       date  instrument  position
    13585  1.983451 2018-02-09  603378.SHA         1
    13586  1.970353 2018-02-09  300706.SZA         2
              score       date  instrument  position
    15719  1.573446 2018-02-12  300691.SZA         1
    15720  1.385666 2018-02-12  300448.SZA         2
    15721  1.032850 2018-02-12  002044.SZA         3
    15722  0.984692 2018-02-12  300357.SZA         4
    15723  0.950300 2018-02-12  002669.SZA         5
    ----
              score       date  instrument  position
    11528  2.022046 2018-02-12  300691.SZA         1
              score       date  instrument  position
    15787  1.550560 2018-02-13  603078.SHA         1
    15788  1.448961 2018-02-13  300581.SZA         2
    15789  1.265272 2018-02-13  000785.SZA         3
    15790  1.146438 2018-02-13  300192.SZA         4
    15791  0.990895 2018-02-13  603305.SHA         5
    ----
              score       date  instrument  position
    13731  1.983451 2018-02-13  603305.SHA         1
    9028   1.929502 2018-02-13  300177.SZA         1
              score       date  instrument  position
    15879  1.744669 2018-02-14  603078.SHA         1
    15880  1.032850 2018-02-14  002044.SZA         2
    15881  0.977117 2018-02-14  300124.SZA         3
    15882  0.949960 2018-02-14  603658.SHA         4
    15883  0.924848 2018-02-14  300618.SZA         5
    ----
    Empty DataFrame
    Columns: [score, date, instrument, position]
    Index: []
              score       date  instrument  position
    15979  1.744669 2018-02-22  603396.SHA         1
    15980  0.883099 2018-02-22  300124.SZA         2
    15981  0.374868 2018-02-22  002315.SZA         3
    15982  0.310289 2018-02-22  300107.SZA         4
    15983  0.276151 2018-02-22  603160.SHA         5
    ----
    Empty DataFrame
    Columns: [score, date, instrument, position]
    Index: []
              score       date  instrument  position
    16025  2.047946 2018-02-23  300638.SZA         1
    16026  2.047946 2018-02-23  300489.SZA         2
    16027  2.047946 2018-02-23  300552.SZA         3
    16028  1.944075 2018-02-23  300268.SZA         4
    16029  1.913465 2018-02-23  603320.SHA         5
    ----
              score       date  instrument  position
    16025  2.047946 2018-02-23  300638.SZA         1
    16026  2.047946 2018-02-23  300489.SZA         2
    16027  2.047946 2018-02-23  300552.SZA         3
    16028  1.944075 2018-02-23  300268.SZA         4
    16029  1.913465 2018-02-23  603320.SHA         5
    16030  1.902824 2018-02-23  603238.SHA         6
    16031  1.902824 2018-02-23  002760.SZA         7
    16032  1.902824 2018-02-23  603828.SHA         8
    16033  1.902824 2018-02-23  300622.SZA         9
    16034  1.902824 2018-02-23  300610.SZA        10
    16035  1.902824 2018-02-23  002847.SZA        11
    16036  1.902824 2018-02-23  603196.SHA        12
    16037  1.902824 2018-02-23  002856.SZA        13
    16038  1.902824 2018-02-23  300469.SZA        14
    16039  1.902824 2018-02-23  603637.SHA        15
    16040  1.902824 2018-02-23  300538.SZA        16
    16041  1.902824 2018-02-23  300526.SZA        17
    13969  2.185352 2018-02-23  300025.SZA         1
    13970  2.103457 2018-02-23  603679.SHA         2
    13971  2.103457 2018-02-23  300657.SZA         3
    13972  2.099556 2018-02-23  603630.SHA         4
    13973  2.099556 2018-02-23  603803.SHA         5
    13974  2.086458 2018-02-23  300637.SZA         6
    13975  2.086458 2018-02-23  300430.SZA         7
    13976  2.013109 2018-02-23  603378.SHA         8
    13977  2.000011 2018-02-23  002849.SZA         9
    13978  1.983451 2018-02-23  603043.SHA        10
    13979  1.983013 2018-02-23  603136.SHA        11
    13980  1.970353 2018-02-23  300687.SZA        12
    13981  1.970353 2018-02-23  300435.SZA        13
    ...         ...        ...         ...       ...
    11403  1.960915 2018-02-23  300461.SZA         4
    9266   1.950761 2018-02-23  300461.SZA         1
    9267   1.950761 2018-02-23  300725.SZA         2
    9268   1.950761 2018-02-23  300612.SZA         3
    9269   1.943299 2018-02-23  300469.SZA         4
    9270   1.943074 2018-02-23  300607.SZA         5
    9271   1.941506 2018-02-23  002059.SZA         6
    9272   1.929502 2018-02-23  603896.SHA         7
    9273   1.929502 2018-02-23  300520.SZA         8
    9274   1.909589 2018-02-23  300192.SZA         9
    9275   1.906105 2018-02-23  601882.SHA        10
    9276   1.901144 2018-02-23  002095.SZA        11
    6584   2.209977 2018-02-23  603031.SHA         1
    6585   2.145661 2018-02-23  002768.SZA         2
    6586   2.145661 2018-02-23  300081.SZA         3
    6587   2.145661 2018-02-23  300067.SZA         4
    6588   1.924329 2018-02-23  603978.SHA         5
    6589   1.912773 2018-02-23  000593.SZA         6
    6590   1.912773 2018-02-23  002875.SZA         7
    6591   1.908138 2018-02-23  002856.SZA         8
    6592   1.908138 2018-02-23  603637.SHA         9
    6593   1.908138 2018-02-23  603226.SHA        10
    6594   1.908138 2018-02-23  300461.SZA        11
    6595   1.908138 2018-02-23  603136.SHA        12
    6596   1.908138 2018-02-23  002847.SZA        13
    6597   1.908138 2018-02-23  300469.SZA        14
    6598   1.908138 2018-02-23  002893.SZA        15
    6599   1.908138 2018-02-23  603828.SHA        16
    6600   1.908138 2018-02-23  300526.SZA        17
    6601   1.902284 2018-02-23  300013.SZA        18
    
    [82 rows x 4 columns]
              score       date  instrument  position
    17916  2.058587 2018-02-26  300489.SZA         1
    17917  2.047946 2018-02-26  300552.SZA         2
    17918  2.047946 2018-02-26  300472.SZA         3
    17919  2.000109 2018-02-26  603602.SHA         4
    17920  1.902824 2018-02-26  300435.SZA         5
    ----
              score       date  instrument  position
    17916  2.058587 2018-02-26  300489.SZA         1
    17917  2.047946 2018-02-26  300552.SZA         2
    17918  2.047946 2018-02-26  300472.SZA         3
    17919  2.000109 2018-02-26  603602.SHA         4
    17920  1.902824 2018-02-26  300435.SZA         5
    17921  1.902824 2018-02-26  603637.SHA         6
    17922  1.902824 2018-02-26  002847.SZA         7
    17923  1.902824 2018-02-26  002760.SZA         8
    15860  2.226853 2018-02-26  300041.SZA         1
    15861  2.156066 2018-02-26  002875.SZA         2
    15862  2.026943 2018-02-26  603602.SHA         3
    15863  2.015929 2018-02-26  300483.SZA         4
    15864  1.993867 2018-02-26  300475.SZA         5
    15865  1.922999 2018-02-26  603960.SHA         6
    15866  1.903466 2018-02-26  300716.SZA         7
    15867  1.903466 2018-02-26  002849.SZA         8
    13725  2.277525 2018-02-26  002069.SZA         1
    13726  2.183406 2018-02-26  002760.SZA         2
    13727  2.183406 2018-02-26  603226.SHA         3
    13728  2.139132 2018-02-26  002875.SZA         4
    13729  2.036562 2018-02-26  603602.SHA         5
    13730  2.007138 2018-02-26  300489.SZA         6
    13731  1.999372 2018-02-26  300633.SZA         7
    13732  1.925973 2018-02-26  300041.SZA         8
    11157  1.989839 2018-02-26  300607.SZA         1
    11158  1.989839 2018-02-26  300571.SZA         2
    8475   2.205081 2018-02-26  603886.SHA         1
    8476   2.141025 2018-02-26  300165.SZA         2
    8477   2.080843 2018-02-26  603027.SHA         3
    8478   2.006616 2018-02-26  603031.SHA         4
    8479   1.922904 2018-02-26  603968.SHA         5
    8480   1.912773 2018-02-26  002875.SZA         6
    8481   1.911118 2018-02-26  300437.SZA         7
    8482   1.908138 2018-02-26  002760.SZA         8
    8483   1.908138 2018-02-26  002069.SZA         9
    8484   1.907828 2018-02-26  002612.SZA        10
              score       date  instrument  position
    19743  2.058587 2018-02-27  300489.SZA         1
    19744  1.943007 2018-02-27  300543.SZA         2
    19745  1.902824 2018-02-27  300435.SZA         3
    19746  1.902824 2018-02-27  002760.SZA         4
    19747  1.871833 2018-02-27  603966.SHA         5
    ----
              score       date  instrument  position
    19743  2.058587 2018-02-27  300489.SZA         1
    19744  1.943007 2018-02-27  300543.SZA         2
    19745  1.902824 2018-02-27  300435.SZA         3
    19746  1.902824 2018-02-27  002760.SZA         4
    17687  2.213755 2018-02-27  002288.SZA         1
    17688  2.194222 2018-02-27  002137.SZA         2
    17689  2.070879 2018-02-27  603031.SHA         3
    17690  2.059520 2018-02-27  300543.SZA         4
    17691  2.034606 2018-02-27  300279.SZA         5
    17692  2.034606 2018-02-27  603997.SHA         6
    17693  2.015929 2018-02-27  300483.SZA         7
    17694  2.009446 2018-02-27  603041.SHA         8
    17695  2.009446 2018-02-27  300658.SZA         9
    17696  2.009446 2018-02-27  603966.SHA        10
    17697  2.000011 2018-02-27  603960.SHA        11
    17698  1.993867 2018-02-27  300681.SZA        12
    17699  1.970353 2018-02-27  300435.SZA        13
    17700  1.926417 2018-02-27  603226.SHA        14
    17701  1.906438 2018-02-27  603278.SHA        15
    17702  1.906438 2018-02-27  603922.SHA        16
    15552  2.183406 2018-02-27  002760.SZA         1
    15553  2.160939 2018-02-27  002288.SZA         2
    15554  2.152535 2018-02-27  603997.SHA         3
    15555  2.139132 2018-02-27  300543.SZA         4
    15556  2.045533 2018-02-27  300566.SZA         5
    15557  1.942656 2018-02-27  300279.SZA         6
    15558  1.938833 2018-02-27  300633.SZA         7
    15559  1.905132 2018-02-27  300607.SZA         8
    15118  1.997875 2018-02-27  603180.SHA         1
    12984  1.989839 2018-02-27  300571.SZA         1
    12985  1.962765 2018-02-27  300279.SZA         2
    12986  1.950761 2018-02-27  300566.SZA         3
    12987  1.943074 2018-02-27  300607.SZA         4
    12988  1.927365 2018-02-27  603016.SHA         5
    12989  1.906105 2018-02-27  603789.SHA         6
    10302  2.205081 2018-02-27  603886.SHA         1
    10303  2.154495 2018-02-27  300437.SZA         2
    10304  2.044009 2018-02-27  300607.SZA         3
    10305  1.946549 2018-02-27  002059.SZA         4
    10306  1.942687 2018-02-27  603108.SHA         5
    10307  1.908138 2018-02-27  002760.SZA         6
    10308  1.907828 2018-02-27  002612.SZA         7
              score       date  instrument  position
    21426  1.943007 2018-02-28  603031.SHA         1
    21427  1.890156 2018-02-28  603738.SHA         2
    21428  1.871833 2018-02-28  603041.SHA         3
    21429  1.790424 2018-02-28  603330.SHA         4
    21430  1.744669 2018-02-28  603136.SHA         5
    ----
              score       date  instrument  position
    21426  1.943007 2018-02-28  603031.SHA         1
    19370  2.136533 2018-02-28  603031.SHA         1
    19371  2.116554 2018-02-28  603809.SHA         2
    19372  2.092942 2018-02-28  300483.SZA         3
    19373  2.070879 2018-02-28  603268.SHA         4
    19374  2.039542 2018-02-28  300700.SZA         5
    19375  2.009446 2018-02-28  603076.SHA         6
    19376  2.009446 2018-02-28  603330.SHA         7
    19377  2.009446 2018-02-28  603041.SHA         8
    19378  1.919937 2018-02-28  603157.SHA         9
    19379  1.906438 2018-02-28  603922.SHA        10
    19380  1.906438 2018-02-28  603360.SHA        11
    17235  1.986904 2018-02-28  603997.SHA         1
    17236  1.923516 2018-02-28  603031.SHA         2
    17237  1.916277 2018-02-28  300607.SZA         3
    16801  1.986945 2018-02-28  603268.SHA         1
    14667  1.989839 2018-02-28  603180.SHA         1
    14668  1.927365 2018-02-28  000978.SZA         2
    11985  2.110931 2018-02-28  300607.SZA         1
    11986  2.047020 2018-02-28  601007.SHA         2
              score       date  instrument  position
    22654  2.060964 2018-03-01  300472.SZA         1
    22655  2.058587 2018-03-01  603315.SHA         2
    22656  2.047946 2018-03-01  300654.SZA         3
    22657  1.943007 2018-03-01  603738.SHA         4
    22658  1.943007 2018-03-01  603031.SHA         5
    ----
              score       date  instrument  position
    22654  2.060964 2018-03-01  300472.SZA         1
    22655  2.058587 2018-03-01  603315.SHA         2
    22656  2.047946 2018-03-01  300654.SZA         3
    22657  1.943007 2018-03-01  603738.SHA         4
    22658  1.943007 2018-03-01  603031.SHA         5
    22659  1.905317 2018-03-01  002417.SZA         6
    22660  1.902824 2018-03-01  603196.SHA         7
    22661  1.902824 2018-03-01  603963.SHA         8
    22662  1.902824 2018-03-01  002760.SZA         9
    20598  2.226853 2018-03-01  002706.SZA         1
    20599  2.121437 2018-03-01  002554.SZA         2
    20600  2.119535 2018-03-01  603031.SHA         3
    20601  2.092942 2018-03-01  300483.SZA         4
    20602  2.070879 2018-03-01  603268.SHA         5
    20603  2.064101 2018-03-01  603738.SHA         6
    20604  2.049006 2018-03-01  002891.SZA         7
    20605  2.034606 2018-03-01  002798.SZA         8
    20606  2.022544 2018-03-01  603197.SHA         9
    20607  2.013109 2018-03-01  300700.SZA        10
    20608  1.993576 2018-03-01  603809.SHA        11
    20609  1.954529 2018-03-01  300430.SZA        12
    20610  1.949099 2018-03-01  002288.SZA        13
    20611  1.937454 2018-03-01  300262.SZA        14
    20612  1.906438 2018-03-01  002787.SZA        15
    20613  1.906438 2018-03-01  603922.SHA        16
    18463  2.183406 2018-03-01  002760.SZA         1
    18464  2.160939 2018-03-01  002288.SZA         2
    18465  2.139132 2018-03-01  603031.SHA         3
    18466  2.109601 2018-03-01  002554.SZA         4
    18467  2.045533 2018-03-01  300566.SZA         5
    18468  2.007138 2018-03-01  603330.SHA         6
    18469  1.998502 2018-03-01  603997.SHA         7
    18470  1.943435 2018-03-01  002706.SZA         8
    18471  1.928947 2018-03-01  002798.SZA         9
    18472  1.927950 2018-03-01  300430.SZA        10
    18029  2.151436 2018-03-01  300483.SZA         1
    18030  2.047394 2018-03-01  603180.SHA         2
    15895  2.075364 2018-03-01  300471.SZA         1
    15896  1.950761 2018-03-01  300566.SZA         2
    15897  1.927365 2018-03-01  002417.SZA         3
    15898  1.927365 2018-03-01  002798.SZA         4
    15899  1.910012 2018-03-01  300571.SZA         5
    13213  2.297313 2018-03-01  600821.SHA         1
    13214  1.936409 2018-03-01  600727.SHA         2
    13215  1.908138 2018-03-01  002760.SZA         3
              score       date  instrument  position
    24552  2.060964 2018-03-02  300472.SZA         1
    24553  2.057059 2018-03-02  300693.SZA         2
    24554  1.943007 2018-03-02  002862.SZA         3
    24555  1.928993 2018-03-02  300706.SZA         4
    24556  1.926483 2018-03-02  603136.SHA         5
    ----
              score       date  instrument  position
    24552  2.060964 2018-03-02  300472.SZA         1
    24553  2.057059 2018-03-02  300693.SZA         2
    24554  1.943007 2018-03-02  002862.SZA         3
    24555  1.928993 2018-03-02  300706.SZA         4
    24556  1.926483 2018-03-02  603136.SHA         5
    24557  1.905317 2018-03-02  002417.SZA         6
    24558  1.902824 2018-03-02  603031.SHA         7
    24559  1.902824 2018-03-02  603330.SHA         8
    24560  1.902824 2018-03-02  002760.SZA         9
    24561  1.902824 2018-03-02  603196.SHA        10
    24562  1.902824 2018-03-02  002898.SZA        11
    22496  2.196757 2018-03-02  603988.SHA         1
    22497  2.149631 2018-03-02  300700.SZA         2
    22498  2.136533 2018-03-02  300693.SZA         3
    22499  2.126018 2018-03-02  002891.SZA         4
    22500  2.119535 2018-03-02  300592.SZA         5
    22501  2.116554 2018-03-02  603360.SHA         6
    22502  2.116554 2018-03-02  300648.SZA         7
    22503  2.116554 2018-03-02  603809.SHA         8
    22504  2.092942 2018-03-02  300483.SZA         9
    22505  2.086458 2018-03-02  603985.SHA        10
    22506  2.086458 2018-03-02  300662.SZA        11
    22507  2.034606 2018-03-02  002798.SZA        12
    22508  2.028807 2018-03-02  002069.SZA        13
    22509  2.022544 2018-03-02  300713.SZA        14
    22510  2.009446 2018-03-02  603200.SHA        15
    22511  1.983451 2018-03-02  603848.SHA        16
    22512  1.983451 2018-03-02  300702.SZA        17
    22513  1.983451 2018-03-02  603711.SHA        18
    22514  1.970353 2018-03-02  002898.SZA        19
    ...         ...        ...         ...       ...
    20364  2.183406 2018-03-02  603031.SHA         4
    20365  2.183406 2018-03-02  002760.SZA         5
    20366  2.134991 2018-03-02  300592.SZA         6
    20367  2.125892 2018-03-02  002823.SZA         7
    20368  2.086436 2018-03-02  300700.SZA         8
    20369  2.048485 2018-03-02  300537.SZA         9
    20370  2.045533 2018-03-02  300566.SZA        10
    20371  2.031773 2018-03-02  300693.SZA        11
    20372  1.960881 2018-03-02  002842.SZA        12
    20373  1.957968 2018-03-02  002554.SZA        13
    20374  1.936380 2018-03-02  603988.SHA        14
    20375  1.935707 2018-03-02  002165.SZA        15
    20376  1.928947 2018-03-02  002798.SZA        16
    19927  2.151436 2018-03-02  300693.SZA         1
    19928  2.009259 2018-03-02  002842.SZA         2
    19929  1.986945 2018-03-02  603330.SHA         3
    19930  1.931292 2018-03-02  300571.SZA         4
    19931  1.914858 2018-03-02  603985.SHA         5
    19932  1.901218 2018-03-02  300668.SZA         6
    17793  1.989839 2018-03-02  603180.SHA         1
    17794  1.950761 2018-03-02  603085.SHA         2
    17795  1.950761 2018-03-02  300566.SZA         3
    17796  1.927365 2018-03-02  002798.SZA         4
    17797  1.927365 2018-03-02  002417.SZA         5
    17798  1.924033 2018-03-02  600771.SHA         6
    15111  2.107338 2018-03-02  600731.SHA         1
    15112  2.105550 2018-03-02  603268.SHA         2
    15113  2.074400 2018-03-02  002832.SZA         3
    15114  1.956686 2018-03-02  600706.SHA         4
    15115  1.912773 2018-03-02  002760.SZA         5
    
    [71 rows x 4 columns]
              score       date  instrument  position
    26445  1.777103 2018-03-05  002773.SZA         1
    26446  1.397040 2018-03-05  600276.SHA         2
    26447  1.148929 2018-03-05  300003.SZA         3
    26448  1.112258 2018-03-05  002677.SZA         4
    26449  1.021883 2018-03-05  002460.SZA         5
    ----
              score       date  instrument  position
    22254  2.044287 2018-03-05  002773.SZA         1
              score       date  instrument  position
    26532  2.057059 2018-03-06  300693.SZA         1
    26533  2.047946 2018-03-06  603330.SHA         2
    26534  2.047946 2018-03-06  603722.SHA         3
    26535  1.956025 2018-03-06  300606.SZA         4
    26536  1.952120 2018-03-06  603955.SHA         5
    ----
              score       date  instrument  position
    26532  2.057059 2018-03-06  300693.SZA         1
    26533  2.047946 2018-03-06  603330.SHA         2
    26534  2.047946 2018-03-06  603722.SHA         3
    26535  1.956025 2018-03-06  300606.SZA         4
    26536  1.952120 2018-03-06  603955.SHA         5
    26537  1.943007 2018-03-06  603031.SHA         6
    26538  1.943007 2018-03-06  300705.SZA         7
    26539  1.943007 2018-03-06  002830.SZA         8
    26540  1.905317 2018-03-06  002417.SZA         9
    26541  1.902824 2018-03-06  603917.SHA        10
    24476  2.161911 2018-03-06  300700.SZA         1
    24477  2.136533 2018-03-06  002830.SZA         2
    24478  2.132632 2018-03-06  603717.SHA         3
    24479  2.132632 2018-03-06  603955.SHA         4
    24480  2.132632 2018-03-06  300461.SZA         5
    24481  2.132632 2018-03-06  300702.SZA         6
    24482  2.119535 2018-03-06  300606.SZA         7
    24483  2.103956 2018-03-06  300693.SZA         8
    24484  2.103956 2018-03-06  603127.SHA         9
    24485  2.099556 2018-03-06  300713.SZA        10
    24486  2.082344 2018-03-06  002554.SZA        11
    24487  2.070879 2018-03-06  603268.SHA        12
    24488  2.022963 2018-03-06  603031.SHA        13
    24489  2.013109 2018-03-06  603360.SHA        14
    24490  2.013109 2018-03-06  603711.SHA        15
    24491  2.003429 2018-03-06  300705.SZA        16
    24492  1.993576 2018-03-06  603677.SHA        17
    24493  1.993576 2018-03-06  603809.SHA        18
    24494  1.983451 2018-03-06  603922.SHA        19
    24495  1.976578 2018-03-06  603278.SHA        20
    ...         ...        ...         ...       ...
    22354  2.018082 2018-03-06  300461.SZA        14
    22355  2.017962 2018-03-06  002554.SZA        15
    22356  1.999372 2018-03-06  603848.SHA        16
    22357  1.986433 2018-03-06  300639.SZA        17
    22358  1.984582 2018-03-06  002069.SZA        18
    22359  1.964962 2018-03-06  603041.SHA        19
    22360  1.915737 2018-03-06  603717.SHA        20
    21907  2.250919 2018-03-06  300648.SZA         1
    21908  2.151436 2018-03-06  300693.SZA         2
    21909  2.133147 2018-03-06  603757.SHA         3
    21910  2.087346 2018-03-06  300713.SZA         4
    21911  2.051039 2018-03-06  300639.SZA         5
    21912  2.033663 2018-03-06  002891.SZA         6
    21913  2.010756 2018-03-06  002868.SZA         7
    21914  1.995086 2018-03-06  300461.SZA         8
    21915  1.986982 2018-03-06  603203.SHA         9
    21916  1.937765 2018-03-06  603038.SHA        10
    21917  1.920964 2018-03-06  603717.SHA        11
    21918  1.902051 2018-03-06  300385.SZA        12
    19773  1.950761 2018-03-06  300566.SZA         1
    19774  1.901144 2018-03-06  600460.SHA         2
    17091  2.292677 2018-03-06  603333.SHA         1
    17092  2.255017 2018-03-06  300668.SZA         2
    17093  2.093867 2018-03-06  600706.SHA         3
    17094  2.083257 2018-03-06  603919.SHA         4
    17095  2.046779 2018-03-06  603818.SHA         5
    17096  2.027763 2018-03-06  002255.SZA         6
    17097  1.942687 2018-03-06  002832.SZA         7
    17098  1.929217 2018-03-06  002666.SZA         8
    17099  1.908138 2018-03-06  603031.SHA         9
    
    [84 rows x 4 columns]
              score       date  instrument  position
    28406  2.060964 2018-03-07  300619.SZA         1
    28407  1.984647 2018-03-07  002315.SZA         2
    28408  1.481992 2018-03-07  603429.SHA         3
    28409  1.209399 2018-03-07  603906.SHA         4
    28410  1.157564 2018-03-07  002878.SZA         5
    ----
              score       date  instrument  position
    28406  2.060964 2018-03-07  300619.SZA         1
    28407  1.984647 2018-03-07  002315.SZA         2
    26350  2.198449 2018-03-07  002315.SZA         1
    26351  2.136533 2018-03-07  300619.SZA         2
    24215  2.125892 2018-03-07  002315.SZA         1
    23781  2.238112 2018-03-07  002315.SZA         1
    23782  2.151436 2018-03-07  300619.SZA         2
    21647  2.075872 2018-03-07  002315.SZA         1
              score       date  instrument  position
    28465  1.984647 2018-03-08  002315.SZA         1
    28466  1.841268 2018-03-08  300607.SZA         2
    28467  1.688000 2018-03-08  300469.SZA         3
    28468  1.419440 2018-03-08  300618.SZA         4
    28469  1.284170 2018-03-08  002671.SZA         5
    ----
              score       date  instrument  position
    28465  1.984647 2018-03-08  002315.SZA         1
    26409  2.142153 2018-03-08  002315.SZA         1
    26410  1.961170 2018-03-08  300607.SZA         2
    24274  2.265146 2018-03-08  002315.SZA         1
    23840  2.229095 2018-03-08  002315.SZA         1
    21706  2.015552 2018-03-08  002315.SZA         1
              score       date  instrument  position
    28517  2.047946 2018-03-09  603315.SHA         1
    28518  1.943007 2018-03-09  002862.SZA         2
    28519  1.939102 2018-03-09  300475.SZA         3
    28520  1.939102 2018-03-09  603615.SHA         4
    28521  1.851227 2018-03-09  603738.SHA         5
    ----
              score       date  instrument  position
    28517  2.047946 2018-03-09  603315.SHA         1
    28518  1.943007 2018-03-09  002862.SZA         2
    28519  1.939102 2018-03-09  300475.SZA         3
    28520  1.939102 2018-03-09  603615.SHA         4
    26461  2.169773 2018-03-09  300397.SZA         1
    26462  2.169164 2018-03-09  603798.SHA         2
    26463  2.167879 2018-03-09  002165.SZA         3
    26464  2.121790 2018-03-09  300416.SZA         4
    26465  2.043260 2018-03-09  002757.SZA         5
    26466  2.013109 2018-03-09  300488.SZA         6
    26467  2.011990 2018-03-09  300663.SZA         7
    26468  2.000011 2018-03-09  300435.SZA         8
    26469  1.989288 2018-03-09  300577.SZA         9
    26470  1.981253 2018-03-09  002706.SZA        10
    26471  1.965162 2018-03-09  603311.SHA        11
    26472  1.955193 2018-03-09  300475.SZA        12
    26473  1.947901 2018-03-09  603326.SHA        13
    26474  1.945090 2018-03-09  002654.SZA        14
    26475  1.928183 2018-03-09  002559.SZA        15
    26476  1.928183 2018-03-09  002374.SZA        16
    24326  2.274246 2018-03-09  002165.SZA         1
    24327  2.159444 2018-03-09  002706.SZA         2
    23892  1.986945 2018-03-09  603268.SHA         1
    23893  1.977725 2018-03-09  300382.SZA         2
    21758  1.989839 2018-03-09  300577.SZA         1
    21759  1.927365 2018-03-09  603133.SHA         2
    21760  1.924033 2018-03-09  300174.SZA         3
    21761  1.906105 2018-03-09  300397.SZA         4
    21762  1.906105 2018-03-09  002813.SZA         5
    21763  1.906105 2018-03-09  300663.SZA         6
    19076  2.107338 2018-03-09  600727.SHA         1
    19077  2.093867 2018-03-09  600731.SHA         2
    19078  1.929217 2018-03-09  002666.SZA         3
    19079  1.906842 2018-03-09  603268.SHA         4
              score       date  instrument  position
    30389  2.047946 2018-03-12  603637.SHA         1
    30390  2.047946 2018-03-12  603315.SHA         2
    30391  1.943007 2018-03-12  603966.SHA         3
    30392  1.943007 2018-03-12  002862.SZA         4
    30393  1.877085 2018-03-12  300492.SZA         5
    ----
              score       date  instrument  position
    30389  2.047946 2018-03-12  603637.SHA         1
    30390  2.047946 2018-03-12  603315.SHA         2
    30391  1.943007 2018-03-12  603966.SHA         3
    30392  1.943007 2018-03-12  002862.SZA         4
    28333  2.226853 2018-03-12  002706.SZA         1
    28334  2.169773 2018-03-12  000955.SZA         2
    28335  2.103457 2018-03-12  603637.SHA         3
    28336  2.090866 2018-03-12  002165.SZA         4
    28337  2.043079 2018-03-12  300486.SZA         5
    28338  2.013109 2018-03-12  002757.SZA         6
    28339  2.012882 2018-03-12  000599.SZA         7
    28340  1.963201 2018-03-12  300385.SZA         8
    28341  1.906438 2018-03-12  603043.SHA         9
    28342  1.904694 2018-03-12  600475.SHA        10
    28343  1.903466 2018-03-12  300435.SZA        11
    26198  2.183406 2018-03-12  300492.SZA         1
    26199  2.074523 2018-03-12  600973.SHA         2
    26200  2.061254 2018-03-12  002165.SZA         3
    26201  2.051006 2018-03-12  002706.SZA         4
    26202  2.042824 2018-03-12  600706.SHA         5
    26203  2.033155 2018-03-12  002514.SZA         6
    26204  2.014724 2018-03-12  000955.SZA         7
    26205  2.002484 2018-03-12  000554.SZA         8
    25764  1.987863 2018-03-12  603933.SHA         1
    23630  2.051967 2018-03-12  002076.SZA         1
    23631  1.953220 2018-03-12  300385.SZA         2
    23632  1.927365 2018-03-12  002876.SZA         3
    23633  1.910012 2018-03-12  603338.SHA         4
    23634  1.906105 2018-03-12  603637.SHA         5
    20948  2.283842 2018-03-12  600397.SHA         1
    20949  2.144763 2018-03-12  002734.SZA         2
    20950  2.093867 2018-03-12  600731.SHA         3
    20951  1.948785 2018-03-12  600691.SHA         4
    20952  1.917702 2018-03-12  002862.SZA         5
    20953  1.906842 2018-03-12  603268.SHA         6
              score       date  instrument  position
    32263  2.060964 2018-03-13  300472.SZA         1
    32264  1.569672 2018-03-13  300003.SZA         2
    32265  1.518077 2018-03-13  603518.SHA         3
    32266  1.273766 2018-03-13  300422.SZA         4
    32267  1.222227 2018-03-13  300475.SZA         5
    ----
              score       date  instrument  position
    32263  2.060964 2018-03-13  300472.SZA         1
    30207  2.226853 2018-03-13  603518.SHA         1
    30208  1.978914 2018-03-13  300472.SZA         2
    28072  2.205687 2018-03-13  603518.SHA         1
    28073  1.942529 2018-03-13  002706.SZA         2
              score       date  instrument  position
    32345  2.047946 2018-03-14  300654.SZA         1
    32346  1.953648 2018-03-14  300435.SZA         2
    32347  1.943007 2018-03-14  002862.SZA         3
    32348  1.943007 2018-03-14  300404.SZA         4
    32349  1.943007 2018-03-14  603336.SHA         5
    ----
              score       date  instrument  position
    32345  2.047946 2018-03-14  300654.SZA         1
    32346  1.953648 2018-03-14  300435.SZA         2
    32347  1.943007 2018-03-14  002862.SZA         3
    32348  1.943007 2018-03-14  300404.SZA         4
    32349  1.943007 2018-03-14  603336.SHA         5
    32350  1.939102 2018-03-14  300537.SZA         6
    32351  1.905317 2018-03-14  002417.SZA         7
    30289  2.167879 2018-03-14  600973.SHA         1
    30290  2.077807 2018-03-14  603015.SHA         2
    30291  2.054274 2018-03-14  300435.SZA         3
    30292  2.034606 2018-03-14  603900.SHA         4
    30293  2.028126 2018-03-14  000705.SZA         5
    30294  2.028126 2018-03-14  002529.SZA         6
    30295  2.028126 2018-03-14  600865.SHA         7
    30296  2.012882 2018-03-14  603518.SHA         8
    30297  1.937459 2018-03-14  603988.SHA         9
    30298  1.928183 2018-03-14  300138.SZA        10
    28154  2.146268 2018-03-14  603900.SHA         1
    28155  2.106199 2018-03-14  000026.SZA         2
    28156  1.959951 2018-03-14  002548.SZA         3
    28157  1.959951 2018-03-14  603518.SHA         4
    28158  1.955901 2018-03-14  300435.SZA         5
    27720  2.133147 2018-03-14  300673.SZA         1
    27721  2.066389 2018-03-14  300246.SZA         2
    27722  2.008806 2018-03-14  300488.SZA         3
    27723  1.929571 2018-03-14  300584.SZA         4
    25586  1.990347 2018-03-14  300685.SZA         1
    25587  1.986162 2018-03-14  002694.SZA         2
    25588  1.927365 2018-03-14  002842.SZA         3
    22904  2.182066 2018-03-14  002862.SZA         1
    22905  2.130936 2018-03-14  603789.SHA         2
    22906  2.126297 2018-03-14  600865.SHA         3
    22907  2.103104 2018-03-14  600189.SHA         4
    22908  1.958040 2018-03-14  000888.SZA         5
              score       date  instrument  position
    34208  1.721712 2018-03-15  300416.SZA         1
    34209  1.569672 2018-03-15  300003.SZA         2
    34210  1.430309 2018-03-15  300015.SZA         3
    34211  1.321706 2018-03-15  300448.SZA         4
    34212  1.189523 2018-03-15  603833.SHA         5
    ----
              score       date  instrument  position
    32152  2.167879 2018-03-15  600973.SHA         1
    30017  2.080961 2018-03-15  600973.SHA         1
    24767  1.929217 2018-03-15  603012.SHA         1
    24768  1.905678 2018-03-15  300261.SZA         2
              score       date  instrument  position
    34298  2.060964 2018-03-16  300550.SZA         1
    34299  2.060964 2018-03-16  300638.SZA         2
    34300  2.059991 2018-03-16  300604.SZA         3
    34301  2.057059 2018-03-16  300693.SZA         4
    34302  2.047946 2018-03-16  603330.SHA         5
    ----
              score       date  instrument  position
    34298  2.060964 2018-03-16  300550.SZA         1
    34299  2.060964 2018-03-16  300638.SZA         2
    34300  2.059991 2018-03-16  300604.SZA         3
    34301  2.057059 2018-03-16  300693.SZA         4
    34302  2.047946 2018-03-16  603330.SHA         5
    34303  2.033325 2018-03-16  603127.SHA         6
    34304  2.009223 2018-03-16  300657.SZA         7
    34305  1.956025 2018-03-16  300653.SZA         8
    34306  1.956025 2018-03-16  300716.SZA         9
    34307  1.956025 2018-03-16  300689.SZA        10
    34308  1.956025 2018-03-16  002896.SZA        11
    34309  1.956025 2018-03-16  603136.SHA        12
    34310  1.952120 2018-03-16  300543.SZA        13
    34311  1.943007 2018-03-16  603917.SHA        14
    34312  1.943007 2018-03-16  603031.SHA        15
    34313  1.943007 2018-03-16  300622.SZA        16
    34314  1.943007 2018-03-16  002864.SZA        17
    34315  1.943007 2018-03-16  300404.SZA        18
    34316  1.943007 2018-03-16  603041.SHA        19
    34317  1.943007 2018-03-16  603958.SHA        20
    34318  1.943007 2018-03-16  002898.SZA        21
    34319  1.943007 2018-03-16  603679.SHA        22
    34320  1.943007 2018-03-16  300705.SZA        23
    34321  1.943007 2018-03-16  002917.SZA        24
    34322  1.943007 2018-03-16  603320.SHA        25
    34323  1.943007 2018-03-16  603722.SHA        26
    34324  1.943007 2018-03-16  603970.SHA        27
    34325  1.943007 2018-03-16  603336.SHA        28
    34326  1.943007 2018-03-16  603966.SHA        29
    34327  1.939102 2018-03-16  300610.SZA        30
    ...         ...        ...         ...       ...
    24891  2.090532 2018-03-16  300346.SZA        35
    24892  2.085344 2018-03-16  300437.SZA        36
    24893  2.075454 2018-03-16  002907.SZA        37
    24894  2.075454 2018-03-16  002889.SZA        38
    24895  2.075454 2018-03-16  300503.SZA        39
    24896  2.075454 2018-03-16  300425.SZA        40
    24897  2.075454 2018-03-16  603716.SHA        41
    24898  2.067271 2018-03-16  002023.SZA        42
    24899  2.063875 2018-03-16  603129.SHA        43
    24900  2.063787 2018-03-16  300658.SZA        44
    24901  2.061983 2018-03-16  603757.SHA        45
    24902  2.061983 2018-03-16  603535.SHA        46
    24903  2.059240 2018-03-16  603016.SHA        47
    24904  2.041557 2018-03-16  002514.SZA        48
    24905  2.024915 2018-03-16  002849.SZA        49
    24906  2.022181 2018-03-16  603359.SHA        50
    24907  2.001153 2018-03-16  603012.SHA        51
    24908  1.988204 2018-03-16  300713.SZA        52
    24909  1.980347 2018-03-16  002789.SZA        53
    24910  1.975282 2018-03-16  002830.SZA        54
    24911  1.975282 2018-03-16  603958.SHA        55
    24912  1.958416 2018-03-16  300473.SZA        56
    24913  1.947286 2018-03-16  603078.SHA        57
    24914  1.942687 2018-03-16  603108.SHA        58
    24915  1.942687 2018-03-16  002842.SZA        59
    24916  1.942687 2018-03-16  603363.SHA        60
    24917  1.942687 2018-03-16  002788.SZA        61
    24918  1.942687 2018-03-16  603920.SHA        62
    24919  1.938671 2018-03-16  603031.SHA        63
    24920  1.902284 2018-03-16  300639.SZA        64
    
    [204 rows x 4 columns]
              score       date  instrument  position
    36164  2.060964 2018-03-19  300638.SZA         1
    36165  2.060964 2018-03-19  300469.SZA         2
    36166  2.059991 2018-03-19  300604.SZA         3
    36167  2.047946 2018-03-19  603330.SHA         4
    36168  2.047946 2018-03-19  603722.SHA         5
    ----
              score       date  instrument  position
    36164  2.060964 2018-03-19  300638.SZA         1
    36165  2.060964 2018-03-19  300469.SZA         2
    36166  2.059991 2018-03-19  300604.SZA         3
    36167  2.047946 2018-03-19  603330.SHA         4
    36168  2.047946 2018-03-19  603722.SHA         5
    36169  2.047946 2018-03-19  300489.SZA         6
    36170  2.022693 2018-03-19  603602.SHA         7
    36171  2.009223 2018-03-19  300657.SZA         8
    36172  1.984647 2018-03-19  002829.SZA         9
    36173  1.956025 2018-03-19  300653.SZA        10
    36174  1.956025 2018-03-19  002896.SZA        11
    36175  1.956025 2018-03-19  300689.SZA        12
    36176  1.956025 2018-03-19  603136.SHA        13
    36177  1.943007 2018-03-19  603336.SHA        14
    36178  1.943007 2018-03-19  603041.SHA        15
    36179  1.943007 2018-03-19  603031.SHA        16
    36180  1.943007 2018-03-19  603320.SHA        17
    36181  1.943007 2018-03-19  300705.SZA        18
    36182  1.943007 2018-03-19  002830.SZA        19
    36183  1.943007 2018-03-19  300622.SZA        20
    36184  1.943007 2018-03-19  002898.SZA        21
    36185  1.939102 2018-03-19  002787.SZA        22
    36186  1.939102 2018-03-19  300610.SZA        23
    36187  1.917268 2018-03-19  300588.SZA        24
    36188  1.905317 2018-03-19  002417.SZA        25
    34108  2.077807 2018-03-19  002843.SZA         1
    34109  2.075923 2018-03-19  603558.SHA         2
    34110  2.064101 2018-03-19  603722.SHA         3
    34111  2.064101 2018-03-19  603602.SHA         4
    34112  2.064101 2018-03-19  300705.SZA         5
    ...         ...        ...         ...       ...
    26736  2.111341 2018-03-19  300668.SZA        14
    26737  2.099643 2018-03-19  603798.SHA        15
    26738  2.099643 2018-03-19  002849.SZA        16
    26739  2.099643 2018-03-19  603906.SHA        17
    26740  2.085344 2018-03-19  603886.SHA        18
    26741  2.081345 2018-03-19  300489.SZA        19
    26742  2.075454 2018-03-19  002907.SZA        20
    26743  2.075454 2018-03-19  002876.SZA        21
    26744  2.075454 2018-03-19  603357.SHA        22
    26745  2.075454 2018-03-19  603648.SHA        23
    26746  2.072711 2018-03-19  300693.SZA        24
    26747  2.065139 2018-03-19  300613.SZA        25
    26748  2.061983 2018-03-19  300488.SZA        26
    26749  2.061983 2018-03-19  603535.SHA        27
    26750  2.061983 2018-03-19  603933.SHA        28
    26751  2.031216 2018-03-19  603041.SHA        29
    26752  2.014678 2018-03-19  600593.SHA        30
    26753  1.993580 2018-03-19  300416.SZA        31
    26754  1.988204 2018-03-19  300639.SZA        32
    26755  1.988204 2018-03-19  603363.SHA        33
    26756  1.966877 2018-03-19  002417.SZA        34
    26757  1.958416 2018-03-19  603920.SHA        35
    26758  1.954891 2018-03-19  603200.SHA        36
    26759  1.954891 2018-03-19  002864.SZA        37
    26760  1.948170 2018-03-19  300510.SZA        38
    26761  1.942687 2018-03-19  002832.SZA        39
    26762  1.929217 2018-03-19  603558.SHA        40
    26763  1.924603 2018-03-19  300394.SZA        41
    26764  1.924603 2018-03-19  300641.SZA        42
    26765  1.911570 2018-03-19  002887.SZA        43
    
    [128 rows x 4 columns]
              score       date  instrument  position
    38032  1.084123 2018-03-20  603020.SHA         1
    38033  1.006712 2018-03-20  300716.SZA         2
    38034  0.985363 2018-03-20  300690.SZA         3
    38035  0.870842 2018-03-20  300394.SZA         4
    38036  0.756195 2018-03-20  300357.SZA         5
    ----
              score       date  instrument  position
    35976  1.989288 2018-03-20  603579.SHA         1
    33841  1.918017 2018-03-20  603579.SHA         1
    33407  2.022283 2018-03-20  300394.SZA         1
    31273  1.910012 2018-03-20  603579.SHA         1
    28591  2.093400 2018-03-20  603579.SHA         1
              score       date  instrument  position
    38116  2.060964 2018-03-21  300638.SZA         1
    38117  2.060964 2018-03-21  603960.SHA         2
    38118  2.052197 2018-03-21  300560.SZA         3
    38119  2.047946 2018-03-21  603637.SHA         4
    38120  2.047946 2018-03-21  603315.SHA         5
    ----
              score       date  instrument  position
    38116  2.060964 2018-03-21  300638.SZA         1
    38117  2.060964 2018-03-21  603960.SHA         2
    38118  2.052197 2018-03-21  300560.SZA         3
    38119  2.047946 2018-03-21  603637.SHA         4
    38120  2.047946 2018-03-21  603315.SHA         5
    38121  2.022207 2018-03-21  300492.SZA         6
    38122  2.018232 2018-03-21  603078.SHA         7
    38123  1.952120 2018-03-21  603396.SHA         8
    38124  1.943007 2018-03-21  603679.SHA         9
    36060  2.064101 2018-03-21  002891.SZA         1
    36061  2.031025 2018-03-21  603738.SHA         2
    36062  2.021198 2018-03-21  300668.SZA         3
    36063  2.013109 2018-03-21  300492.SZA         4
    36064  1.978914 2018-03-21  002200.SZA         5
    36065  1.978914 2018-03-21  002762.SZA         6
    36066  1.977865 2018-03-21  300440.SZA         7
    36067  1.962308 2018-03-21  300592.SZA         8
    36068  1.955193 2018-03-21  002869.SZA         9
    36069  1.946007 2018-03-21  002789.SZA        10
    36070  1.929232 2018-03-21  002878.SZA        11
    36071  1.916416 2018-03-21  603558.SHA        12
    33925  2.017182 2018-03-21  603239.SHA         1
    33926  1.973695 2018-03-21  603558.SHA         2
    33927  1.948352 2018-03-21  000716.SZA         3
    33928  1.909578 2018-03-21  002712.SZA         4
    33491  2.128529 2018-03-21  300619.SZA         1
    33492  2.128529 2018-03-21  300657.SZA         2
    33493  2.121821 2018-03-21  603383.SHA         3
    33494  2.033350 2018-03-21  300630.SZA         4
    33495  2.032166 2018-03-21  300525.SZA         5
    ...         ...        ...         ...       ...
    33504  1.909322 2018-03-21  603396.SHA        14
    31357  2.013235 2018-03-21  300607.SZA         1
    31358  1.989839 2018-03-21  002912.SZA         2
    31359  1.927365 2018-03-21  603085.SHA         3
    31360  1.927365 2018-03-21  300566.SZA         4
    28675  2.292677 2018-03-21  603738.SHA         1
    28676  2.292677 2018-03-21  600593.SHA         2
    28677  2.292677 2018-03-21  603970.SHA         3
    28678  2.255017 2018-03-21  603789.SHA         4
    28679  2.238803 2018-03-21  603315.SHA         5
    28680  2.191547 2018-03-21  300510.SZA         6
    28681  2.186065 2018-03-21  603133.SHA         7
    28682  2.186065 2018-03-21  603558.SHA         8
    28683  2.172594 2018-03-21  002599.SZA         9
    28684  2.172594 2018-03-21  002548.SZA        10
    28685  2.145661 2018-03-21  603085.SHA        11
    28686  2.141663 2018-03-21  002843.SZA        12
    28687  2.090532 2018-03-21  002813.SZA        13
    28688  2.090532 2018-03-21  603602.SHA        14
    28689  2.081345 2018-03-21  300606.SZA        15
    28690  2.075454 2018-03-21  603933.SHA        16
    28691  2.075454 2018-03-21  603901.SHA        17
    28692  2.075454 2018-03-21  000505.SZA        18
    28693  2.075454 2018-03-21  300394.SZA        19
    28694  2.021580 2018-03-21  300590.SZA        20
    28695  2.010136 2018-03-21  002876.SZA        21
    28696  1.966877 2018-03-21  300486.SZA        22
    28697  1.942687 2018-03-21  300502.SZA        23
    28698  1.929217 2018-03-21  300668.SZA        24
    28699  1.902284 2018-03-21  002832.SZA        25
    
    [68 rows x 4 columns]
              score       date  instrument  position
    39978  1.476041 2018-03-22  603959.SHA         1
    39979  1.314661 2018-03-22  300228.SZA         2
    39980  1.190858 2018-03-22  300577.SZA         3
    39981  0.920530 2018-03-22  300226.SZA         4
    39982  0.710074 2018-03-22  002127.SZA         5
    ----
              score       date  instrument  position
    37922  1.933069 2018-03-22  300228.SZA         1
    35353  1.984474 2018-03-22  300577.SZA         1
              score       date  instrument  position
    37991  1.301609 2018-03-23  002315.SZA         1
    37992  1.044964 2018-03-23  002706.SZA         2
    37993  0.870695 2018-03-23  603595.SHA         3
    37994  0.827262 2018-03-23  600176.SHA         4
    37995  0.612704 2018-03-23  002053.SZA         5
    ----
              score       date  instrument  position
    33288  1.995734 2018-03-23  603595.SHA         1
    32738  1.943645 2018-03-23  002371.SZA         1
              score       date  instrument  position
    35924  2.184758 2018-03-26  300192.SZA         1
    35925  2.099970 2018-03-26  603208.SHA         2
    35926  2.045533 2018-03-26  603558.SHA         3
    35927  2.014724 2018-03-26  002730.SZA         4
    35928  1.965547 2018-03-26  300358.SZA         5
    ----
              score       date  instrument  position
    35924  2.184758 2018-03-26  300192.SZA         1
    35925  2.099970 2018-03-26  603208.SHA         2
    35926  2.045533 2018-03-26  603558.SHA         3
    35927  2.014724 2018-03-26  002730.SZA         4
    35928  1.965547 2018-03-26  300358.SZA         5
    35490  1.986945 2018-03-26  603283.SHA         1
    35491  1.960915 2018-03-26  300648.SZA         2
    35492  1.939091 2018-03-26  300436.SZA         3
    35493  1.903533 2018-03-26  603535.SHA         4
    33356  1.950761 2018-03-26  300035.SZA         1
    33357  1.950761 2018-03-26  300141.SZA         2
    33358  1.950761 2018-03-26  300263.SZA         3
    30674  2.241547 2018-03-26  300346.SZA         1
    30675  2.223725 2018-03-26  300227.SZA         2
    30676  2.210254 2018-03-26  300486.SZA         3
    30677  2.210254 2018-03-26  300161.SZA         4
    30678  2.186065 2018-03-26  002783.SZA         5
    30679  2.186065 2018-03-26  002912.SZA         6
    30680  2.186065 2018-03-26  300690.SZA         7
    30681  2.186065 2018-03-26  300648.SZA         8
    30682  2.183321 2018-03-26  603600.SHA         9
    30683  2.182066 2018-03-26  002159.SZA        10
    30684  2.172594 2018-03-26  002315.SZA        11
    30685  2.172594 2018-03-26  300263.SZA        12
    30686  2.172594 2018-03-26  300436.SZA        13
    30687  2.172594 2018-03-26  002115.SZA        14
    30688  2.132190 2018-03-26  002196.SZA        15
    30689  2.132190 2018-03-26  603007.SHA        16
    30690  2.132190 2018-03-26  300259.SZA        17
    30691  2.130936 2018-03-26  300649.SZA        18
    30692  2.130936 2018-03-26  300707.SZA        19
    30693  2.128192 2018-03-26  300560.SZA        20
    30694  2.099643 2018-03-26  300603.SZA        21
    30695  2.075454 2018-03-26  300420.SZA        22
    30696  2.075454 2018-03-26  300248.SZA        23
    30697  2.075454 2018-03-26  300612.SZA        24
    30698  2.057898 2018-03-26  603200.SHA        25
    30699  2.035050 2018-03-26  000530.SZA        26
    30700  2.022022 2018-03-26  603320.SHA        27
    30701  2.021580 2018-03-26  300468.SZA        28
    30702  2.020237 2018-03-26  300692.SZA        29
    30703  1.980347 2018-03-26  300035.SZA        30
    30704  1.980347 2018-03-26  300585.SZA        31
    30705  1.980347 2018-03-26  603396.SHA        32
    30706  1.966877 2018-03-26  603208.SHA        33
    30707  1.947318 2018-03-26  300243.SZA        34
    30708  1.939944 2018-03-26  600469.SHA        35
    30709  1.938399 2018-03-26  300576.SZA        36
    30710  1.929217 2018-03-26  300241.SZA        37
    30711  1.929217 2018-03-26  603826.SHA        38
    30712  1.929217 2018-03-26  002853.SZA        39
    30713  1.929217 2018-03-26  300350.SZA        40
    30714  1.929217 2018-03-26  300360.SZA        41
    30715  1.926473 2018-03-26  002762.SZA        42
              score       date  instrument  position
    37259  1.641273 2018-03-27  300545.SZA         1
    37260  0.867458 2018-03-27  002674.SZA         2
    37261  0.838453 2018-03-27  002466.SZA         3
    37262  0.826066 2018-03-27  300259.SZA         4
    37263  0.762767 2018-03-27  002251.SZA         5
    ----
              score       date  instrument  position
    32443  2.172594 2018-03-27  300259.SZA         1
    32444  2.061983 2018-03-27  300545.SZA         2
    32445  2.021580 2018-03-27  300007.SZA         3
              score       date  instrument  position
    35265  1.800196 2018-03-28  603180.SHA         1
    35266  1.083084 2018-03-28  002838.SZA         2
    35267  1.009460 2018-03-28  002115.SZA         3
    35268  1.002275 2018-03-28  002769.SZA         4
    35269  0.831910 2018-03-28  300009.SZA         5
    ----
              score       date  instrument  position
    32583  1.966877 2018-03-28  002615.SZA         1
              score       date  instrument  position
    34830  1.781957 2018-03-29  300003.SZA         1
    34831  1.717888 2018-03-29  600593.SHA         2
    34832  1.668331 2018-03-29  000835.SZA         3
    34833  1.600759 2018-03-29  600706.SHA         4
    34834  1.505246 2018-03-29  600150.SHA         5
    ----
    Empty DataFrame
    Columns: [score, date, instrument, position]
    Index: []
              score       date  instrument  position
    32883  2.172594 2018-03-30  300241.SZA         1
    32884  2.061983 2018-03-30  300099.SZA         2
    32885  1.969732 2018-03-30  603896.SHA         3
    32886  1.966877 2018-03-30  002084.SZA         4
    32887  1.966877 2018-03-30  002615.SZA         5
    ----
              score       date  instrument  position
    32883  2.172594 2018-03-30  300241.SZA         1
    32884  2.061983 2018-03-30  300099.SZA         2
    32885  1.969732 2018-03-30  603896.SHA         3
    32886  1.966877 2018-03-30  002084.SZA         4
    32887  1.966877 2018-03-30  002615.SZA         5
    32888  1.942687 2018-03-30  603711.SHA         6
    [2019-01-05 20:00:50.609604] INFO: Performance: Simulated 65 trading days out of 65.
    [2019-01-05 20:00:50.610513] INFO: Performance: first open: 2017-12-22 09:30:00+00:00
    [2019-01-05 20:00:50.611128] INFO: Performance: last close: 2018-03-30 15:00:00+00:00
    
    • 收益率73.15%
    • 年化收益率740.11%
    • 基准收益率-4.16%
    • 阿尔法2.27
    • 贝塔0.54
    • 夏普比率5.72
    • 胜率0.68
    • 盈亏比1.61
    • 收益波动率38.06%
    • 信息比率0.39
    • 最大回撤10.17%
    [2019-01-05 20:00:51.499709] INFO: bigquant: backtest.v8 运行完成[20.766614s].
    

    (iQuant) #4

    您好,收到您的反馈,稍后由我们策略工程师来帮您看一下。


    (mefan) #5

    已经验证是未来数据
    我现纠结我买的策略里怎么验证下是否也有这问题


    (iQuant) #6

    模拟策略里面,是在收盘后,第二天交易前生成的订单数据和净值曲线。严格的限制了不会用到未来数据。


    (mefan) #7

    1.滚动训练是一次性把历史数据都训练好的
    2.训练结果包括了训练数据及测试数据 的 结果分数
    3.基于以上两点 2018-03-26(假定)就读到2018-03-26以后训练的数据,因为2018-03-26以后训练的数据会使用2018-03-26的数据进行训练

    所以这个曲线才这样 一开始一点也不准 慢慢拟合了

    bug真的无处不在 考虑开源些吗?


    (mefan) #8

    看#FIX的那地方 py不熟 将就看吧

        def merge_datasources2(input_1):
            df_list = input_1#[ds.read_df() for ds in input_1]
            df = pd.concat(df_list)
            instrument_data = {
                'start_date': df['date'].min().strftime('%Y-%m-%d'),
                'end_date': df['date'].max().strftime('%Y-%m-%d'),
                'instruments': list(set(df['instrument'])),
            }
            return Outputs(data=DataSource.write_df(df), instrument_data=DataSource.write_pickle(instrument_data))
    
        def gen_rolling_dates(trading_days_market, start_date, end_date, train_update_days, train_update_days_for_live, train_data_min_days, train_data_max_days, rolling_count_for_live):
            # 是否实盘模式
            tdays = list(D.trading_days(market=trading_days_market, start_date=start_date, end_date=end_date)['date'])
            is_live_run = T.live_run_param('trading_date', None) is not None
    
            if is_live_run and train_update_days_for_live:
                train_update_days = train_update_days_for_live
    
            rollings = []
            train_end_date = train_data_min_days
            while train_end_date < len(tdays):
                if train_data_max_days is not None:
                    train_start_date = max(train_end_date - train_data_max_days, 0)
                else:
                    train_start_date = start_date
                rollings.append({
                    'train_start_date': tdays[train_start_date].strftime('%Y-%m-%d'),
                    'train_end_date': tdays[train_end_date - 1].strftime('%Y-%m-%d'),
                    'test_start_date': tdays[train_end_date].strftime('%Y-%m-%d'),
                    'test_end_date': tdays[min(train_end_date + train_update_days, len(tdays)) - 1].strftime('%Y-%m-%d'),
                })
                train_end_date += train_update_days
    
            if not rollings:
                raise Exception('没有滚动需要执行,请检查配置')
    
            if is_live_run and rolling_count_for_live:
                rollings = rollings[-rolling_count_for_live:]
    
            return rollings
    
        g = bq_graph
    
        rolling_dates = gen_rolling_dates(
            trading_days_market, start_date, end_date, train_update_days, train_update_days_for_live, train_data_min_days, train_data_max_days, rolling_count_for_live)
    
        # 训练和预测
        results = []
        inputs=[]
        for rolling in rolling_dates:
            parameters = {}
            # 先禁用回测
            parameters[trade_mid + '.__enabled__'] = False
            parameters[train_instruments_mid + '.start_date'] = rolling['train_start_date']
            parameters[train_instruments_mid + '.end_date'] = rolling['train_end_date']
            parameters[test_instruments_mid + '.start_date'] = rolling['test_start_date']
            parameters[test_instruments_mid + '.end_date'] = rolling['test_end_date']
            #print('------ rolling_train:', parameters)
            rs=g.run(parameters)
            results.append(rs)
            pres=rs[predict_mid].predictions.read_df()
            pre=pres[pres.date>=rolling['test_start_date']]#FIX
            #print(pre)
            inputs.append(pre)
    
        # 合并预测结果并回测
        mx = M.cached.v3(run=merge_datasources2, input_1=inputs)
        parameters = {}
        parameters['*.__enabled__'] = False
        parameters[trade_mid + '.__enabled__'] = True
        parameters[trade_mid + '.instruments'] = mx.instrument_data
        parameters[trade_mid + '.options_data'] = mx.data
    
        trade = g.run(parameters)
    
        return {'rollings': results, 'trade': trade}