{"description":"实验创建于2017/8/26","graph":{"edges":[{"to_node_id":"-202:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-209:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-202:instruments","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62:data"},{"to_node_id":"-370:instruments","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62:data"},{"to_node_id":"-209:input_data","from_node_id":"-202:data"},{"to_node_id":"-2917:input_data","from_node_id":"-209:data"},{"to_node_id":"-370:options_data","from_node_id":"-1575:data"},{"to_node_id":"-1575:input_data","from_node_id":"-2917:data"}],"nodes":[{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"buy_condition =1\n\nsell_condition =1\n\n\n","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":1,"comment":"","comment_collapsed":true},{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-62","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2022-01-01","type":"Literal","bound_global_parameter":"交易日期"},{"name":"end_date","value":"2022-03-11","type":"Literal","bound_global_parameter":"交易日期"},{"name":"market","value":"CN_STOCK_A","type":"Literal","bound_global_parameter":null},{"name":"instrument_list","value":"000001.SZA","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":2,"comment":"预测数据,用于回测和模拟","comment_collapsed":true},{"node_id":"-202","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":"200","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-202"},{"name":"features","node_id":"-202"}],"output_ports":[{"name":"data","node_id":"-202"}],"cacheable":true,"seq_num":7,"comment":"","comment_collapsed":true},{"node_id":"-209","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":"-209"},{"name":"features","node_id":"-209"}],"output_ports":[{"name":"data","node_id":"-209"}],"cacheable":true,"seq_num":8,"comment":"","comment_collapsed":true},{"node_id":"-1575","module_id":"BigQuantSpace.dropnan.dropnan-v2","parameters":[],"input_ports":[{"name":"input_data","node_id":"-1575"},{"name":"features","node_id":"-1575"}],"output_ports":[{"name":"data","node_id":"-1575"}],"cacheable":true,"seq_num":4,"comment":"","comment_collapsed":true},{"node_id":"-2917","module_id":"BigQuantSpace.chinaa_stock_filter.chinaa_stock_filter-v1","parameters":[{"name":"index_constituent_cond","value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%8150%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%8150%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B2%AA%E6%B7%B1300%22%2C%22displayValue%22%3A%22%E6%B2%AA%E6%B7%B1300%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81500%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81500%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81800%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81800%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%81180%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%81180%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%AD%E8%AF%81100%22%2C%22displayValue%22%3A%22%E4%B8%AD%E8%AF%81100%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B7%B1%E8%AF%81100%22%2C%22displayValue%22%3A%22%E6%B7%B1%E8%AF%81100%22%2C%22selected%22%3Afalse%7D%5D%7D","type":"Literal","bound_global_parameter":null},{"name":"board_cond","value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%B8%8A%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22displayValue%22%3A%22%E4%B8%8A%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E6%B7%B1%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22displayValue%22%3A%22%E6%B7%B1%E8%AF%81%E4%B8%BB%E6%9D%BF%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E5%88%9B%E4%B8%9A%E6%9D%BF%22%2C%22displayValue%22%3A%22%E5%88%9B%E4%B8%9A%E6%9D%BF%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%A7%91%E5%88%9B%E6%9D%BF%22%2C%22displayValue%22%3A%22%E7%A7%91%E5%88%9B%E6%9D%BF%22%2C%22selected%22%3Afalse%7D%5D%7D","type":"Literal","bound_global_parameter":null},{"name":"industry_cond","value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E4%BA%A4%E9%80%9A%E8%BF%90%E8%BE%93%22%2C%22displayValue%22%3A%22%E4%BA%A4%E9%80%9A%E8%BF%90%E8%BE%93%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%BC%91%E9%97%B2%E6%9C%8D%E5%8A%A1%22%2C%22displayValue%22%3A%22%E4%BC%91%E9%97%B2%E6%9C%8D%E5%8A%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E4%BC%A0%E5%AA%92%2F%E4%BF%A1%E6%81%AF%E6%9C%8D%E5%8A%A1%22%2C%22displayValue%22%3A%22%E4%BC%A0%E5%AA%92%2F%E4%BF%A1%E6%81%AF%E6%9C%8D%E5%8A%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%85%AC%E7%94%A8%E4%BA%8B%E4%B8%9A%22%2C%22displayValue%22%3A%22%E5%85%AC%E7%94%A8%E4%BA%8B%E4%B8%9A%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%86%9C%E6%9E%97%E7%89%A7%E6%B8%94%22%2C%22displayValue%22%3A%22%E5%86%9C%E6%9E%97%E7%89%A7%E6%B8%94%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%8C%96%E5%B7%A5%22%2C%22displayValue%22%3A%22%E5%8C%96%E5%B7%A5%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%8C%BB%E8%8D%AF%E7%94%9F%E7%89%A9%22%2C%22displayValue%22%3A%22%E5%8C%BB%E8%8D%AF%E7%94%9F%E7%89%A9%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%95%86%E4%B8%9A%E8%B4%B8%E6%98%93%22%2C%22displayValue%22%3A%22%E5%95%86%E4%B8%9A%E8%B4%B8%E6%98%93%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%9B%BD%E9%98%B2%E5%86%9B%E5%B7%A5%22%2C%22displayValue%22%3A%22%E5%9B%BD%E9%98%B2%E5%86%9B%E5%B7%A5%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%AE%B6%E7%94%A8%E7%94%B5%E5%99%A8%22%2C%22displayValue%22%3A%22%E5%AE%B6%E7%94%A8%E7%94%B5%E5%99%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%BB%BA%E7%AD%91%E6%9D%90%E6%96%99%2F%E5%BB%BA%E7%AD%91%E5%BB%BA%E6%9D%90%22%2C%22displayValue%22%3A%22%E5%BB%BA%E7%AD%91%E6%9D%90%E6%96%99%2F%E5%BB%BA%E7%AD%91%E5%BB%BA%E6%9D%90%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E5%BB%BA%E7%AD%91%E8%A3%85%E9%A5%B0%22%2C%22displayValue%22%3A%22%E5%BB%BA%E7%AD%91%E8%A3%85%E9%A5%B0%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%88%BF%E5%9C%B0%E4%BA%A7%22%2C%22displayValue%22%3A%22%E6%88%BF%E5%9C%B0%E4%BA%A7%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9C%89%E8%89%B2%E9%87%91%E5%B1%9E%22%2C%22displayValue%22%3A%22%E6%9C%89%E8%89%B2%E9%87%91%E5%B1%9E%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9C%BA%E6%A2%B0%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E6%9C%BA%E6%A2%B0%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%B1%BD%E8%BD%A6%2F%E4%BA%A4%E8%BF%90%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E6%B1%BD%E8%BD%A6%2F%E4%BA%A4%E8%BF%90%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%94%B5%E5%AD%90%22%2C%22displayValue%22%3A%22%E7%94%B5%E5%AD%90%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%94%B5%E6%B0%94%E8%AE%BE%E5%A4%87%22%2C%22displayValue%22%3A%22%E7%94%B5%E6%B0%94%E8%AE%BE%E5%A4%87%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%BA%BA%E7%BB%87%E6%9C%8D%E8%A3%85%22%2C%22displayValue%22%3A%22%E7%BA%BA%E7%BB%87%E6%9C%8D%E8%A3%85%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E7%BB%BC%E5%90%88%22%2C%22displayValue%22%3A%22%E7%BB%BC%E5%90%88%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E8%AE%A1%E7%AE%97%E6%9C%BA%22%2C%22displayValue%22%3A%22%E8%AE%A1%E7%AE%97%E6%9C%BA%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E8%BD%BB%E5%B7%A5%E5%88%B6%E9%80%A0%22%2C%22displayValue%22%3A%22%E8%BD%BB%E5%B7%A5%E5%88%B6%E9%80%A0%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%80%9A%E4%BF%A1%22%2C%22displayValue%22%3A%22%E9%80%9A%E4%BF%A1%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%87%87%E6%8E%98%22%2C%22displayValue%22%3A%22%E9%87%87%E6%8E%98%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%92%A2%E9%93%81%22%2C%22displayValue%22%3A%22%E9%92%A2%E9%93%81%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%93%B6%E8%A1%8C%22%2C%22displayValue%22%3A%22%E9%93%B6%E8%A1%8C%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%9D%9E%E9%93%B6%E9%87%91%E8%9E%8D%22%2C%22displayValue%22%3A%22%E9%9D%9E%E9%93%B6%E9%87%91%E8%9E%8D%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%A3%9F%E5%93%81%E9%A5%AE%E6%96%99%22%2C%22displayValue%22%3A%22%E9%A3%9F%E5%93%81%E9%A5%AE%E6%96%99%22%2C%22selected%22%3Afalse%7D%5D%7D","type":"Literal","bound_global_parameter":null},{"name":"st_cond","value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%AD%A3%E5%B8%B8%22%2C%22displayValue%22%3A%22%E6%AD%A3%E5%B8%B8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22ST%22%2C%22displayValue%22%3A%22ST%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22*ST%22%2C%22displayValue%22%3A%22*ST%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E6%9A%82%E5%81%9C%E4%B8%8A%E5%B8%82%22%2C%22displayValue%22%3A%22%E6%9A%82%E5%81%9C%E4%B8%8A%E5%B8%82%22%2C%22selected%22%3Afalse%7D%5D%7D","type":"Literal","bound_global_parameter":null},{"name":"delist_cond","value":"%7B%22enumItems%22%3A%5B%7B%22value%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22displayValue%22%3A%22%E5%85%A8%E9%83%A8%22%2C%22selected%22%3Atrue%7D%2C%7B%22value%22%3A%22%E9%80%80%E5%B8%82%22%2C%22displayValue%22%3A%22%E9%80%80%E5%B8%82%22%2C%22selected%22%3Afalse%7D%2C%7B%22value%22%3A%22%E9%9D%9E%E9%80%80%E5%B8%82%22%2C%22displayValue%22%3A%22%E9%9D%9E%E9%80%80%E5%B8%82%22%2C%22selected%22%3Afalse%7D%5D%7D","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":"-2917"}],"output_ports":[{"name":"data","node_id":"-2917"},{"name":"left_data","node_id":"-2917"}],"cacheable":true,"seq_num":5,"comment":"","comment_collapsed":true},{"node_id":"-370","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 from zipline.finance.slippage import SlippageModel\n\n # 系统已经设置了默认的交易手续费和滑点,要修改手续费可使用如下函数\n context.set_commission(PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5))\n #context.set_commission(PerOrder(buy_cost=0.00001, sell_cost=0.0001, min_cost=1))\n \n # 设置买入的股票数量,这里买入预测股票列表排名靠前的5只\n context.stock_count = 5\n # 每只的股票的权重,如下的权重分配会使得靠前的股票分配多一点的资金,[0.339160, 0.213986, 0.169580, ..]\n #context.stock_weights = T.norm([1 / math.log(i + 2) for i in range(0, stock_count)])\n # 每只股票的权重平均分配\n context.stock_weights = 1/context.stock_count\n context.options['hold_days'] = 15\n \n# class FixedPriceSlippage(SlippageModel):\n# def process_order(self, data, order, bar_volume=0, trigger_check_price=0):\n# if order.amount > 0:\n# open_price = data.current(order.asset, self._price_field_buy)\n# price = open_price \n# else:\n# price = data.current(order.asset, self._price_field_sell)\n# return (price, order.amount)\n# context.fix_slippage = FixedPriceSlippage(price_field_buy=\"open\", price_field_sell=\"close\")\n# context.set_slippage(us_equities=context.fix_slippage)\n \n\n","type":"Literal","bound_global_parameter":null},{"name":"handle_data","value":"# 回测引擎:每日数据处理函数,每天执行一次\ndef bigquant_run(context, data):\n today = data.current_dt.strftime('%Y-%m-%d')\n equities = {e.symbol: p for e, p in context.portfolio.positions.items() if p.amount>0}\n stock_now = len(equities); #获取当前持仓股票数量\n stock_count = context.stock_count\n \n print(data.current_dt)\n now_stock = []\n sell_stock = []\n try:\n sell_list = context.daily_sell_stock[today]\n except:\n sell_list = [] \n try:\n buy_list = context.daily_buy_stock[today]\n except:\n buy_list = []\n \n \n # 1. 资金分配\n #is_staging = context.trading_day_index < context.options['hold_days'] # 是否在建仓期间(前 hold_days 天) \n #stock_cash = context.portfolio.portfolio_value/stock_count\n #cash_avg = context.portfolio.portfolio_value\n #cash_for_buy = min(context.portfolio.cash, stock_cash)\n #cash_for_sell = cash_avg - (context.portfolio.cash - cash_for_buy)\n #print('今日选股:',buy_list)\n positions = {e.symbol: p.cost_basis\n for e, p in context.perf_tracker.position_tracker.positions.items()}\n \n #if not is_staging :\n if 1==1 : \n if len(equities) > 0:\n for i in equities.keys():\n last_sale_date = equities[i].last_sale_date\t# 上次交易日期\n delta_days = data.current_dt - last_sale_date \n hold_days = delta_days.days # 持仓天数\n stock_cost = positions[i] \n stock_market_price = data.current(context.symbol(i), 'price') \n #在列表不卖,持仓小于1天不卖,\n if i not in buy_list and hold_days>0:\n if hold_days >= context.options['hold_days'] or i in sell_list:\n context.order_target(context.symbol(i), 0)\n sell_stock.append(i)\n stock_now = stock_now -1\n \n# 3. 生成买入订单\n buy_num = stock_count - stock_now\n #if is_staging :\n # buy_num = 1\n if len(buy_list)>0:\n print('日期:', today, '选出股票数量:', len(buy_list))\n if buy_num>0 and len(buy_list)>0 :\n # 不再买入已经轮仓卖出和移动止损的股票,以防止出现空头持仓\n buy_instruments = [i for i in buy_list if i not in now_stock][:buy_num]\n cash_for_buy = context.portfolio.cash\n if stock_now<1:\n cash_for_buy = context.portfolio.cash * context.stock_weights\n for i, instrument in enumerate(buy_instruments):\n current_price = data.current(context.symbol(instrument), 'price')\n price_history = data.history(context.symbol(instrument), fields=\"close\", bar_count=2, frequency=\"1d\")\n pre_close = price_history[0]\n #print('股票:',instrument,'开盘价格:', current_price, '昨日收盘:',pre_close)\n #高开不买\n if cash_for_buy>0 and data.can_trade(context.symbol(instrument)): \n amount = math.floor(cash_for_buy / current_price / 100) * 100\n context.order(context.symbol(instrument), amount)\n #if(instrument=='002735.SZA'):\n #print('日期:',today,'买入:',instrument)\n else :\n print('日期:',today,'无资金或不能交易未买入:',instrument)","type":"Literal","bound_global_parameter":null},{"name":"prepare","value":"# 回测引擎:准备数据,只执行一次\ndef bigquant_run(context):\n # 加载预测数据\n df = context.options['data'].read_df()\n # 函数:求满足开仓条件的股票列表\n def open_pos_con(df):\n return list(df[df['buy_condition']>0].instrument)\n # 函数:求满足平仓条件的股票列表\n def close_pos_con(df):\n return list(df[df['sell_condition']>0].instrument)\n \n # 每日卖出股票的数据框\n context.daily_sell_stock= df.groupby('date').apply(close_pos_con) \n # 每日买入股票的数据框\n context.daily_buy_stock= df.groupby('date').apply(open_pos_con) \n\n\n \n","type":"Literal","bound_global_parameter":null},{"name":"before_trading_start","value":"# 判断订单股票的最低价是否低于开盘价的98%\ndef bigquant_run(context,data):\n for orders in get_open_orders().values():\n for _order in orders:\n ins = _order.sid\n print(\"order:\",_order)\n re = context.cancel_order(_order)\n print(f\"{data.current_dt}取消订单{ins}\")\n \n# try:\n\n# except:\n# continue","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":"open","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.HIX","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-370"},{"name":"options_data","node_id":"-370"},{"name":"history_ds","node_id":"-370"},{"name":"benchmark_ds","node_id":"-370"},{"name":"trading_calendar","node_id":"-370"}],"output_ports":[{"name":"raw_perf","node_id":"-370"}],"cacheable":false,"seq_num":10,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-24' Position='1285,87,200,200'/><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-62' Position='804,92,200,200'/><node_position Node='-202' Position='1079,228,200,200'/><node_position Node='-209' Position='1083,308.99176025390625,200,200'/><node_position Node='-1575' Position='1077,451,200,200'/><node_position Node='-2917' Position='1080,381,200,200'/><node_position Node='-370' Position='1030.123779296875,563.7215576171875,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
[2022-03-15 10:29:29.809083] INFO: moduleinvoker: input_features.v1 开始运行..
[2022-03-15 10:29:29.820637] INFO: moduleinvoker: 命中缓存
[2022-03-15 10:29:29.822950] INFO: moduleinvoker: input_features.v1 运行完成[0.013881s].
[2022-03-15 10:29:29.831920] INFO: moduleinvoker: instruments.v2 开始运行..
[2022-03-15 10:29:29.842408] INFO: moduleinvoker: 命中缓存
[2022-03-15 10:29:29.843781] INFO: moduleinvoker: instruments.v2 运行完成[0.011862s].
[2022-03-15 10:29:29.862822] INFO: moduleinvoker: general_feature_extractor.v7 开始运行..
[2022-03-15 10:29:29.870019] INFO: moduleinvoker: 命中缓存
[2022-03-15 10:29:29.871295] INFO: moduleinvoker: general_feature_extractor.v7 运行完成[0.008485s].
[2022-03-15 10:29:29.878192] INFO: moduleinvoker: derived_feature_extractor.v3 开始运行..
[2022-03-15 10:29:29.884900] INFO: moduleinvoker: 命中缓存
[2022-03-15 10:29:29.886204] INFO: moduleinvoker: derived_feature_extractor.v3 运行完成[0.00801s].
[2022-03-15 10:29:29.893875] INFO: moduleinvoker: chinaa_stock_filter.v1 开始运行..
[2022-03-15 10:29:29.900306] INFO: moduleinvoker: 命中缓存
[2022-03-15 10:29:29.901617] INFO: moduleinvoker: chinaa_stock_filter.v1 运行完成[0.007737s].
[2022-03-15 10:29:29.909488] INFO: moduleinvoker: dropnan.v2 开始运行..
[2022-03-15 10:29:29.917413] INFO: moduleinvoker: 命中缓存
[2022-03-15 10:29:29.918695] INFO: moduleinvoker: dropnan.v2 运行完成[0.009203s].
[2022-03-15 10:29:29.969259] INFO: moduleinvoker: backtest.v8 开始运行..
[2022-03-15 10:29:29.975428] INFO: backtest: biglearning backtest:V8.6.1
[2022-03-15 10:29:30.457886] INFO: backtest: product_type:stock by specified
[2022-03-15 10:29:30.544365] INFO: moduleinvoker: cached.v2 开始运行..
[2022-03-15 10:29:30.556076] INFO: moduleinvoker: 命中缓存
[2022-03-15 10:29:30.559264] INFO: moduleinvoker: cached.v2 运行完成[0.014977s].
[2022-03-15 10:29:30.733824] INFO: algo: TradingAlgorithm V1.8.7
[2022-03-15 10:29:30.809019] INFO: algo: trading transform...
[2022-03-15 10:29:31.030676] INFO: Performance: Simulated 44 trading days out of 44.
[2022-03-15 10:29:31.034349] INFO: Performance: first open: 2022-01-04 09:30:00+00:00
[2022-03-15 10:29:31.035870] INFO: Performance: last close: 2022-03-11 15:00:00+00:00
[2022-03-15 10:29:39.743563] INFO: moduleinvoker: backtest.v8 运行完成[9.774289s].
[2022-03-15 10:29:39.745249] INFO: moduleinvoker: trade.v4 运行完成[9.821026s].
2022-01-04 15:00:00+00:00
日期: 2022-01-04 选出股票数量: 1
order: Event({'id': 'ac3b548319b849cdb4b4a87de64c5d81', 'dt': Timestamp('2022-01-05 09:30:00+0000', tz='UTC'), 'reason': None, 'created': Timestamp('2022-01-05 09:30:00+0000', tz='UTC'), 'amount': 1200, 'last_filled': 0, 'filled': 0, 'commission': 0, 'stop': None, 'limit': None, 'stop_reached': False, 'price_field': 'open', 'limit_reached': False, 'position_effect': None, 'offset_flag_display': '', 'sid': Equity(12 [000001.SZA]), 'status': 0})
2022-01-05 08:45:00+00:00取消订单Equity(12 [000001.SZA])
2022-01-05 15:00:00+00:00
日期: 2022-01-05 选出股票数量: 1
order: Event({'id': '835b87538a144bc484fbe7d281ecab1c', 'dt': Timestamp('2022-01-06 09:30:00+0000', tz='UTC'), 'reason': None, 'created': Timestamp('2022-01-06 09:30:00+0000', tz='UTC'), 'amount': 4600, 'last_filled': 0, 'filled': 0, 'commission': 0, 'stop': None, 'limit': None, 'stop_reached': False, 'price_field': 'open', 'limit_reached': False, 'position_effect': None, 'offset_flag_display': '', 'sid': Equity(12 [000001.SZA]), 'status': 0})
2022-01-06 08:45:00+00:00取消订单Equity(12 [000001.SZA])
2022-01-06 15:00:00+00:00
日期: 2022-01-06 选出股票数量: 1
2022-01-07 15:00:00+00:00
日期: 2022-01-07 选出股票数量: 1
2022-01-10 15:00:00+00:00
日期: 2022-01-10 选出股票数量: 1
2022-01-11 15:00:00+00:00
日期: 2022-01-11 选出股票数量: 1
2022-01-12 15:00:00+00:00
日期: 2022-01-12 选出股票数量: 1
2022-01-13 15:00:00+00:00
日期: 2022-01-13 选出股票数量: 1
2022-01-14 15:00:00+00:00
日期: 2022-01-14 选出股票数量: 1
2022-01-17 15:00:00+00:00
日期: 2022-01-17 选出股票数量: 1
2022-01-18 15:00:00+00:00
日期: 2022-01-18 选出股票数量: 1
2022-01-19 15:00:00+00:00
日期: 2022-01-19 选出股票数量: 1
2022-01-20 15:00:00+00:00
日期: 2022-01-20 选出股票数量: 1
2022-01-21 15:00:00+00:00
日期: 2022-01-21 选出股票数量: 1
2022-01-24 15:00:00+00:00
日期: 2022-01-24 选出股票数量: 1
2022-01-25 15:00:00+00:00
日期: 2022-01-25 选出股票数量: 1
2022-01-26 15:00:00+00:00
日期: 2022-01-26 选出股票数量: 1
2022-01-27 15:00:00+00:00
日期: 2022-01-27 选出股票数量: 1
2022-01-28 15:00:00+00:00
日期: 2022-01-28 选出股票数量: 1
2022-02-07 15:00:00+00:00
日期: 2022-02-07 选出股票数量: 1
2022-02-08 15:00:00+00:00
日期: 2022-02-08 选出股票数量: 1
2022-02-09 15:00:00+00:00
日期: 2022-02-09 选出股票数量: 1
2022-02-10 15:00:00+00:00
日期: 2022-02-10 选出股票数量: 1
2022-02-11 15:00:00+00:00
日期: 2022-02-11 选出股票数量: 1
2022-02-14 15:00:00+00:00
日期: 2022-02-14 选出股票数量: 1
2022-02-15 15:00:00+00:00
日期: 2022-02-15 选出股票数量: 1
2022-02-16 15:00:00+00:00
日期: 2022-02-16 选出股票数量: 1
2022-02-17 15:00:00+00:00
日期: 2022-02-17 选出股票数量: 1
2022-02-18 15:00:00+00:00
日期: 2022-02-18 选出股票数量: 1
2022-02-21 15:00:00+00:00
日期: 2022-02-21 选出股票数量: 1
2022-02-22 15:00:00+00:00
日期: 2022-02-22 选出股票数量: 1
2022-02-23 15:00:00+00:00
日期: 2022-02-23 选出股票数量: 1
2022-02-24 15:00:00+00:00
日期: 2022-02-24 选出股票数量: 1
2022-02-25 15:00:00+00:00
日期: 2022-02-25 选出股票数量: 1
2022-02-28 15:00:00+00:00
日期: 2022-02-28 选出股票数量: 1
2022-03-01 15:00:00+00:00
日期: 2022-03-01 选出股票数量: 1
2022-03-02 15:00:00+00:00
日期: 2022-03-02 选出股票数量: 1
2022-03-03 15:00:00+00:00
日期: 2022-03-03 选出股票数量: 1
2022-03-04 15:00:00+00:00
日期: 2022-03-04 选出股票数量: 1
2022-03-07 15:00:00+00:00
日期: 2022-03-07 选出股票数量: 1
2022-03-08 15:00:00+00:00
日期: 2022-03-08 选出股票数量: 1
2022-03-09 15:00:00+00:00
日期: 2022-03-09 选出股票数量: 1
2022-03-10 15:00:00+00:00
日期: 2022-03-10 选出股票数量: 1
2022-03-11 15:00:00+00:00
日期: 2022-03-11 选出股票数量: 1
- 收益率-12.21%
- 年化收益率-52.57%
- 基准收益率-12.83%
- 阿尔法0.15
- 贝塔1.08
- 夏普比率-2.18
- 胜率0.0
- 盈亏比0.0
- 收益波动率33.02%
- 信息比率0.02
- 最大回撤20.23%
bigcharts-data-start/{"__type":"tabs","__id":"bigchart-f5aa89ffcd584858927c87f1e95239d1"}/bigcharts-data-end