{"description":"实验创建于2017/8/26","graph":{"edges":[{"to_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-15:instruments","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8:data"},{"to_node_id":"-339:instruments","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8:data"},{"to_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-53:data1","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-15:data"},{"to_node_id":"-339:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-346:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-355:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-362:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-213:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-84:input_data","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-53:data"},{"to_node_id":"-374:options_data","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:predictions"},{"to_node_id":"-355:instruments","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62:data"},{"to_node_id":"-374:instruments","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62:data"},{"to_node_id":"-213:training_ds","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-84:data"},{"to_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:data","from_node_id":"-86:data"},{"to_node_id":"-346:input_data","from_node_id":"-339:data"},{"to_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-53:data2","from_node_id":"-346:data"},{"to_node_id":"-362:input_data","from_node_id":"-355:data"},{"to_node_id":"-86:input_data","from_node_id":"-362:data"},{"to_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60:model","from_node_id":"-213:model"}],"nodes":[{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2010-01-01","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"2019-12-31","type":"Literal","bound_global_parameter":null},{"name":"market","value":"CN_STOCK_A","type":"Literal","bound_global_parameter":null},{"name":"instrument_list","value":"","type":"Literal","bound_global_parameter":null},{"name":"max_count","value":"0","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"rolling_conf","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8"}],"output_ports":[{"name":"data","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8"}],"cacheable":true,"seq_num":1,"comment":"","comment_collapsed":true},{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-15","module_id":"BigQuantSpace.advanced_auto_labeler.advanced_auto_labeler-v2","parameters":[{"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","type":"Literal","bound_global_parameter":null},{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"benchmark","value":"000300.SHA","type":"Literal","bound_global_parameter":null},{"name":"drop_na_label","value":"True","type":"Literal","bound_global_parameter":null},{"name":"cast_label_int","value":"True","type":"Literal","bound_global_parameter":null},{"name":"user_functions","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-15"}],"output_ports":[{"name":"data","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-15"}],"cacheable":true,"seq_num":2,"comment":"","comment_collapsed":true},{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"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)","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24"}],"output_ports":[{"name":"data","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24"}],"cacheable":true,"seq_num":3,"comment":"","comment_collapsed":true},{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-53","module_id":"BigQuantSpace.join.join-v3","parameters":[{"name":"on","value":"date,instrument","type":"Literal","bound_global_parameter":null},{"name":"how","value":"inner","type":"Literal","bound_global_parameter":null},{"name":"sort","value":"False","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"data1","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-53"},{"name":"data2","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-53"}],"output_ports":[{"name":"data","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-53"}],"cacheable":true,"seq_num":7,"comment":"","comment_collapsed":true},{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60","module_id":"BigQuantSpace.stock_ranker_predict.stock_ranker_predict-v5","parameters":[{"name":"m_lazy_run","value":"False","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"model","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60"},{"name":"data","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60"}],"output_ports":[{"name":"predictions","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60"},{"name":"m_lazy_run","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-60"}],"cacheable":true,"seq_num":8,"comment":"","comment_collapsed":true},{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2020-01-01","type":"Literal","bound_global_parameter":"交易日期"},{"name":"end_date","value":"2021-09-30","type":"Literal","bound_global_parameter":"交易日期"},{"name":"market","value":"CN_STOCK_A","type":"Literal","bound_global_parameter":null},{"name":"instrument_list","value":"","type":"Literal","bound_global_parameter":null},{"name":"max_count","value":"0","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"rolling_conf","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62"}],"output_ports":[{"name":"data","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62"}],"cacheable":true,"seq_num":9,"comment":"预测数据,用于回测和模拟","comment_collapsed":false},{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-84","module_id":"BigQuantSpace.dropnan.dropnan-v1","parameters":[],"input_ports":[{"name":"input_data","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-84"}],"output_ports":[{"name":"data","node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-84"}],"cacheable":true,"seq_num":13,"comment":"","comment_collapsed":true},{"node_id":"-86","module_id":"BigQuantSpace.dropnan.dropnan-v1","parameters":[],"input_ports":[{"name":"input_data","node_id":"-86"}],"output_ports":[{"name":"data","node_id":"-86"}],"cacheable":true,"seq_num":14,"comment":"","comment_collapsed":true},{"node_id":"-339","module_id":"BigQuantSpace.general_feature_extractor.general_feature_extractor-v7","parameters":[{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"before_start_days","value":0,"type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-339"},{"name":"features","node_id":"-339"}],"output_ports":[{"name":"data","node_id":"-339"}],"cacheable":true,"seq_num":15,"comment":"","comment_collapsed":true},{"node_id":"-346","module_id":"BigQuantSpace.derived_feature_extractor.derived_feature_extractor-v3","parameters":[{"name":"date_col","value":"date","type":"Literal","bound_global_parameter":null},{"name":"instrument_col","value":"instrument","type":"Literal","bound_global_parameter":null},{"name":"drop_na","value":"False","type":"Literal","bound_global_parameter":null},{"name":"remove_extra_columns","value":"False","type":"Literal","bound_global_parameter":null},{"name":"user_functions","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-346"},{"name":"features","node_id":"-346"}],"output_ports":[{"name":"data","node_id":"-346"}],"cacheable":true,"seq_num":16,"comment":"","comment_collapsed":true},{"node_id":"-355","module_id":"BigQuantSpace.general_feature_extractor.general_feature_extractor-v7","parameters":[{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"before_start_days","value":0,"type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-355"},{"name":"features","node_id":"-355"}],"output_ports":[{"name":"data","node_id":"-355"}],"cacheable":true,"seq_num":17,"comment":"","comment_collapsed":true},{"node_id":"-362","module_id":"BigQuantSpace.derived_feature_extractor.derived_feature_extractor-v3","parameters":[{"name":"date_col","value":"date","type":"Literal","bound_global_parameter":null},{"name":"instrument_col","value":"instrument","type":"Literal","bound_global_parameter":null},{"name":"drop_na","value":"False","type":"Literal","bound_global_parameter":null},{"name":"remove_extra_columns","value":"False","type":"Literal","bound_global_parameter":null},{"name":"user_functions","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-362"},{"name":"features","node_id":"-362"}],"output_ports":[{"name":"data","node_id":"-362"}],"cacheable":true,"seq_num":18,"comment":"","comment_collapsed":true},{"node_id":"-374","module_id":"BigQuantSpace.trade.trade-v4","parameters":[{"name":"start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"","type":"Literal","bound_global_parameter":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","type":"Literal","bound_global_parameter":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)) # 买入","type":"Literal","bound_global_parameter":null},{"name":"prepare","value":"# 回测引擎:准备数据,只执行一次\ndef bigquant_run(context):\n pass\n","type":"Literal","bound_global_parameter":null},{"name":"before_trading_start","value":"","type":"Literal","bound_global_parameter":null},{"name":"volume_limit","value":0.025,"type":"Literal","bound_global_parameter":null},{"name":"order_price_field_buy","value":"open","type":"Literal","bound_global_parameter":null},{"name":"order_price_field_sell","value":"close","type":"Literal","bound_global_parameter":null},{"name":"capital_base","value":1000000,"type":"Literal","bound_global_parameter":null},{"name":"auto_cancel_non_tradable_orders","value":"True","type":"Literal","bound_global_parameter":null},{"name":"data_frequency","value":"daily","type":"Literal","bound_global_parameter":null},{"name":"price_type","value":"后复权","type":"Literal","bound_global_parameter":null},{"name":"product_type","value":"股票","type":"Literal","bound_global_parameter":null},{"name":"plot_charts","value":"True","type":"Literal","bound_global_parameter":null},{"name":"backtest_only","value":"False","type":"Literal","bound_global_parameter":null},{"name":"benchmark","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-374"},{"name":"options_data","node_id":"-374"},{"name":"history_ds","node_id":"-374"},{"name":"benchmark_ds","node_id":"-374"},{"name":"trading_calendar","node_id":"-374"}],"output_ports":[{"name":"raw_perf","node_id":"-374"}],"cacheable":false,"seq_num":19,"comment":"","comment_collapsed":true},{"node_id":"-213","module_id":"BigQuantSpace.stock_ranker_train.stock_ranker_train-v6","parameters":[{"name":"learning_algorithm","value":"排序","type":"Literal","bound_global_parameter":null},{"name":"number_of_leaves","value":30,"type":"Literal","bound_global_parameter":null},{"name":"minimum_docs_per_leaf","value":1000,"type":"Literal","bound_global_parameter":null},{"name":"number_of_trees","value":20,"type":"Literal","bound_global_parameter":null},{"name":"learning_rate","value":0.1,"type":"Literal","bound_global_parameter":null},{"name":"max_bins","value":1023,"type":"Literal","bound_global_parameter":null},{"name":"feature_fraction","value":1,"type":"Literal","bound_global_parameter":null},{"name":"data_row_fraction","value":1,"type":"Literal","bound_global_parameter":null},{"name":"ndcg_discount_base","value":1,"type":"Literal","bound_global_parameter":null},{"name":"m_lazy_run","value":"False","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"training_ds","node_id":"-213"},{"name":"features","node_id":"-213"},{"name":"test_ds","node_id":"-213"},{"name":"base_model","node_id":"-213"}],"output_ports":[{"name":"model","node_id":"-213"},{"name":"feature_gains","node_id":"-213"},{"name":"m_lazy_run","node_id":"-213"}],"cacheable":true,"seq_num":4,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-8' Position='211,64,200,200'/><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-15' Position='67,180,200,200'/><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-24' Position='599,0,200,200'/><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-53' Position='249,375,200,200'/><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-60' Position='906,647,200,200'/><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-62' Position='1078,136,200,200'/><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-84' Position='496,462,200,200'/><node_position Node='-86' Position='1078,418,200,200'/><node_position Node='-339' Position='381,185,200,200'/><node_position Node='-346' Position='385,280,200,200'/><node_position Node='-355' Position='1078,236,200,200'/><node_position Node='-362' Position='1081,327,200,200'/><node_position Node='-374' Position='1037,749,200,200'/><node_position Node='-213' Position='680,561,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
[2021-10-10 07:33:12.358020] INFO: moduleinvoker: instruments.v2 开始运行..
[2021-10-10 07:33:12.841658] INFO: moduleinvoker: 命中缓存
[2021-10-10 07:33:12.849417] INFO: moduleinvoker: instruments.v2 运行完成[0.493503s].
[2021-10-10 07:33:12.867273] INFO: moduleinvoker: advanced_auto_labeler.v2 开始运行..
[2021-10-10 07:33:46.883848] INFO: 自动标注(股票): 加载历史数据: 6299139 行
[2021-10-10 07:33:46.886756] INFO: 自动标注(股票): 开始标注 ..
[2021-10-10 07:34:25.182627] INFO: moduleinvoker: advanced_auto_labeler.v2 运行完成[72.315364s].
[2021-10-10 07:34:25.190457] INFO: moduleinvoker: input_features.v1 开始运行..
[2021-10-10 07:34:25.202714] INFO: moduleinvoker: 命中缓存
[2021-10-10 07:34:25.206286] INFO: moduleinvoker: input_features.v1 运行完成[0.01583s].
[2021-10-10 07:34:25.275857] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-10-10 07:34:27.796524] INFO: 基础特征抽取: 年份 2010, 特征行数=431567
[2021-10-10 07:34:30.684075] INFO: 基础特征抽取: 年份 2011, 特征行数=511455
[2021-10-10 07:34:33.704614] INFO: 基础特征抽取: 年份 2012, 特征行数=565675
[2021-10-10 07:34:36.607026] INFO: 基础特征抽取: 年份 2013, 特征行数=564168
[2021-10-10 07:34:39.684224] INFO: 基础特征抽取: 年份 2014, 特征行数=569948
[2021-10-10 07:34:42.716223] INFO: 基础特征抽取: 年份 2015, 特征行数=569698
[2021-10-10 07:34:46.117639] INFO: 基础特征抽取: 年份 2016, 特征行数=641546
[2021-10-10 07:34:50.477938] INFO: 基础特征抽取: 年份 2017, 特征行数=743233
[2021-10-10 07:34:54.912669] INFO: 基础特征抽取: 年份 2018, 特征行数=816987
[2021-10-10 07:34:59.594476] INFO: 基础特征抽取: 年份 2019, 特征行数=884867
[2021-10-10 07:34:59.750262] INFO: 基础特征抽取: 总行数: 6299144
[2021-10-10 07:34:59.885825] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[34.609991s].
[2021-10-10 07:34:59.897402] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2021-10-10 07:35:50.381076] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,5), 12.602s
[2021-10-10 07:36:02.778311] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,10), 12.395s
[2021-10-10 07:36:25.905352] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,20), 23.125s
[2021-10-10 07:36:25.976949] INFO: derived_feature_extractor: 提取完成 close_0/open_0, 0.069s
[2021-10-10 07:36:36.771827] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,5), 10.793s
[2021-10-10 07:36:48.102877] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,10), 11.329s
[2021-10-10 07:36:58.802135] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,20), 10.698s
[2021-10-10 07:37:02.713218] INFO: derived_feature_extractor: /y_2010, 431567
[2021-10-10 07:37:06.382457] INFO: derived_feature_extractor: /y_2011, 511455
[2021-10-10 07:37:10.415749] INFO: derived_feature_extractor: /y_2012, 565675
[2021-10-10 07:37:14.676622] INFO: derived_feature_extractor: /y_2013, 564168
[2021-10-10 07:37:18.781891] INFO: derived_feature_extractor: /y_2014, 569948
[2021-10-10 07:37:23.098821] INFO: derived_feature_extractor: /y_2015, 569698
[2021-10-10 07:37:27.910705] INFO: derived_feature_extractor: /y_2016, 641546
[2021-10-10 07:37:33.396183] INFO: derived_feature_extractor: /y_2017, 743233
[2021-10-10 07:37:40.296228] INFO: derived_feature_extractor: /y_2018, 816987
[2021-10-10 07:37:47.082575] INFO: derived_feature_extractor: /y_2019, 884867
[2021-10-10 07:37:48.983134] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[169.085724s].
[2021-10-10 07:37:48.995635] INFO: moduleinvoker: join.v3 开始运行..
[2021-10-10 07:38:35.681615] INFO: join: /y_2010, 行数=431039/431567, 耗时=10.192686s
[2021-10-10 07:38:45.302161] INFO: join: /y_2011, 行数=510931/511455, 耗时=9.608763s
[2021-10-10 07:38:54.976638] INFO: join: /y_2012, 行数=564591/565675, 耗时=9.607235s
[2021-10-10 07:39:04.976036] INFO: join: /y_2013, 行数=563149/564168, 耗时=9.984301s
[2021-10-10 07:39:15.216209] INFO: join: /y_2014, 行数=567883/569948, 耗时=10.220279s
[2021-10-10 07:39:25.597330] INFO: join: /y_2015, 行数=560441/569698, 耗时=10.322189s
[2021-10-10 07:39:36.201844] INFO: join: /y_2016, 行数=637482/641546, 耗时=10.58868s
[2021-10-10 07:39:47.781438] INFO: join: /y_2017, 行数=738271/743233, 耗时=11.506013s
[2021-10-10 07:40:00.175576] INFO: join: /y_2018, 行数=813531/816987, 耗时=12.368538s
[2021-10-10 07:40:16.590830] INFO: join: /y_2019, 行数=873854/884867, 耗时=16.39236s
[2021-10-10 07:40:16.806366] INFO: join: 最终行数: 6261172
[2021-10-10 07:40:17.278145] INFO: moduleinvoker: join.v3 运行完成[148.282504s].
[2021-10-10 07:40:17.291824] INFO: moduleinvoker: dropnan.v1 开始运行..
[2021-10-10 07:40:19.516782] INFO: dropnan: /y_2010, 393041/431039
[2021-10-10 07:40:21.498337] INFO: dropnan: /y_2011, 505326/510931
[2021-10-10 07:40:23.782364] INFO: dropnan: /y_2012, 561393/564591
[2021-10-10 07:40:25.999878] INFO: dropnan: /y_2013, 562941/563149
[2021-10-10 07:40:28.698102] INFO: dropnan: /y_2014, 566246/567883
[2021-10-10 07:40:30.895087] INFO: dropnan: /y_2015, 558526/560441
[2021-10-10 07:40:33.523833] INFO: dropnan: /y_2016, 636022/637482
[2021-10-10 07:40:36.612484] INFO: dropnan: /y_2017, 733517/738271
[2021-10-10 07:40:40.381846] INFO: dropnan: /y_2018, 812101/813531
[2021-10-10 07:40:44.325918] INFO: dropnan: /y_2019, 870923/873854
[2021-10-10 07:40:44.502927] INFO: dropnan: 行数: 6200036/6261172
[2021-10-10 07:40:44.586366] INFO: moduleinvoker: dropnan.v1 运行完成[27.29455s].
[2021-10-10 07:40:44.602653] INFO: moduleinvoker: stock_ranker_train.v6 开始运行..
[2021-10-10 07:41:00.801956] INFO: StockRanker: 特征预处理 ..
[2021-10-10 07:41:14.999545] INFO: StockRanker: prepare data: training ..
[2021-10-10 07:41:30.292148] INFO: StockRanker: sort ..
[2021-10-10 07:44:39.383185] INFO: StockRanker训练: 524f2a9a 准备训练: 6200036 行数
[2021-10-10 07:44:39.385468] INFO: StockRanker训练: AI模型训练,将在6200036*7=4340.03万数据上对模型训练进行20轮迭代训练。预计将需要13~27分钟。请耐心等待。
[2021-10-10 07:44:39.571007] INFO: StockRanker训练: 正在训练 ..
[2021-10-10 07:44:39.623502] INFO: StockRanker训练: 任务状态: Pending
[2021-10-10 07:44:49.746488] INFO: StockRanker训练: 任务状态: Running
[2021-10-10 07:45:19.907086] INFO: StockRanker训练: 00:00:34.6109097, finished iteration 1
[2021-10-10 07:45:50.029424] INFO: StockRanker训练: 00:01:04.7397179, finished iteration 2
[2021-10-10 07:46:30.202525] INFO: StockRanker训练: 00:01:38.3676493, finished iteration 3
[2021-10-10 07:47:20.386082] INFO: StockRanker训练: 00:02:29.1629079, finished iteration 4
[2021-10-10 07:48:10.606170] INFO: StockRanker训练: 00:03:22.9121493, finished iteration 5
[2021-10-10 07:49:00.814162] INFO: StockRanker训练: 00:04:09.3700132, finished iteration 6
[2021-10-10 07:49:40.958758] INFO: StockRanker训练: 00:04:52.2395004, finished iteration 7
[2021-10-10 07:50:21.115025] INFO: StockRanker训练: 00:05:30.3937585, finished iteration 8
[2021-10-10 07:50:51.234230] INFO: StockRanker训练: 00:06:05.1037235, finished iteration 9
[2021-10-10 07:51:31.431987] INFO: StockRanker训练: 00:06:40.7506527, finished iteration 10
[2021-10-10 07:52:01.546747] INFO: StockRanker训练: 00:07:18.4031710, finished iteration 11
[2021-10-10 07:52:51.743348] INFO: StockRanker训练: 00:08:00.0097402, finished iteration 12
[2021-10-10 07:53:31.900096] INFO: StockRanker训练: 00:08:41.7828505, finished iteration 13
[2021-10-10 07:54:12.064633] INFO: StockRanker训练: 00:09:21.6425670, finished iteration 14
[2021-10-10 07:54:52.234036] INFO: StockRanker训练: 00:10:02.4694666, finished iteration 15
[2021-10-10 07:55:32.376397] INFO: StockRanker训练: 00:10:45.3221900, finished iteration 16
[2021-10-10 07:56:12.530180] INFO: StockRanker训练: 00:11:25.4651420, finished iteration 17
[2021-10-10 07:56:52.691826] INFO: StockRanker训练: 00:12:05.7959651, finished iteration 18
[2021-10-10 07:57:32.853344] INFO: StockRanker训练: 00:12:45.4174267, finished iteration 19
[2021-10-10 07:58:13.025196] INFO: StockRanker训练: 00:13:25.5423301, finished iteration 20
[2021-10-10 07:58:13.026813] INFO: StockRanker训练: 任务状态: Succeeded
[2021-10-10 07:58:13.211905] INFO: moduleinvoker: stock_ranker_train.v6 运行完成[1048.609249s].
[2021-10-10 07:58:13.219521] INFO: moduleinvoker: instruments.v2 开始运行..
[2021-10-10 07:58:13.231967] INFO: moduleinvoker: 命中缓存
[2021-10-10 07:58:13.233655] INFO: moduleinvoker: instruments.v2 运行完成[0.014151s].
[2021-10-10 07:58:13.256086] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-10-10 07:58:15.404618] INFO: 基础特征抽取: 年份 2020, 特征行数=945961
[2021-10-10 07:58:17.181096] INFO: 基础特征抽取: 年份 2021, 特征行数=781988
[2021-10-10 07:58:17.256951] INFO: 基础特征抽取: 总行数: 1727949
[2021-10-10 07:58:17.306238] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[4.050217s].
[2021-10-10 07:58:17.313631] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2021-10-10 07:58:23.730529] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,5), 1.280s
[2021-10-10 07:58:25.052925] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,10), 1.321s
[2021-10-10 07:58:26.372919] INFO: derived_feature_extractor: 提取完成 close_0/mean(close_0,20), 1.318s
[2021-10-10 07:58:26.377624] INFO: derived_feature_extractor: 提取完成 close_0/open_0, 0.003s
[2021-10-10 07:58:27.686916] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,5), 1.308s
[2021-10-10 07:58:28.995508] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,10), 1.307s
[2021-10-10 07:58:30.313018] INFO: derived_feature_extractor: 提取完成 open_0/mean(close_0,20), 1.316s
[2021-10-10 07:58:33.095233] INFO: derived_feature_extractor: /y_2020, 945961
[2021-10-10 07:58:35.998007] INFO: derived_feature_extractor: /y_2021, 781988
[2021-10-10 07:58:36.753034] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[19.439395s].
[2021-10-10 07:58:36.761044] INFO: moduleinvoker: dropnan.v1 开始运行..
[2021-10-10 07:58:38.139546] INFO: dropnan: /y_2020, 867504/945961
[2021-10-10 07:58:39.308363] INFO: dropnan: /y_2021, 774790/781988
[2021-10-10 07:58:39.409987] INFO: dropnan: 行数: 1642294/1727949
[2021-10-10 07:58:39.438197] INFO: moduleinvoker: dropnan.v1 运行完成[2.677143s].
[2021-10-10 07:58:39.445753] INFO: moduleinvoker: stock_ranker_predict.v5 开始运行..
[2021-10-10 07:58:41.875843] INFO: StockRanker预测: /y_2020 ..
[2021-10-10 07:58:47.099565] INFO: StockRanker预测: /y_2021 ..
[2021-10-10 07:58:56.604030] INFO: moduleinvoker: stock_ranker_predict.v5 运行完成[17.15827s].
[2021-10-10 07:58:56.699989] INFO: moduleinvoker: backtest.v8 开始运行..
[2021-10-10 07:58:56.705529] INFO: backtest: biglearning backtest:V8.5.0
[2021-10-10 07:58:56.706663] INFO: backtest: product_type:stock by specified
[2021-10-10 07:58:57.396559] INFO: moduleinvoker: cached.v2 开始运行..
[2021-10-10 07:59:13.880183] INFO: backtest: 读取股票行情完成:2829909
[2021-10-10 07:59:21.877119] INFO: moduleinvoker: cached.v2 运行完成[24.480572s].
[2021-10-10 07:59:25.880035] INFO: algo: TradingAlgorithm V1.8.5
[2021-10-10 07:59:27.399883] INFO: algo: trading transform...
[2021-10-10 07:59:34.979564] INFO: Performance: Simulated 425 trading days out of 425.
[2021-10-10 07:59:34.981244] INFO: Performance: first open: 2020-01-02 09:30:00+00:00
[2021-10-10 07:59:34.982425] INFO: Performance: last close: 2021-09-30 15:00:00+00:00
[2021-10-10 07:59:42.925493] INFO: moduleinvoker: backtest.v8 运行完成[46.225506s].
[2021-10-10 07:59:42.927093] INFO: moduleinvoker: trade.v4 运行完成[46.294078s].
bigcharts-data-start/{"__type":"tabs","__id":"bigchart-63ed287ba7164e999859b8d87745678c"}/bigcharts-data-end
- 收益率181.12%
- 年化收益率84.57%
- 基准收益率18.79%
- 阿尔法0.9
- 贝塔0.5
- 夏普比率1.49
- 胜率0.53
- 盈亏比1.19
- 收益波动率46.4%
- 信息比率0.08
- 最大回撤28.79%
bigcharts-data-start/{"__type":"tabs","__id":"bigchart-f7321161d858409bbd740934ae2a349e"}/bigcharts-data-end