{"description":"实验创建于2021/9/25","graph":{"edges":[{"to_node_id":"-55:data2","from_node_id":"-1120:data"},{"to_node_id":"-315:data1","from_node_id":"-1131:data"},{"to_node_id":"-1120:features","from_node_id":"-1230:data"},{"to_node_id":"-1131:features","from_node_id":"-1230:data"},{"to_node_id":"-55:data1","from_node_id":"-40:data"},{"to_node_id":"-690:training_ds","from_node_id":"-51:data"},{"to_node_id":"-329:data1","from_node_id":"-55:data"},{"to_node_id":"-322:features","from_node_id":"-4158:data"},{"to_node_id":"-336:features","from_node_id":"-4158:data"},{"to_node_id":"-2032:features","from_node_id":"-4158:data"},{"to_node_id":"-2041:features","from_node_id":"-4158:data"},{"to_node_id":"-2201:input_data","from_node_id":"-315:data"},{"to_node_id":"-2032:input_data","from_node_id":"-322:data"},{"to_node_id":"-51:input_data","from_node_id":"-329:data"},{"to_node_id":"-2041:input_data","from_node_id":"-336:data"},{"to_node_id":"-141:options_data","from_node_id":"-690:predictions"},{"to_node_id":"-690:features","from_node_id":"-1061:data"},{"to_node_id":"-329:data2","from_node_id":"-2032:data"},{"to_node_id":"-315:data2","from_node_id":"-2041:data"},{"to_node_id":"-241:features","from_node_id":"-236:data"},{"to_node_id":"-248:input_data","from_node_id":"-241:data"},{"to_node_id":"-257:input_1","from_node_id":"-248:data"},{"to_node_id":"-1131:instruments","from_node_id":"-257:data_1"},{"to_node_id":"-336:instruments","from_node_id":"-257:data_1"},{"to_node_id":"-141:instruments","from_node_id":"-257:data_1"},{"to_node_id":"-1536:instruments","from_node_id":"-1523:data"},{"to_node_id":"-1552:input_2","from_node_id":"-1523:data"},{"to_node_id":"-1536:features","from_node_id":"-1531:data"},{"to_node_id":"-1543:input_data","from_node_id":"-1536:data"},{"to_node_id":"-1552:input_1","from_node_id":"-1543:data"},{"to_node_id":"-1120:instruments","from_node_id":"-1552:data_1"},{"to_node_id":"-40:instruments","from_node_id":"-1552:data_1"},{"to_node_id":"-322:instruments","from_node_id":"-1552:data_1"},{"to_node_id":"-241:instruments","from_node_id":"-223:data"},{"to_node_id":"-257:input_2","from_node_id":"-223:data"},{"to_node_id":"-690:predict_ds","from_node_id":"-2201:data"}],"nodes":[{"node_id":"-1120","module_id":"BigQuantSpace.feature_extractor_1m.feature_extractor_1m-v2","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},{"name":"workers","value":"10","type":"Literal","bound_global_parameter":null},{"name":"parallel_mode","value":"单机","type":"Literal","bound_global_parameter":null},{"name":"table_1m","value":"降频分钟数据(股票)","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-1120"},{"name":"features","node_id":"-1120"},{"name":"user_functions","node_id":"-1120"}],"output_ports":[{"name":"data","node_id":"-1120"}],"cacheable":true,"seq_num":2,"comment":"","comment_collapsed":true},{"node_id":"-1131","module_id":"BigQuantSpace.feature_extractor_1m.feature_extractor_1m-v2","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},{"name":"workers","value":"10","type":"Literal","bound_global_parameter":null},{"name":"parallel_mode","value":"单机","type":"Literal","bound_global_parameter":null},{"name":"table_1m","value":"降频分钟数据(股票)","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-1131"},{"name":"features","node_id":"-1131"},{"name":"user_functions","node_id":"-1131"}],"output_ports":[{"name":"data","node_id":"-1131"}],"cacheable":true,"seq_num":3,"comment":"","comment_collapsed":true},{"node_id":"-1230","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\n#支持np pd ta math库 支持pandas内置函数 支持自定义表达式\n#close_=close.loc[145700] #抽取14点57分收盘价\n#(close*volume).sum()/volume.sum() #等同于vwap\n#vwap(close,volume) #vwap为自定义表达式\n#mean_4=close.loc[103000]+close.loc[113000]+close.loc[140000]+close.loc[145700]\n_ret=close.pct_change().fillna(close.iloc[0]/open.iloc[0])\n\n#分钟收益各阶局\nskew=_ret.skew()\ninday_ret=close.loc[145700]/close.loc[95900]-1 #日内涨跌幅累计\nlow_volume_cov=low.cov(volume) #日内成交量与最低价的协方差\nsome_rsi=ta.RSI(close).loc[95900] #RSI技术指标\nsar=ta.SAR(high,low,0.02,0.2).loc[145700] #SAR抛物线转向\n_pvt=(_ret*volume).cumsum()\npvt=_pvt.iloc[-1]-_pvt.mean() #PVT量价趋势因子\n\n#聪明钱指标\n_st=((close/close.shift(1)-1).abs()/volume.pow(0.5)).sort_values(ascending=False)\n_volume=volume[_st.index]\n_close=close[_st.index]\n_smart_money=(_volume.cumsum()/volume.sum())>=0.2\nsmart_money=((_volume[_smart_money]*_close[_smart_money]).sum()/_volume[_smart_money].sum())/((volume*close).sum()/volume.sum())\n\n#成交量各阶矩\nmean_v=volume.mean()\nstd_v=volume.std()\nskew_v=volume.skew()\nkurt_v=volume.kurt()\n#人气指标\n_mid=(high+low+close)/3\n_strong_sum=where(high>_mid.shift(1), high-_mid.shift(1), 0).sum()\n_weak_sum=where(low<_mid.shift(1),_mid.shift(1)-low,0).sum()\ncr=_strong_sum/_weak_sum\n#MFI资金流因子\n_mf=_mid*volume\n_mf_p=where(_mid>_mid.shift(1), _mf, 0)\n_mf_n=where(_mid<_mid.shift(1), -1*_mf, 0)\n_positive_mf=_mf_p.loc[100000:145700].sum()\n_negative_mf=_mf_n.loc[100000:145700].sum()\n_mr=_positive_mf/_negative_mf\nmfi=100-(100/(1+_mr))\n#MACD指数平滑异同平均\n_dif=ta.EMA(close,12)-ta.EMA(close,26)\nmacd=_dif.loc[145700]\n\n#SRDM动向速度比率\n_dmz=where(high+low<high.shift(1)+low.shift(1), 0, max(abs(high-high.shift(1)),abs(low-low.shift(1))))\n_dmf=where(high+low>=high.shift(1)+low.shift(1), 0, max(abs(high-high.shift(1)),abs(low-low.shift(1))))\n_admz=mean(_dmz,10)\n_admf=mean(_dmf,10)\n_srdm=where(_admz>_admf, (_admz-_admf)/_admz, where(_admz==_admf, 0, (_admz-_admf)/_admf))\nasrdm=mean(_srdm,10).loc[145700]\n# 真正的强度指数TSI\n_mom=close-close.shift(1)\n_mom_real=np.array(_mom,dtype='f8')\n_tsi_series=(ta.EMA(ta.EMA(_mom_real,25),13)/ta.EMA(ta.EMA(abs(_mom_real),25),13))*100\ntsi=_tsi_series.loc[145700]\n\n#日内大单流入\n_up_volumes=volume[_ret>0]\nmy_mf_net_amount_l=_up_volumes.nlargest(math.floor(0.1*len(_up_volumes))).sum()","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-1230"}],"output_ports":[{"name":"data","node_id":"-1230"}],"cacheable":true,"seq_num":4,"comment":"","comment_collapsed":true},{"node_id":"-40","module_id":"BigQuantSpace.advanced_auto_labeler.advanced_auto_labeler-v2","parameters":[{"name":"label_expr","value":"# #号开始的表示注释\n# 0. 每行一个,顺序执行,从第二个开始,可以使用label字段\n# 1. 可用数据字段见 https://bigquant.com/docs/develop/datasource/deprecated/history_data.html\n# 添加benchmark_前缀,可使用对应的benchmark数据\n# 2. 可用操作符和函数见 `表达式引擎 <https://bigquant.com/docs/develop/bigexpr/usage.html>`_\n\n# 计算收益:5日收盘价(作为卖出价格)除以明日开盘价(作为买入价格)\nshift(close, -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, 8)\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":"-40"}],"output_ports":[{"name":"data","node_id":"-40"}],"cacheable":true,"seq_num":5,"comment":"此策略为模拟运行中证800的高频因子策略","comment_collapsed":true},{"node_id":"-51","module_id":"BigQuantSpace.dropnan.dropnan-v2","parameters":[],"input_ports":[{"name":"input_data","node_id":"-51"},{"name":"features","node_id":"-51"}],"output_ports":[{"name":"data","node_id":"-51"}],"cacheable":true,"seq_num":6,"comment":"","comment_collapsed":true},{"node_id":"-55","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":"-55"},{"name":"data2","node_id":"-55"}],"output_ports":[{"name":"data","node_id":"-55"}],"cacheable":true,"seq_num":7,"comment":"","comment_collapsed":true},{"node_id":"-4158","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"#用在高频因子抽取的模块上\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\n#支持np pd ta math库 支持pandas内置函数 支持自定义表达式\nreturn_5\nreturn_10\nreturn_20\navg_amount_5/avg_amount_10\nreturn_5/return_10\nta_cci_14_0\nturn_5/avg_turn_10\navg_amount_0/avg_amount_5\nswing_volatility_5_0/swing_volatility_60_0\namount_10/amount_30\nrank_volatility_10_0\nreturn_0\nta_ema_5_0/close_0\nclose_0/low_0\nta_ema_20_0/close_0\nopen_0/close_1\nhigh_1/close_0\nta_ema_30_0/close_0\nta_rsi(close_0, 6)\namount_0/amount_1\nriskOK=where(abs((close_1-open_1)/open_1)<0.09, 1,0) #前一天是否有极端行情","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-4158"}],"output_ports":[{"name":"data","node_id":"-4158"}],"cacheable":true,"seq_num":9,"comment":"","comment_collapsed":true},{"node_id":"-315","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":"-315"},{"name":"data2","node_id":"-315"}],"output_ports":[{"name":"data","node_id":"-315"}],"cacheable":false,"seq_num":10,"comment":"","comment_collapsed":true},{"node_id":"-322","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":"10","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-322"},{"name":"features","node_id":"-322"}],"output_ports":[{"name":"data","node_id":"-322"}],"cacheable":true,"seq_num":11,"comment":"","comment_collapsed":true},{"node_id":"-329","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":"-329"},{"name":"data2","node_id":"-329"}],"output_ports":[{"name":"data","node_id":"-329"}],"cacheable":true,"seq_num":8,"comment":"","comment_collapsed":true},{"node_id":"-336","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":90,"type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-336"},{"name":"features","node_id":"-336"}],"output_ports":[{"name":"data","node_id":"-336"}],"cacheable":true,"seq_num":12,"comment":"","comment_collapsed":true},{"node_id":"-690","module_id":"BigQuantSpace.lightgbm.lightgbm-v2","parameters":[{"name":"num_boost_round","value":"79","type":"Literal","bound_global_parameter":null},{"name":"objective","value":"排序(ndcg)","type":"Literal","bound_global_parameter":null},{"name":"num_class","value":"1","type":"Literal","bound_global_parameter":null},{"name":"num_leaves","value":"60","type":"Literal","bound_global_parameter":null},{"name":"learning_rate","value":"0.1","type":"Literal","bound_global_parameter":null},{"name":"min_data_in_leaf","value":"900","type":"Literal","bound_global_parameter":null},{"name":"max_bin","value":"1023","type":"Literal","bound_global_parameter":null},{"name":"key_cols","value":"date,instrument","type":"Literal","bound_global_parameter":null},{"name":"group_col","value":"date","type":"Literal","bound_global_parameter":null},{"name":"random_seed","value":"101","type":"Literal","bound_global_parameter":null},{"name":"other_train_parameters","value":"{'n_jobs':4,'label_gain':','.join([str(x) for x in range(20)]),\"max_position\":29,\"eval_at\":\"1,3,5,10\"}","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"training_ds","node_id":"-690"},{"name":"features","node_id":"-690"},{"name":"model","node_id":"-690"},{"name":"predict_ds","node_id":"-690"}],"output_ports":[{"name":"output_model","node_id":"-690"},{"name":"predictions","node_id":"-690"},{"name":"feature_gains","node_id":"-690"}],"cacheable":true,"seq_num":16,"comment":"","comment_collapsed":true},{"node_id":"-1061","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\n#支持np pd ta math库 支持pandas内置函数 支持自定义表达式\n#close_=close.loc[145700] #抽取14点57分收盘价\n#(close*volume).sum()/volume.sum() #等同于vwap\n#vwap(close,volume) #vwap为自定义表达式\n#mean_4=close.loc[103000]+close.loc[113000]+close.loc[140000]+close.loc[145700]\n\nskew\ninday_ret\nlow_volume_cov\nsome_rsi\nsar\npvt\nsmart_money\n#成交量各阶矩\nmean_v\nstd_v\nskew_v\nkurt_v\n#MFI资金流因子\nmfi \n#MACD指数平滑异同平均\n\nmacd\n\n#SRDM动向速度比率\n\nasrdm\n# 真正的强度指数TSI\n\ntsi\n\n#日内大单流入\n\n#my_mf_net_amount_l\n\n#cr\n#以下为日频因子\n\n\n#avg_amount_5/avg_amount_10\n#return_5/return_10\n#ta_cci_14_0\n#turn_5/avg_turn_10\n#avg_amount_0/avg_amount_5\n#swing_volatility_5_0/swing_volatility_60_0\n#amount_10/amount_30\n#rank_volatility_10_0\n#return_0\n#ta_ema_5_0/close_0\n#close_0/low_0\n#ta_ema_20_0/close_0\n#open_0/close_1\n#high_1/close_0\n#ta_ema_30_0/close_0\n#ta_rsi(close_0, 6)\n#amount_0/amount_1\n ","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-1061"}],"output_ports":[{"name":"data","node_id":"-1061"}],"cacheable":true,"seq_num":14,"comment":"","comment_collapsed":true},{"node_id":"-141","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 stock_count =2\n # 每只的股票的权重,如下的权重分配会使得靠前的股票分配多一点的资金,[0.339160, 0.213986, 0.169580, ..]\n context.stock_weights = [1 / stock_count for i in range(0, stock_count)]\n # 设置每只股票占用的最大资金比例\n context.max_cash_per_instrument = 1\n context.options['hold_days'] = 2\n","type":"Literal","bound_global_parameter":null},{"name":"handle_data","value":"# 回测引擎:每日数据处理函数,每天执行一次\ndef bigquant_run(context, data):\n\n # 按日期过滤得到今日的预测数据\n ranker_prediction = context.ranker_prediction[\n context.ranker_prediction.date == data.current_dt.strftime('%Y-%m-%d')]\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 equities = {e.symbol: e for e, p in context.perf_tracker.position_tracker.positions.items()}\n tmp = 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 sell_instruments = equities #instruments为卖出订单 \n \n if not is_staging and cash_for_sell > 0:\n\n# # print('rank order for sell %s' % instruments)\n for instrument in sell_instruments:\n# if instrument in tmp:\n# print(\"涨停,不卖出\",instrument)\n# continue\n context.order_target(context.symbol(instrument), 0)\n cash_for_sell -= positions[instrument]\n if cash_for_sell <= 0:\n break\n\n # 3. 生成买入订单:按机器学习算法预测的排序,买入前面的stock_count只股票\n buy_cash_weights = context.stock_weights\n buy_instruments = list(ranker_prediction.instrument[:len(buy_cash_weights)])\n \n #自己加入的 防止同一天卖出后又买入'''\n '''buySet=set(buy_instruments)\n sellSet=[]\n for key in sell_instruments.keys():\n sellSet.append(key)\n sellSet=set(sellSet)\n buySet=buySet.difference(sellSet) #去除重复股票代码\n buy_instruments=list(buySet)\n print(\"buySet=\")\n print(buy_instruments)\n print(\"sellSet\")\n print(sellSet) '''\n #自己加入的 防止同一天卖出后又买入**********\n \n \n \n max_cash_per_instrument = context.portfolio.portfolio_value * context.max_cash_per_instrument\n #个股风控模块################################### \n '''\n if len(ranker_prediction)==0:\n return\n \n end_date =ranker_prediction.date.iloc[0]\n start_date = pd.to_datetime(end_date)-datetime.timedelta(days=4)\n\n \n print(end_date)\n \n #获取数据\n buy_df = DataSource(\"bar1d_CN_STOCK_A\").read(instruments=buy_instruments,start_date=start_date.strftime(\"%Y-%m-%d\"),end_date=end_date,feild=['date','instrument','close'])\n def riskCp(subdf): \n subdf2=subdf.iloc[::-1] #颠倒顺序,最新的放在前面\n subdf2.set_index('date',inplace=True)\n subdf2.reset_index(inplace=True)\n #print(subdf2)\n try:\n close1=subdf2.loc[0,'close'] #前一日的收盘价\n close2=subdf2.loc[1,'close'] #前二日的开盘价 , \n #print(\"close1=\")\n #print(close1)\n #print(\"close2=\")\n #print(close2)\n #print(\"abs=\")\n \n \n except BaseException:\n return 2\n if abs((close1-close2)/close2)<0.09:\n return 0\n else:\n return 1 # 如果是1 说明有风险 \n #获得风险列表\n riskList=buy_df.groupby(by=\"instrument\").apply(riskCp)\n for StockName in buy_instruments:\n if riskList[StockName]!=0:\n buy_instruments.remove(StockName) #去除buy_instruments中的风险代码\n \n print('riskList=')\n print(riskList)\n print('buy_instruments=')\n print(buy_instruments)\n '''\n #################################################个股风控代码结束\n for i, instrument in enumerate(buy_instruments):\n cash = cash_for_buy * buy_cash_weights[i]\n if cash > max_cash_per_instrument - positions.get(instrument, 0):\n # 确保股票持仓量不会超过每次股票最大的占用资金量\n cash = max_cash_per_instrument - positions.get(instrument, 0)\n if cash > 0&data.can_trade(context.symbol(instrument)):\n \n context.order_value(context.symbol(instrument), cash)\n","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","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":"100000","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":"000300.SHA","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-141"},{"name":"options_data","node_id":"-141"},{"name":"history_ds","node_id":"-141"},{"name":"benchmark_ds","node_id":"-141"},{"name":"trading_calendar","node_id":"-141"}],"output_ports":[{"name":"raw_perf","node_id":"-141"}],"cacheable":false,"seq_num":17,"comment":"","comment_collapsed":true},{"node_id":"-2032","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":"-2032"},{"name":"features","node_id":"-2032"}],"output_ports":[{"name":"data","node_id":"-2032"}],"cacheable":true,"seq_num":19,"comment":"","comment_collapsed":true},{"node_id":"-2041","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":"-2041"},{"name":"features","node_id":"-2041"}],"output_ports":[{"name":"data","node_id":"-2041"}],"cacheable":false,"seq_num":20,"comment":"","comment_collapsed":true},{"node_id":"-236","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\nin_csi500_0","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-236"}],"output_ports":[{"name":"data","node_id":"-236"}],"cacheable":true,"seq_num":26,"comment":"","comment_collapsed":true},{"node_id":"-241","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":"5","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-241"},{"name":"features","node_id":"-241"}],"output_ports":[{"name":"data","node_id":"-241"}],"cacheable":true,"seq_num":27,"comment":"","comment_collapsed":true},{"node_id":"-248","module_id":"BigQuantSpace.filter.filter-v3","parameters":[{"name":"expr","value":"in_csi500_0 == 1","type":"Literal","bound_global_parameter":null},{"name":"output_left_data","value":"False","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-248"}],"output_ports":[{"name":"data","node_id":"-248"},{"name":"left_data","node_id":"-248"}],"cacheable":true,"seq_num":28,"comment":"","comment_collapsed":true},{"node_id":"-257","module_id":"BigQuantSpace.cached.cached-v3","parameters":[{"name":"run","value":"# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端\ndef bigquant_run(input_1, input_2):\n #input_1是使用in_csi500_0过滤后的df数据。\n #input_2是来自与证卷代码列表,用于提取日期\n #输出作为新的证卷代码列表\n # 示例代码如下。在这里编写您的代码\n df=input_1.read_df()\n #df.head()\n code=df['instrument']\n \n code=pd.DataFrame(code)\n \n \n code=code.drop_duplicates()\n \n codeList=list(code.instrument)\n \n codedate=input_2.read_pickle()\n startdate=codedate[\"start_date\"]\n enddate=codedate[\"end_date\"]\n print(startdate)\n print(enddate) \n #df = DataSource(\"index_constituent_CN_STOCK_A\").read(start_date=\"2021-06-01\", end_date=\"2021-06-01\")\n #code=df.loc[df.in_csi800==1].instrument \n #codeList=list(code.drop_duplicates()) #获取上证50代码\n #dictList={\"instruments\":codeList,\"start_date\":\"2020-11-20\",\"end_date\":\"2021-06-20\"} # 将日期长度更改成一年,但是取得是2021年的漂亮50\n #trainingCodes=DataSource().write_pickle(dictList) #训练集股票代码\n \n dictList={\"instruments\":codeList,\"start_date\":startdate,\"end_date\":enddate} # 将日期长度更改成一年,但是取得是2021年的漂亮50\n Codes=DataSource().write_pickle(dictList) #测试集合股票代码\n \n return Outputs(data_1=Codes, data_2=None, data_3=None)\n","type":"Literal","bound_global_parameter":null},{"name":"post_run","value":"# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。\ndef bigquant_run(outputs):\n return outputs\n","type":"Literal","bound_global_parameter":null},{"name":"input_ports","value":"input_1,input_2","type":"Literal","bound_global_parameter":null},{"name":"params","value":"{}","type":"Literal","bound_global_parameter":null},{"name":"output_ports","value":"data_1","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_1","node_id":"-257"},{"name":"input_2","node_id":"-257"},{"name":"input_3","node_id":"-257"}],"output_ports":[{"name":"data_1","node_id":"-257"},{"name":"data_2","node_id":"-257"},{"name":"data_3","node_id":"-257"}],"cacheable":true,"seq_num":29,"comment":"输出1是测试集股票代码","comment_collapsed":false},{"node_id":"-1523","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2021-01-20","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"2021-06-20","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":"-1523"}],"output_ports":[{"name":"data","node_id":"-1523"}],"cacheable":true,"seq_num":21,"comment":"","comment_collapsed":true},{"node_id":"-1531","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\nin_csi500_0","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-1531"}],"output_ports":[{"name":"data","node_id":"-1531"}],"cacheable":true,"seq_num":22,"comment":"","comment_collapsed":true},{"node_id":"-1536","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":90,"type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-1536"},{"name":"features","node_id":"-1536"}],"output_ports":[{"name":"data","node_id":"-1536"}],"cacheable":true,"seq_num":23,"comment":"","comment_collapsed":true},{"node_id":"-1543","module_id":"BigQuantSpace.filter.filter-v3","parameters":[{"name":"expr","value":"in_csi500_0 == 1","type":"Literal","bound_global_parameter":null},{"name":"output_left_data","value":"False","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-1543"}],"output_ports":[{"name":"data","node_id":"-1543"},{"name":"left_data","node_id":"-1543"}],"cacheable":true,"seq_num":24,"comment":"","comment_collapsed":true},{"node_id":"-1552","module_id":"BigQuantSpace.cached.cached-v3","parameters":[{"name":"run","value":"# Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端\ndef bigquant_run(input_1, input_2):\n #input_1是使用in_csi500_0过滤后的df数据。\n #input_2是来自与证卷代码列表,用于提取日期\n #输出作为新的证卷代码列表\n # 示例代码如下。在这里编写您的代码\n df=input_1.read_df()\n #df.head()\n code=df['instrument']\n \n code=pd.DataFrame(code)\n \n \n code=code.drop_duplicates()\n \n codeList=list(code.instrument)\n \n codedate=input_2.read_pickle()\n startdate=codedate[\"start_date\"]\n enddate=codedate[\"end_date\"]\n print(startdate)\n print(enddate) \n #df = DataSource(\"index_constituent_CN_STOCK_A\").read(start_date=\"2021-06-01\", end_date=\"2021-06-01\")\n #code=df.loc[df.in_csi800==1].instrument \n #codeList=list(code.drop_duplicates()) #获取上证50代码\n #dictList={\"instruments\":codeList,\"start_date\":\"2020-11-20\",\"end_date\":\"2021-06-20\"} # 将日期长度更改成一年,但是取得是2021年的漂亮50\n #trainingCodes=DataSource().write_pickle(dictList) #训练集股票代码\n \n dictList={\"instruments\":codeList,\"start_date\":startdate,\"end_date\":enddate} # 将日期长度更改成一年,但是取得是2021年的漂亮50\n Codes=DataSource().write_pickle(dictList) #测试集合股票代码\n \n return Outputs(data_1=Codes, data_2=None, data_3=None)\n","type":"Literal","bound_global_parameter":null},{"name":"post_run","value":"# 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。\ndef bigquant_run(outputs):\n return outputs\n","type":"Literal","bound_global_parameter":null},{"name":"input_ports","value":"input_1,input_2","type":"Literal","bound_global_parameter":null},{"name":"params","value":"{}","type":"Literal","bound_global_parameter":null},{"name":"output_ports","value":"data_1","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_1","node_id":"-1552"},{"name":"input_2","node_id":"-1552"},{"name":"input_3","node_id":"-1552"}],"output_ports":[{"name":"data_1","node_id":"-1552"},{"name":"data_2","node_id":"-1552"},{"name":"data_3","node_id":"-1552"}],"cacheable":true,"seq_num":25,"comment":"输出1是训练集股票代码","comment_collapsed":false},{"node_id":"-223","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2021-06-22","type":"Literal","bound_global_parameter":"交易日期"},{"name":"end_date","value":"2021-10-22","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":"-223"}],"output_ports":[{"name":"data","node_id":"-223"}],"cacheable":true,"seq_num":15,"comment":"","comment_collapsed":true},{"node_id":"-2201","module_id":"BigQuantSpace.dropnan.dropnan-v2","parameters":[],"input_ports":[{"name":"input_data","node_id":"-2201"},{"name":"features","node_id":"-2201"}],"output_ports":[{"name":"data","node_id":"-2201"}],"cacheable":true,"seq_num":13,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='-1120' Position='203,260,200,200'/><node_position Node='-1131' Position='781,332,200,200'/><node_position Node='-1230' Position='471,88,200,200'/><node_position Node='-40' Position='-114,309,200,200'/><node_position Node='-51' Position='157,824,200,200'/><node_position Node='-55' Position='-86,467,200,200'/><node_position Node='-4158' Position='452,353,200,200'/><node_position Node='-315' Position='695,704,200,200'/><node_position Node='-322' Position='287,443,200,200'/><node_position Node='-329' Position='112,704,200,200'/><node_position Node='-336' Position='766,455,200,200'/><node_position Node='-690' Position='425,1028,200,200'/><node_position Node='-1061' Position='452,864,200,200'/><node_position Node='-141' Position='441,1119,200,200'/><node_position Node='-2032' Position='248,564,200,200'/><node_position Node='-2041' Position='749,573,200,200'/><node_position Node='-236' Position='809,-554,200,200'/><node_position Node='-241' Position='626,-459,200,200'/><node_position Node='-248' Position='615,-377,200,200'/><node_position Node='-257' Position='667,-178,200,200'/><node_position Node='-1523' Position='-134,-558,200,200'/><node_position Node='-1531' Position='175,-544,200,200'/><node_position Node='-1536' Position='-7,-449,200,200'/><node_position Node='-1543' Position='-18,-366,200,200'/><node_position Node='-1552' Position='11,156,200,200'/><node_position Node='-223' Position='594,-667,200,200'/><node_position Node='-2201' Position='752,810,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
[2021-10-25 10:41:55.465577] INFO: moduleinvoker: input_features.v1 开始运行..
[2021-10-25 10:41:55.499337] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.501644] INFO: moduleinvoker: input_features.v1 运行完成[0.036079s].
[2021-10-25 10:41:55.507968] INFO: moduleinvoker: input_features.v1 开始运行..
[2021-10-25 10:41:55.516981] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.518992] INFO: moduleinvoker: input_features.v1 运行完成[0.011017s].
[2021-10-25 10:41:55.525350] INFO: moduleinvoker: input_features.v1 开始运行..
[2021-10-25 10:41:55.535115] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.536713] INFO: moduleinvoker: input_features.v1 运行完成[0.011402s].
[2021-10-25 10:41:55.541807] INFO: moduleinvoker: input_features.v1 开始运行..
[2021-10-25 10:41:55.547378] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.549194] INFO: moduleinvoker: input_features.v1 运行完成[0.007387s].
[2021-10-25 10:41:55.555820] INFO: moduleinvoker: instruments.v2 开始运行..
[2021-10-25 10:41:55.564278] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.565531] INFO: moduleinvoker: instruments.v2 运行完成[0.009709s].
[2021-10-25 10:41:55.568943] INFO: moduleinvoker: input_features.v1 开始运行..
[2021-10-25 10:41:55.573293] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.574568] INFO: moduleinvoker: input_features.v1 运行完成[0.005624s].
[2021-10-25 10:41:55.586148] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-10-25 10:41:55.594375] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.596381] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.010221s].
[2021-10-25 10:41:55.606917] INFO: moduleinvoker: filter.v3 开始运行..
[2021-10-25 10:41:55.624080] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.626587] INFO: moduleinvoker: filter.v3 运行完成[0.019668s].
[2021-10-25 10:41:55.643499] INFO: moduleinvoker: cached.v3 开始运行..
[2021-10-25 10:41:55.652952] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.654455] INFO: moduleinvoker: cached.v3 运行完成[0.010988s].
[2021-10-25 10:41:55.660379] INFO: moduleinvoker: feature_extractor_1m.v2 开始运行..
[2021-10-25 10:41:55.665170] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.666331] INFO: moduleinvoker: feature_extractor_1m.v2 运行完成[0.005952s].
[2021-10-25 10:41:55.677771] INFO: moduleinvoker: advanced_auto_labeler.v2 开始运行..
[2021-10-25 10:41:55.704146] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.707011] INFO: moduleinvoker: advanced_auto_labeler.v2 运行完成[0.029222s].
[2021-10-25 10:41:55.721155] INFO: moduleinvoker: join.v3 开始运行..
[2021-10-25 10:41:55.730484] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.732945] INFO: moduleinvoker: join.v3 运行完成[0.0118s].
[2021-10-25 10:41:55.748808] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-10-25 10:41:55.758692] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.760350] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.011579s].
[2021-10-25 10:41:55.768224] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2021-10-25 10:41:55.777478] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.779532] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.011308s].
[2021-10-25 10:41:55.788468] INFO: moduleinvoker: join.v3 开始运行..
[2021-10-25 10:41:55.798979] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.801929] INFO: moduleinvoker: join.v3 运行完成[0.013438s].
[2021-10-25 10:41:55.814976] INFO: moduleinvoker: dropnan.v2 开始运行..
[2021-10-25 10:41:55.826802] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.829479] INFO: moduleinvoker: dropnan.v2 运行完成[0.014513s].
[2021-10-25 10:41:55.836575] INFO: moduleinvoker: instruments.v2 开始运行..
[2021-10-25 10:41:55.843698] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.845819] INFO: moduleinvoker: instruments.v2 运行完成[0.009251s].
[2021-10-25 10:41:55.858167] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-10-25 10:41:55.864096] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.865852] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.007689s].
[2021-10-25 10:41:55.875334] INFO: moduleinvoker: filter.v3 开始运行..
[2021-10-25 10:41:55.880840] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.882531] INFO: moduleinvoker: filter.v3 运行完成[0.007195s].
[2021-10-25 10:41:55.893473] INFO: moduleinvoker: cached.v3 开始运行..
[2021-10-25 10:41:55.901424] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.903827] INFO: moduleinvoker: cached.v3 运行完成[0.010359s].
[2021-10-25 10:41:55.913816] INFO: moduleinvoker: feature_extractor_1m.v2 开始运行..
[2021-10-25 10:41:55.921708] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.923500] INFO: moduleinvoker: feature_extractor_1m.v2 运行完成[0.009719s].
[2021-10-25 10:41:55.940078] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2021-10-25 10:41:55.949942] INFO: moduleinvoker: 命中缓存
[2021-10-25 10:41:55.951798] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.01174s].
[2021-10-25 10:41:55.958797] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2021-10-25 10:41:56.119059] INFO: derived_feature_extractor: 提取完成 avg_amount_5/avg_amount_10, 0.003s
[2021-10-25 10:41:56.123567] INFO: derived_feature_extractor: 提取完成 return_5/return_10, 0.002s
[2021-10-25 10:41:56.127590] INFO: derived_feature_extractor: 提取完成 turn_5/avg_turn_10, 0.002s
[2021-10-25 10:41:56.130559] INFO: derived_feature_extractor: 提取完成 avg_amount_0/avg_amount_5, 0.001s
[2021-10-25 10:41:56.134087] INFO: derived_feature_extractor: 提取完成 swing_volatility_5_0/swing_volatility_60_0, 0.002s
[2021-10-25 10:41:56.138227] INFO: derived_feature_extractor: 提取完成 amount_10/amount_30, 0.002s
[2021-10-25 10:41:56.141767] INFO: derived_feature_extractor: 提取完成 ta_ema_5_0/close_0, 0.002s
[2021-10-25 10:41:56.145651] INFO: derived_feature_extractor: 提取完成 close_0/low_0, 0.002s
[2021-10-25 10:41:56.148762] INFO: derived_feature_extractor: 提取完成 ta_ema_20_0/close_0, 0.002s
[2021-10-25 10:41:56.152148] INFO: derived_feature_extractor: 提取完成 open_0/close_1, 0.002s
[2021-10-25 10:41:56.154397] INFO: derived_feature_extractor: 提取完成 high_1/close_0, 0.001s
[2021-10-25 10:41:56.156443] INFO: derived_feature_extractor: 提取完成 ta_ema_30_0/close_0, 0.001s
[2021-10-25 10:41:56.869820] INFO: derived_feature_extractor: 提取完成 ta_rsi(close_0, 6), 0.712s
[2021-10-25 10:41:56.872978] INFO: derived_feature_extractor: 提取完成 amount_0/amount_1, 0.001s
[2021-10-25 10:41:56.876269] INFO: derived_feature_extractor: 提取完成 riskOK=where(abs((close_1-open_1)/open_1)<0.09, 1,0) #前一天是否有极端行情, 0.002s
[2021-10-25 10:41:57.041050] INFO: derived_feature_extractor: /y_2021, 28912
[2021-10-25 10:41:57.131161] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[1.17235s].
[2021-10-25 10:41:57.141194] INFO: moduleinvoker: join.v3 开始运行..
[2021-10-25 10:41:57.360552] INFO: join: /y_2021, 行数=499/28912, 耗时=0.144228s
[2021-10-25 10:41:57.393120] INFO: join: 最终行数: 499
[2021-10-25 10:41:57.399951] INFO: moduleinvoker: join.v3 运行完成[0.258728s].
[2021-10-25 10:41:57.411549] INFO: moduleinvoker: dropnan.v2 开始运行..
[2021-10-25 10:41:57.491819] INFO: dropnan: /y_2021, 496/499
[2021-10-25 10:41:57.521344] INFO: dropnan: 行数: 496/499
[2021-10-25 10:41:57.528272] INFO: moduleinvoker: dropnan.v2 运行完成[0.116734s].
[2021-10-25 10:41:57.540504] INFO: moduleinvoker: lightgbm.v2 开始运行..
[2021-10-25 10:41:59.002122] INFO: moduleinvoker: lightgbm.v2 运行完成[1.461633s].
[2021-10-25 10:42:00.902884] INFO: moduleinvoker: backtest.v8 开始运行..
[2021-10-25 10:42:00.910199] INFO: backtest: biglearning backtest:V8.5.0
[2021-10-25 10:42:00.911925] INFO: backtest: product_type:stock by specified
[2021-10-25 10:42:00.997058] INFO: moduleinvoker: cached.v2 开始运行..
[2021-10-25 10:42:02.046552] INFO: backtest: 读取股票行情完成:204614
[2021-10-25 10:42:02.492260] INFO: moduleinvoker: cached.v2 运行完成[1.49523s].
[2021-10-25 10:42:02.773610] INFO: algo: TradingAlgorithm V1.8.5
[2021-10-25 10:42:02.886929] INFO: algo: trading transform...
[2021-10-25 10:42:02.936704] INFO: Performance: Simulated 1 trading days out of 1.
[2021-10-25 10:42:02.938924] INFO: Performance: first open: 2021-10-22 09:30:00+00:00
[2021-10-25 10:42:02.940601] INFO: Performance: last close: 2021-10-22 15:00:00+00:00
[2021-10-25 10:42:05.018753] INFO: moduleinvoker: backtest.v8 运行完成[4.115862s].
[2021-10-25 10:42:05.020935] INFO: moduleinvoker: trade.v4 运行完成[6.006686s].
- 收益率0.0%
- 年化收益率0.0%
- 基准收益率0.64%
- 阿尔法0
- 贝塔0
- 夏普比率0
- 胜率0.0
- 盈亏比0.0
- 收益波动率0%
- 信息比率0
- 最大回撤0.0%
bigcharts-data-start/{"__type":"tabs","__id":"bigchart-aeae573432924d3eb96b4982d201cd31"}/bigcharts-data-end