{"Description":"实验创建于2017/8/26","Summary":"","Graph":{"EdgesInternal":[{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-15:instruments","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-8:data"},{"DestinationInputPortId":"-339: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":"-339:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-346:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-355:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-362:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-213:features","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"DestinationInputPortId":"-2576:input_data","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-53:data"},{"DestinationInputPortId":"-374:options_data","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:predictions"},{"DestinationInputPortId":"-355:instruments","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-62:data"},{"DestinationInputPortId":"-374:instruments","SourceOutputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-62:data"},{"DestinationInputPortId":"-346:input_data","SourceOutputPortId":"-339:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-53:data2","SourceOutputPortId":"-346:data"},{"DestinationInputPortId":"-362:input_data","SourceOutputPortId":"-355:data"},{"DestinationInputPortId":"-2580:input_data","SourceOutputPortId":"-362:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:model","SourceOutputPortId":"-213:model"},{"DestinationInputPortId":"-213:training_ds","SourceOutputPortId":"-2576:data"},{"DestinationInputPortId":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:data","SourceOutputPortId":"-2580:data"}],"ModuleNodes":[{"Id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8","ModuleId":"BigQuantSpace.instruments.instruments-v2","ModuleParameters":[{"Name":"start_date","Value":"2011-01-01","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"2016-12-30","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# 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)\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# 多个特征,每行一个,可以包含基础特征和衍生特征\nclose_0/mean(close_0,5)\nclose_0/mean(close_0,10)\nclose_0/mean(close_0,20)\nclose_0/open_0\nopen_0/mean(close_0,5)\nopen_0/mean(close_0,10)\nopen_0/mean(close_0,20)","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-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":"2017-01-01","ValueType":"Literal","LinkedGlobalParameter":"交易日期"},{"Name":"end_date","Value":"2020-03-06","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":"-339","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":0,"ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-339"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-339"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-339","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":15,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-346","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":"-346"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-346"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-346","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":16,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-355","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":0,"ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-355"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-355"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-355","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":17,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-362","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":"-362"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-362"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-362","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":18,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-374","ModuleId":"BigQuantSpace.trade.trade-v4","ModuleParameters":[{"Name":"start_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"end_date","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"initialize","Value":"# 回测引擎:初始化函数,只执行一次\ndef bigquant_run(context):\n # 加载预测数据\n context.ranker_prediction = context.options['data'].read_df()\n\n # 系统已经设置了默认的交易手续费和滑点,要修改手续费可使用如下函数\n context.set_commission(PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))\n # 预测数据,通过options传入进来,使用 read_df 函数,加载到内存 (DataFrame)\n # 设置买入的股票数量,这里买入预测股票列表排名靠前的5只\n context.stock_count = 1\n # 每只的股票的权重,如下的权重分配会使得靠前的股票分配多一点的资金,[0.339160, 0.213986, 0.169580, ..]\n #context.stock_weights = T.norm([1 / math.log(i + 2) for i in range(0, context.stock_count)])\n context.stock_weights = [0.5/context.stock_count for k in range(context.stock_count)] #半仓买入,每只股票等资金分配\n # 设置每只股票占用的最大资金比例\n context.max_cash_per_instrument = 0.5\n #context.options['hold_days'] = 5\n\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"handle_data","Value":"# 回测引擎:每日数据处理函数,每天执行一次\ndef bigquant_run(context, data):\n # 按日期过滤得到今日的预测数据\n ranker_prediction = context.ranker_prediction[\n context.ranker_prediction.date == data.current_dt.strftime('%Y-%m-%d')]\n \n # 当日可用资金\n cash_for_buy = context.portfolio.cash\n \n # 获取当日买入列表,每天选取context.stock_count只\n buy_list = list(ranker_prediction.instrument[:context.stock_count])\n \n # 获取当前持仓\n stock_hold_now = {e.symbol: p.amount * p.last_sale_price\n for e, p in context.perf_tracker.position_tracker.positions.items()} \n\n # 需要卖出的股票:已有持仓中不在买入列表的股票\n stock_to_sell = [ i for i in stock_hold_now if i not in buy_list ]\n stock_to_buy = [ i for i in buy_list if i not in stock_hold_now ]\n \n # 卖出列表进行卖出操作\n if len(stock_to_sell)>0:\n for instrument in stock_to_sell:\n sid = context.symbol(instrument) # 将标的转化为equity格式\n cur_position = context.portfolio.positions[sid].amount # 持仓\n if cur_position > 0 and data.can_trade(sid):\n context.order_target_percent(sid, 0) # 全部卖出\n # 如果是早盘买早盘卖,卖出的资金可以用于买股票,此时应将下面的注释打开,卖出股票时更新可用现金;\n # 如果是早盘买尾盘卖,则卖出时不需更新可用现金,因为尾盘卖出股票所得现金无法使用\n #cash_for_buy += stock_hold_now[instrument]\n \n # 买入列表执行买操作\n if len(stock_to_buy)>0:\n for instrument,weight in zip(stock_to_buy,context.stock_weights):\n sid = context.symbol(instrument) # 将标的转化为equity格式\n if data.can_trade(sid):\n context.order_target_value(sid, min(cash_for_buy,context.portfolio.portfolio_value*0.5)) # 买入","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"prepare","Value":"# 回测引擎:准备数据,只执行一次\ndef bigquant_run(context):\n pass\n","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"before_trading_start","Value":"","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"volume_limit","Value":0.025,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"order_price_field_buy","Value":"open","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"order_price_field_sell","Value":"close","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"capital_base","Value":1000000,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"auto_cancel_non_tradable_orders","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"data_frequency","Value":"daily","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"price_type","Value":"后复权","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"product_type","Value":"股票","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"plot_charts","Value":"True","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"backtest_only","Value":"False","ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"benchmark","Value":"","ValueType":"Literal","LinkedGlobalParameter":null}],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"instruments","NodeId":"-374"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"options_data","NodeId":"-374"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"history_ds","NodeId":"-374"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"benchmark_ds","NodeId":"-374"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"trading_calendar","NodeId":"-374"}],"OutputPortsInternal":[{"Name":"raw_perf","NodeId":"-374","OutputType":null}],"UsePreviousResults":false,"moduleIdForCode":19,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-213","ModuleId":"BigQuantSpace.stock_ranker_train.stock_ranker_train-v6","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":"data_row_fraction","Value":1,"ValueType":"Literal","LinkedGlobalParameter":null},{"Name":"ndcg_discount_base","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":"-213"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-213"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"test_ds","NodeId":"-213"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"base_model","NodeId":"-213"}],"OutputPortsInternal":[{"Name":"model","NodeId":"-213","OutputType":null},{"Name":"feature_gains","NodeId":"-213","OutputType":null},{"Name":"m_lazy_run","NodeId":"-213","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":4,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2576","ModuleId":"BigQuantSpace.dropnan.dropnan-v2","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-2576"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-2576"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2576","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":5,"IsPartOfPartialRun":null,"Comment":"","CommentCollapsed":true},{"Id":"-2580","ModuleId":"BigQuantSpace.dropnan.dropnan-v2","ModuleParameters":[],"InputPortsInternal":[{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"input_data","NodeId":"-2580"},{"DataSourceId":null,"TrainedModelId":null,"TransformModuleId":null,"Name":"features","NodeId":"-2580"}],"OutputPortsInternal":[{"Name":"data","NodeId":"-2580","OutputType":null}],"UsePreviousResults":true,"moduleIdForCode":6,"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='211,64,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-15' Position='67,180,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-24' Position='599,0,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-53' Position='249,375,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-60' Position='881.378173828125,619.5081176757812,200,200'/><NodePosition Node='287d2cb0-f53c-4101-bdf8-104b137c8601-62' Position='1078,136,200,200'/><NodePosition Node='-339' Position='381,185,200,200'/><NodePosition Node='-346' Position='385,280,200,200'/><NodePosition Node='-355' Position='1078,236,200,200'/><NodePosition Node='-362' Position='1081,327,200,200'/><NodePosition Node='-374' Position='942.013916015625,703.5057983398438,200,200'/><NodePosition Node='-213' Position='640,539,200,200'/><NodePosition Node='-2576' Position='496,462,200,200'/><NodePosition Node='-2580' Position='1078,418,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}
[2021-05-13 14:37:39.710021] INFO: moduleinvoker: instruments.v2 开始运行..
[2021-05-13 14:37:39.859961] INFO: moduleinvoker: instruments.v2 运行完成[0.149932s].
[2021-05-13 14:37:39.881748] INFO: moduleinvoker: advanced_auto_labeler.v2 开始运行..
[2021-05-13 14:37:50.119723] INFO: 自动标注(股票): 加载历史数据: 3422490 行
[2021-05-13 14:37:50.121174] INFO: 自动标注(股票): 开始标注 ..
[2021-05-13 14:37:58.349170] INFO: moduleinvoker: advanced_auto_labeler.v2 运行完成[18.467322s].
[2021-05-13 14:37:58.354500] INFO: moduleinvoker: input_features.v1 开始运行..
[2021-05-13 14:37:58.379232] INFO: moduleinvoker: 命中缓存
[2021-05-13 14:37:58.380839] INFO: moduleinvoker: input_features.v1 运行完成[0.026346s].
[2021-05-13 14:37:58.398202] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-05-13 14:37:59.915305] INFO: 基础特征抽取: 年份 2011, 特征行数=511455
[2021-05-13 14:38:01.152985] INFO: 基础特征抽取: 年份 2012, 特征行数=565675
[2021-05-13 14:38:02.490482] INFO: 基础特征抽取: 年份 2013, 特征行数=564168
[2021-05-13 14:38:03.719293] INFO: 基础特征抽取: 年份 2014, 特征行数=569948
[2021-05-13 14:38:04.999819] INFO: 基础特征抽取: 年份 2015, 特征行数=569698
[2021-05-13 14:38:06.415175] INFO: 基础特征抽取: 年份 2016, 特征行数=641546
[2021-05-13 14:38:07.320286] INFO: 基础特征抽取: 总行数: 3422490
[2021-05-13 14:38:07.376608] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[8.978396s].
[2021-05-13 14:38:07.380941] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2021-05-13 14:38:21.105726] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,5), 2.855s
[2021-05-13 14:38:23.904277] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,10), 2.797s
[2021-05-13 14:38:26.658408] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,20), 2.753s
[2021-05-13 14:38:26.666004] INFO: derived_feature_extractor: 提取完成 close_0/open_0, 0.006s
[2021-05-13 14:38:29.392775] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,5), 2.726s
[2021-05-13 14:38:32.183715] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,10), 2.789s
[2021-05-13 14:38:34.967838] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,20), 2.783s
[2021-05-13 14:38:37.003308] INFO: derived_feature_extractor: /y_2011, 511455
[2021-05-13 14:38:39.123708] INFO: derived_feature_extractor: /y_2012, 565675
[2021-05-13 14:38:41.341131] INFO: derived_feature_extractor: /y_2013, 564168
[2021-05-13 14:38:43.417853] INFO: derived_feature_extractor: /y_2014, 569948
[2021-05-13 14:38:45.501747] INFO: derived_feature_extractor: /y_2015, 569698
[2021-05-13 14:38:47.826419] INFO: derived_feature_extractor: /y_2016, 641546
[2021-05-13 14:38:48.702705] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[41.321751s].
[2021-05-13 14:38:48.707193] INFO: moduleinvoker: join.v3 开始运行..
[2021-05-13 14:39:03.218670] INFO: join: /y_2011, 行数=510931/511455, 耗时=3.475007s
[2021-05-13 14:39:06.759661] INFO: join: /y_2012, 行数=564591/565675, 耗时=3.523931s
[2021-05-13 14:39:10.305186] INFO: join: /y_2013, 行数=563149/564168, 耗时=3.529869s
[2021-05-13 14:39:13.900567] INFO: join: /y_2014, 行数=567883/569948, 耗时=3.580302s
[2021-05-13 14:39:17.635192] INFO: join: /y_2015, 行数=560441/569698, 耗时=3.718719s
[2021-05-13 14:39:21.694040] INFO: join: /y_2016, 行数=631554/641546, 耗时=4.039494s
[2021-05-13 14:39:24.259950] INFO: join: 最终行数: 3398549
[2021-05-13 14:39:24.360463] INFO: moduleinvoker: join.v3 运行完成[35.653255s].
[2021-05-13 14:39:24.365777] INFO: moduleinvoker: dropnan.v2 开始运行..
[2021-05-13 14:39:25.094363] INFO: dropnan: /y_2011, 467499/510931
[2021-05-13 14:39:25.876041] INFO: dropnan: /y_2012, 561356/564591
[2021-05-13 14:39:26.696616] INFO: dropnan: /y_2013, 562909/563149
[2021-05-13 14:39:27.515501] INFO: dropnan: /y_2014, 566246/567883
[2021-05-13 14:39:28.415764] INFO: dropnan: /y_2015, 558509/560441
[2021-05-13 14:39:29.301683] INFO: dropnan: /y_2016, 630137/631554
[2021-05-13 14:39:31.668908] INFO: dropnan: 行数: 3346656/3398549
[2021-05-13 14:39:31.694372] INFO: moduleinvoker: dropnan.v2 运行完成[7.328583s].
[2021-05-13 14:39:31.700203] INFO: moduleinvoker: stock_ranker_train.v6 开始运行..
[2021-05-13 14:39:35.100217] INFO: StockRanker: 特征预处理 ..
[2021-05-13 14:39:38.282486] INFO: StockRanker: prepare data: training ..
[2021-05-13 14:39:41.323193] INFO: StockRanker: sort ..
[2021-05-13 14:40:19.025750] INFO: StockRanker训练: f9401adc 准备训练: 3346656 行数
[2021-05-13 14:40:19.027698] INFO: StockRanker训练: AI模型训练,将在3346656*7=2342.66万数据上对模型训练进行20轮迭代训练。预计将需要8~15分钟。请耐心等待。
[2021-05-13 14:40:19.982556] INFO: StockRanker训练: 正在训练 ..
[2021-05-13 14:40:20.140943] INFO: StockRanker训练: 任务状态: Pending
[2021-05-13 14:40:30.197227] INFO: StockRanker训练: 任务状态: Running
[2021-05-13 14:40:40.247420] INFO: StockRanker训练: 00:00:16.1648976, finished iteration 1
[2021-05-13 14:41:00.431990] INFO: StockRanker训练: 00:00:28.9105082, finished iteration 2
[2021-05-13 14:41:10.479127] INFO: StockRanker训练: 00:00:41.9973325, finished iteration 3
[2021-05-13 14:41:20.531203] INFO: StockRanker训练: 00:00:55.2719288, finished iteration 4
[2021-05-13 14:41:40.623967] INFO: StockRanker训练: 00:01:08.7371401, finished iteration 5
[2021-05-13 14:41:50.677239] INFO: StockRanker训练: 00:01:22.5867411, finished iteration 6
[2021-05-13 14:42:10.772366] INFO: StockRanker训练: 00:01:41.6565885, finished iteration 7
[2021-05-13 14:42:30.877735] INFO: StockRanker训练: 00:02:00.7156901, finished iteration 8
[2021-05-13 14:42:51.019083] INFO: StockRanker训练: 00:02:19.6123934, finished iteration 9
[2021-05-13 14:43:01.078791] INFO: StockRanker训练: 00:02:38.3828757, finished iteration 10
[2021-05-13 14:43:21.177952] INFO: StockRanker训练: 00:02:57.4530614, finished iteration 11
[2021-05-13 14:43:41.274558] INFO: StockRanker训练: 00:03:16.6096018, finished iteration 12
[2021-05-13 14:44:11.436145] INFO: StockRanker训练: 00:03:41.2384231, finished iteration 13
[2021-05-13 14:44:31.528211] INFO: StockRanker训练: 00:04:04.4763585, finished iteration 14
[2021-05-13 14:44:51.635322] INFO: StockRanker训练: 00:04:25.0718005, finished iteration 15
[2021-05-13 14:45:11.755386] INFO: StockRanker训练: 00:04:48.5084448, finished iteration 16
[2021-05-13 14:45:31.879872] INFO: StockRanker训练: 00:05:07.9494969, finished iteration 17
[2021-05-13 14:45:51.986753] INFO: StockRanker训练: 00:05:26.7474997, finished iteration 18
[2021-05-13 14:46:12.088911] INFO: StockRanker训练: 00:05:43.9406858, finished iteration 19
[2021-05-13 14:46:32.186854] INFO: StockRanker训练: 00:06:01.9324968, finished iteration 20
[2021-05-13 14:46:32.188278] INFO: StockRanker训练: 任务状态: Succeeded
[2021-05-13 14:46:32.864520] INFO: moduleinvoker: stock_ranker_train.v6 运行完成[421.164309s].
[2021-05-13 14:46:32.866996] INFO: moduleinvoker: instruments.v2 开始运行..
[2021-05-13 14:46:33.021477] INFO: moduleinvoker: instruments.v2 运行完成[0.154458s].
[2021-05-13 14:46:33.041328] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-05-13 14:46:34.658000] INFO: 基础特征抽取: 年份 2017, 特征行数=743233
[2021-05-13 14:46:36.448372] INFO: 基础特征抽取: 年份 2018, 特征行数=816987
[2021-05-13 14:46:38.337369] INFO: 基础特征抽取: 年份 2019, 特征行数=884867
[2021-05-13 14:46:39.021341] INFO: 基础特征抽取: 年份 2020, 特征行数=154291
[2021-05-13 14:46:39.230826] INFO: 基础特征抽取: 总行数: 2599378
[2021-05-13 14:46:39.249055] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[6.20774s].
[2021-05-13 14:46:39.252918] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2021-05-13 14:46:49.198715] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,5), 1.912s
[2021-05-13 14:46:51.093165] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,10), 1.893s
[2021-05-13 14:46:53.016793] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,20), 1.922s
[2021-05-13 14:46:53.024029] INFO: derived_feature_extractor: 提取完成 close_0/open_0, 0.006s
[2021-05-13 14:46:54.996479] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,5), 1.971s
[2021-05-13 14:46:56.912005] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,10), 1.914s
[2021-05-13 14:46:58.873126] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,20), 1.959s
[2021-05-13 14:47:01.572613] INFO: derived_feature_extractor: /y_2017, 743233
[2021-05-13 14:47:04.664008] INFO: derived_feature_extractor: /y_2018, 816987
[2021-05-13 14:47:07.968253] INFO: derived_feature_extractor: /y_2019, 884867
[2021-05-13 14:47:09.074845] INFO: derived_feature_extractor: /y_2020, 154291
[2021-05-13 14:47:09.556979] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[30.304031s].
[2021-05-13 14:47:09.560526] INFO: moduleinvoker: dropnan.v2 开始运行..
[2021-05-13 14:47:10.430934] INFO: dropnan: /y_2017, 677664/743233
[2021-05-13 14:47:11.398779] INFO: dropnan: /y_2018, 814709/816987
[2021-05-13 14:47:12.533375] INFO: dropnan: /y_2019, 881081/884867
[2021-05-13 14:47:12.748188] INFO: dropnan: /y_2020, 153462/154291
[2021-05-13 14:47:13.232069] INFO: dropnan: 行数: 2526916/2599378
[2021-05-13 14:47:13.245251] INFO: moduleinvoker: dropnan.v2 运行完成[3.68471s].
[2021-05-13 14:47:13.252073] INFO: moduleinvoker: stock_ranker_predict.v5 开始运行..
[2021-05-13 14:47:14.117676] INFO: StockRanker预测: /y_2017 ..
[2021-05-13 14:47:15.430307] INFO: StockRanker预测: /y_2018 ..
[2021-05-13 14:47:16.917889] INFO: StockRanker预测: /y_2019 ..
[2021-05-13 14:47:18.129868] INFO: StockRanker预测: /y_2020 ..
[2021-05-13 14:47:24.188032] INFO: moduleinvoker: stock_ranker_predict.v5 运行完成[10.935964s].
[2021-05-13 14:47:25.863823] INFO: moduleinvoker: backtest.v8 开始运行..
[2021-05-13 14:47:25.871427] INFO: backtest: biglearning backtest:V8.5.0
[2021-05-13 14:47:25.872728] INFO: backtest: product_type:stock by specified
[2021-05-13 14:47:26.475076] INFO: moduleinvoker: cached.v2 开始运行..
[2021-05-13 14:47:52.441171] INFO: backtest: 读取股票行情完成:3713250
[2021-05-13 14:48:00.078824] INFO: moduleinvoker: cached.v2 运行完成[33.603749s].
[2021-05-13 14:48:05.353858] INFO: algo: TradingAlgorithm V1.8.2
[2021-05-13 14:48:07.726698] INFO: algo: trading transform...
[2021-05-13 14:48:24.518231] INFO: Performance: Simulated 772 trading days out of 772.
[2021-05-13 14:48:24.519701] INFO: Performance: first open: 2017-01-03 09:30:00+00:00
[2021-05-13 14:48:24.520736] INFO: Performance: last close: 2020-03-06 15:00:00+00:00
[2021-05-13 14:48:32.688508] INFO: moduleinvoker: backtest.v8 运行完成[66.824698s].
[2021-05-13 14:48:32.690015] INFO: moduleinvoker: trade.v4 运行完成[68.497373s].
bigcharts-data-start/{"__type":"tabs","__id":"bigchart-34ecf38b9f3e4a9fa77990380cbbfa81"}/bigcharts-data-end
- 收益率150.09%
- 年化收益率34.88%
- 基准收益率25.03%
- 阿尔法0.3
- 贝塔0.61
- 夏普比率0.9
- 胜率0.51
- 盈亏比1.26
- 收益波动率37.87%
- 信息比率0.05
- 最大回撤23.11%
bigcharts-data-start/{"__type":"tabs","__id":"bigchart-9f2794dd9c9846b792faff3f2f7e13a6"}/bigcharts-data-end