复制链接
克隆策略

    {"description":"实验创建于2017/8/26","graph":{"edges":[{"to_node_id":"-274:instruments","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8:data"},{"to_node_id":"-638:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-274:features","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-2247:input_1","from_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:data"},{"to_node_id":"-132:input_data","from_node_id":"-274:data"},{"to_node_id":"-638:input_data","from_node_id":"-132:data"},{"to_node_id":"-4087:training_ds","from_node_id":"-4123:data"},{"to_node_id":"-4087:predict_ds","from_node_id":"-4123:left_data"},{"to_node_id":"-4123:input_data","from_node_id":"-1797:data_1"},{"to_node_id":"-4087:features","from_node_id":"-2247:data_1"},{"to_node_id":"-1797:input_1","from_node_id":"-638:data"},{"to_node_id":"-2562:predictions","from_node_id":"-4087:predictions"},{"to_node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-24:features_ds","from_node_id":"-8701:data"}],"nodes":[{"node_id":"287d2cb0-f53c-4101-bdf8-104b137c8601-8","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2015-06-01","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"2023-10-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-24","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"\n\nlabel = where(shift(high_0, -1) == shift(low_0, -1), NaN, where(shift(close_0,-2)>shift(open_0,-1),1,0))\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":3,"comment":"","comment_collapsed":true},{"node_id":"-274","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":"100","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-274"},{"name":"features","node_id":"-274"}],"output_ports":[{"name":"data","node_id":"-274"}],"cacheable":true,"seq_num":15,"comment":"","comment_collapsed":true},{"node_id":"-132","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%3Atrue%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%22ST%22%2C%22displayValue%22%3A%22ST%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%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%3Afalse%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%3Atrue%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":"-132"}],"output_ports":[{"name":"data","node_id":"-132"},{"name":"left_data","node_id":"-132"}],"cacheable":true,"seq_num":5,"comment":"","comment_collapsed":true},{"node_id":"-4123","module_id":"BigQuantSpace.filter.filter-v3","parameters":[{"name":"expr","value":"date<'2022-01-01'","type":"Literal","bound_global_parameter":null},{"name":"output_left_data","value":"True","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-4123"}],"output_ports":[{"name":"data","node_id":"-4123"},{"name":"left_data","node_id":"-4123"}],"cacheable":true,"seq_num":11,"comment":"","comment_collapsed":true},{"node_id":"-1797","module_id":"BigQuantSpace.replace_inf_dropna.replace_inf_dropna-v1","parameters":[],"input_ports":[{"name":"input_1","node_id":"-1797"}],"output_ports":[{"name":"data_1","node_id":"-1797"}],"cacheable":true,"seq_num":14,"comment":"","comment_collapsed":true},{"node_id":"-2247","module_id":"BigQuantSpace.features_short_user.features_short_user-v2","parameters":[],"input_ports":[{"name":"input_1","node_id":"-2247"}],"output_ports":[{"name":"data_1","node_id":"-2247"}],"cacheable":true,"seq_num":24,"comment":"","comment_collapsed":true},{"node_id":"-638","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":"import numpy\n\ndef add(df,x1,x2):\n return np.add(x1,x2)\ndef sub(df,x1,x2):\n return np.subtract(x1,x2)\ndef mul(df,x1,x2):\n return np.multiply(x1,x2) \ndef div(df,x1, x2):\n with np.errstate(divide='ignore', invalid='ignore'):\n return np.where(np.abs(x2) > 0.001, np.divide(x1, x2), 1.)\nbigquant_run = {\n 'add':add,\n 'sub':sub,\n 'mul':mul,\n 'div':div\n \n}","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-638"},{"name":"features","node_id":"-638"}],"output_ports":[{"name":"data","node_id":"-638"}],"cacheable":true,"seq_num":7,"comment":"","comment_collapsed":true},{"node_id":"-2562","module_id":"BigQuantSpace.metrics_classification.metrics_classification-v1","parameters":[],"input_ports":[{"name":"predictions","node_id":"-2562"}],"output_ports":[{"name":"data","node_id":"-2562"}],"cacheable":true,"seq_num":2,"comment":"","comment_collapsed":true},{"node_id":"-4087","module_id":"BigQuantSpace.random_forest_classifier.random_forest_classifier-v1","parameters":[{"name":"iterations","value":"100","type":"Literal","bound_global_parameter":null},{"name":"feature_fraction","value":"0.9","type":"Literal","bound_global_parameter":null},{"name":"max_depth","value":"30","type":"Literal","bound_global_parameter":null},{"name":"min_samples_per_leaf","value":"200","type":"Literal","bound_global_parameter":null},{"name":"key_cols","value":"date,instrument","type":"Literal","bound_global_parameter":null},{"name":"workers","value":"8","type":"Literal","bound_global_parameter":null},{"name":"random_state","value":0,"type":"Literal","bound_global_parameter":null},{"name":"other_train_parameters","value":"{}","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"training_ds","node_id":"-4087"},{"name":"features","node_id":"-4087"},{"name":"model","node_id":"-4087"},{"name":"predict_ds","node_id":"-4087"}],"output_ports":[{"name":"output_model","node_id":"-4087"},{"name":"predictions","node_id":"-4087"}],"cacheable":true,"seq_num":4,"comment":"","comment_collapsed":true},{"node_id":"-8701","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"#","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-8701"}],"output_ports":[{"name":"data","node_id":"-8701"}],"cacheable":true,"seq_num":12,"comment":"","comment_collapsed":true},{"node_id":"-1452","module_id":"BigQuantSpace.hyper_parameter_search.hyper_parameter_search-v1","parameters":[{"name":"param_grid_builder","value":"def bigquant_run():\n param_grid = {}\n\n \n param_grid['m12.features'] = [\n\n\"\"\"\nAlpha_3=min(ts_max(hf_corr_vp_5, 5), close)\n\"\"\",\n\"\"\"\nAlpha_3=sum(hf_ratio_volume_4, 8)\n\"\"\",\n\"\"\"\nAlpha_3=max(rank(hf_real_std_3), (correlation(amount_0, return_0, 7)))\n\"\"\",\n\"\"\"\nAlpha_3=max(hf_ratio_volume_5, ts_min(sum(hf_corr_vp_8, 1), 7))\n\"\"\",\n\"\"\"\nAlpha_3=max(hf_ratio_volume_2, hf_real_kurtosis_6)\n\"\"\",\n\"\"\"\nAlpha_3=std(ts_max(hf_real_kurtosis_6, 2), 8)\n\"\"\",\n\"\"\"\nAlpha_3=abs(add(hf_ret_in_7, hf_buy_value_act/amount_0))\n\"\"\"\n\n\n ]\n return param_grid\n","type":"Literal","bound_global_parameter":null},{"name":"scoring","value":"def bigquant_run(result):\n df = result.get('m2').data.read_pickle()\n accuracy = df['accuracy_and_loss']['value']['accu_score']\n return {'准确率':accuracy}\n \n\n","type":"Literal","bound_global_parameter":null},{"name":"search_algorithm","value":"网格搜索","type":"Literal","bound_global_parameter":null},{"name":"search_iterations","value":10,"type":"Literal","bound_global_parameter":null},{"name":"random_state","value":"","type":"Literal","bound_global_parameter":null},{"name":"workers","value":"1","type":"Literal","bound_global_parameter":null},{"name":"worker_distributed_run","value":"False","type":"Literal","bound_global_parameter":null},{"name":"worker_silent","value":"False","type":"Literal","bound_global_parameter":null},{"name":"run_now","value":"True","type":"Literal","bound_global_parameter":null},{"name":"bq_graph","value":"True","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"bq_graph_port","node_id":"-1452"},{"name":"input_1","node_id":"-1452"},{"name":"input_2","node_id":"-1452"},{"name":"input_3","node_id":"-1452"}],"output_ports":[{"name":"result","node_id":"-1452"}],"cacheable":false,"seq_num":9,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-8' Position='-588,-791,200,200'/><node_position Node='287d2cb0-f53c-4101-bdf8-104b137c8601-24' Position='-168,-803,200,200'/><node_position Node='-274' Position='-599,-611,200,200'/><node_position Node='-132' Position='-570,-497,200,200'/><node_position Node='-4123' Position='-566,-90,200,200'/><node_position Node='-1797' Position='-585,-199,200,200'/><node_position Node='-2247' Position='-136,-393,200,200'/><node_position Node='-638' Position='-568,-379,200,200'/><node_position Node='-2562' Position='-79,308,200,200'/><node_position Node='-4087' Position='-340,150,200,200'/><node_position Node='-8701' Position='-55,-918,200,200'/><node_position Node='-1452' Position='-31.048919677734375,-46,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
    In [1]:
    # 本代码由可视化策略环境自动生成 2023年11月15日 16:40
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    import numpy
    
    def add(df,x1,x2):
        return np.add(x1,x2)
    def sub(df,x1,x2):
        return np.subtract(x1,x2)
    def mul(df,x1,x2):
        return np.multiply(x1,x2)   
    def div(df,x1, x2):
        with np.errstate(divide='ignore', invalid='ignore'):
            return np.where(np.abs(x2) > 0.001, np.divide(x1, x2), 1.)
    m7_user_functions_bigquant_run = {
        'add':add,
        'sub':sub,
        'mul':mul,
        'div':div
        
    }
    
    g = T.Graph({
    
        'm1': 'M.instruments.v2',
        'm1.start_date': '2015-06-01',
        'm1.end_date': '2023-10-31',
        'm1.market': 'CN_STOCK_A',
        'm1.instrument_list': '',
        'm1.max_count': 0,
    
        'm12': 'M.input_features.v1',
        'm12.features': '#',
    
        'm3': 'M.input_features.v1',
        'm3.features_ds': T.Graph.OutputPort('m12.data'),
        'm3.features': """
    
    label = where(shift(high_0, -1) == shift(low_0, -1), NaN, where(shift(close_0,-2)>shift(open_0,-1),1,0))
    
    """,
    
        'm15': 'M.general_feature_extractor.v7',
        'm15.instruments': T.Graph.OutputPort('m1.data'),
        'm15.features': T.Graph.OutputPort('m3.data'),
        'm15.start_date': '',
        'm15.end_date': '',
        'm15.before_start_days': 100,
    
        'm5': 'M.chinaa_stock_filter.v1',
        'm5.input_data': T.Graph.OutputPort('m15.data'),
        'm5.index_constituent_cond': ['全部'],
        'm5.board_cond': ['上证主板', '深证主板', '创业板'],
        'm5.industry_cond': ['全部'],
        'm5.st_cond': ['正常'],
        'm5.delist_cond': ['非退市'],
        'm5.output_left_data': False,
    
        'm7': 'M.derived_feature_extractor.v3',
        'm7.input_data': T.Graph.OutputPort('m5.data'),
        'm7.features': T.Graph.OutputPort('m3.data'),
        'm7.date_col': 'date',
        'm7.instrument_col': 'instrument',
        'm7.drop_na': False,
        'm7.remove_extra_columns': False,
        'm7.user_functions': m7_user_functions_bigquant_run,
    
        'm14': 'M.replace_inf_dropna.v1',
        'm14.input_1': T.Graph.OutputPort('m7.data'),
    
        'm11': 'M.filter.v3',
        'm11.input_data': T.Graph.OutputPort('m14.data_1'),
        'm11.expr': 'date<\'2022-01-01\'',
        'm11.output_left_data': True,
    
        'm24': 'M.features_short_user.v2',
        'm24.input_1': T.Graph.OutputPort('m3.data'),
    
        'm4': 'M.random_forest_classifier.v1',
        'm4.training_ds': T.Graph.OutputPort('m11.data'),
        'm4.features': T.Graph.OutputPort('m24.data_1'),
        'm4.predict_ds': T.Graph.OutputPort('m11.left_data'),
        'm4.iterations': 100,
        'm4.feature_fraction': 0.9,
        'm4.max_depth': 30,
        'm4.min_samples_per_leaf': 200,
        'm4.key_cols': 'date,instrument',
        'm4.workers': 8,
        'm4.random_state': 0,
        'm4.other_train_parameters': {},
    
        'm2': 'M.metrics_classification.v1',
        'm2.predictions': T.Graph.OutputPort('m4.predictions'),
    })
    
    # g.run({})
    
    
    def m9_param_grid_builder_bigquant_run():
        param_grid = {}
    
       
        param_grid['m12.features'] = [
    
    """
    Alpha_3=min(ts_max(hf_corr_vp_5, 5), close)
    """,
    """
    Alpha_3=sum(hf_ratio_volume_4, 8)
    """,
    """
    Alpha_3=max(rank(hf_real_std_3), (correlation(amount_0, return_0, 7)))
    """,
    """
    Alpha_3=max(hf_ratio_volume_5, ts_min(sum(hf_corr_vp_8, 1), 7))
    """,
    """
    Alpha_3=max(hf_ratio_volume_2, hf_real_kurtosis_6)
    """,
    """
    Alpha_3=std(ts_max(hf_real_kurtosis_6, 2), 8)
    """,
    """
    Alpha_3=abs(add(hf_ret_in_7, hf_buy_value_act/amount_0))
    """
    
    
        ]
        return param_grid
    
    def m9_scoring_bigquant_run(result):
        df = result.get('m2').data.read_pickle()
        accuracy = df['accuracy_and_loss']['value']['accu_score']
        return {'准确率':accuracy}
        
    
    
    
    m9 = M.hyper_parameter_search.v1(
        param_grid_builder=m9_param_grid_builder_bigquant_run,
        scoring=m9_scoring_bigquant_run,
        search_algorithm='网格搜索',
        search_iterations=10,
        workers=1,
        worker_distributed_run=False,
        worker_silent=False,
        run_now=True,
        bq_graph=g
    )
    
    Fitting 1 folds for each of 7 candidates, totalling 7 fits
    [Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.
    [CV 1/1; 1/7] START m12.features=
    Alpha_3=min(ts_max(hf_corr_vp_5, 5), close)
    ..
    
    Traceback (most recent call last):
      File "/usr/local/python3/lib/python3.8/site-packages/IPython/core/interactiveshell.py", line 3427, in run_code
        exec(code_obj, self.user_global_ns, self.user_ns)
      File "<ipython-input-1-dc9b58fbdb56>", line 140, in <module>
        m9 = M.hyper_parameter_search.v1(
      File "module2/common/modulemanagerv2.py", line 88, in biglearning.module2.common.modulemanagerv2.BigQuantModuleVersion.__call__
      File "module2/common/moduleinvoker.py", line 370, in biglearning.module2.common.moduleinvoker.module_invoke
      File "module2/common/moduleinvoker.py", line 253, in biglearning.module2.common.moduleinvoker._invoke_with_cache
      File "module2/common/moduleinvoker.py", line 210, in biglearning.module2.common.moduleinvoker._module_run
      File "module2/modules/hyper_parameter_search/v1/__init__.py", line 119, in biglearning.module2.modules.hyper_parameter_search.v1.__init__.bigquant_run
      File "module2/modules/hyper_parameter_search/v1/__init__.py", line 66, in biglearning.module2.modules.hyper_parameter_search.v1.__init__._run
      File "/usr/local/python3/lib/python3.8/site-packages/sklearn/utils/validation.py", line 63, in inner_f
        return f(*args, **kwargs)
      File "/usr/local/python3/lib/python3.8/site-packages/sklearn/model_selection/_search.py", line 847, in fit
        self._run_search(evaluate_candidates)
      File "/usr/local/python3/lib/python3.8/site-packages/sklearn/model_selection/_search.py", line 1294, in _run_search
        evaluate_candidates(ParameterGrid(self.param_grid))
      File "/usr/local/python3/lib/python3.8/site-packages/sklearn/model_selection/_search.py", line 801, in evaluate_candidates
        out = parallel(delayed(_fit_and_score)(clone(base_estimator),
      File "/usr/local/python3/lib/python3.8/site-packages/joblib/parallel.py", line 1043, in __call__
        if self.dispatch_one_batch(iterator):
      File "/usr/local/python3/lib/python3.8/site-packages/joblib/parallel.py", line 861, in dispatch_one_batch
        self._dispatch(tasks)
      File "/usr/local/python3/lib/python3.8/site-packages/joblib/parallel.py", line 779, in _dispatch
        job = self._backend.apply_async(batch, callback=cb)
      File "/usr/local/python3/lib/python3.8/site-packages/joblib/_parallel_backends.py", line 208, in apply_async
        result = ImmediateResult(func)
      File "/usr/local/python3/lib/python3.8/site-packages/joblib/_parallel_backends.py", line 572, in __init__
        self.results = batch()
      File "/usr/local/python3/lib/python3.8/site-packages/joblib/parallel.py", line 262, in __call__
        return [func(*args, **kwargs)
      File "/usr/local/python3/lib/python3.8/site-packages/joblib/parallel.py", line 262, in <listcomp>
        return [func(*args, **kwargs)
      File "/usr/local/python3/lib/python3.8/site-packages/sklearn/utils/fixes.py", line 222, in __call__
        return self.function(*args, **kwargs)
      File "/usr/local/python3/lib/python3.8/site-packages/sklearn/model_selection/_validation.py", line 593, in _fit_and_score
        estimator.fit(X_train, y_train, **fit_params)
      File "module2/modules/hyper_parameter_search/v1/graphestimator.py", line 43, in biglearning.module2.modules.hyper_parameter_search.v1.graphestimator.GraphEstimator.fit
      File "/var/app/enabled/biglearning/graphimpl/graph.py", line 273, in run
        return execution_object.run()
      File "/var/app/enabled/biglearning/graphimpl/graph.py", line 154, in run
        self._exec_graph()
      File "/var/app/enabled/biglearning/graphimpl/graph.py", line 145, in _exec_graph
        self.exec_module(queue[i])
      File "/var/app/enabled/biglearning/graphimpl/graph.py", line 133, in exec_module
        outputs = self.run_module(module_type, module_args)
      File "/var/app/enabled/biglearning/graphimpl/graph.py", line 119, in run_module
        return M[module_type](**args)
      File "module2/common/modulemanagerv2.py", line 88, in biglearning.module2.common.modulemanagerv2.BigQuantModuleVersion.__call__
      File "module2/common/moduleinvoker.py", line 370, in biglearning.module2.common.moduleinvoker.module_invoke
      File "module2/common/moduleinvoker.py", line 253, in biglearning.module2.common.moduleinvoker._invoke_with_cache
      File "module2/common/moduleinvoker.py", line 210, in biglearning.module2.common.moduleinvoker._module_run
      File "module2/modules/random_forest_classifier/v1/__init__.py", line 58, in biglearning.module2.modules.random_forest_classifier.v1.__init__.bigquant_run
      File "module2/common/modulemanagerv2.py", line 88, in biglearning.module2.common.modulemanagerv2.BigQuantModuleVersion.__call__
      File "module2/common/moduleinvoker.py", line 370, in biglearning.module2.common.moduleinvoker.module_invoke
      File "module2/common/moduleinvoker.py", line 253, in biglearning.module2.common.moduleinvoker._invoke_with_cache
      File "module2/common/moduleinvoker.py", line 212, in biglearning.module2.common.moduleinvoker._module_run
      File "module2/modules/cached/v2/__init__.py", line 29, in biglearning.module2.modules.cached.v2.__init__.BigQuantModule.run
      File "module2/modules/random_forest_classifier/v1/__init__.py", line 90, in biglearning.module2.modules.random_forest_classifier.v1.__init__._train
      File "module2/common/mlutils.py", line 55, in biglearning.module2.common.mlutils.feature_train
      File "/var/app/enabled/bigdatasource/api/v6/__init__.py", line 58, in read_df
        return read_df(self.id, self.intermediate_version, key)
      File "impl/dsimpl/hdf.py", line 91, in bigdatasource.impl.dsimpl.hdf.read_df
      File "impl/dsimpl/hdf.py", line 21, in bigdatasource.impl.dsimpl.hdf.ignore_hdf_trace.wrapped_func
      File "impl/dsimpl/hdf.py", line 104, in bigdatasource.impl.dsimpl.hdf.read_hdf_from_bigma
      File "impl/dsimpl/hdf.py", line 110, in bigdatasource.impl.dsimpl.hdf.read_hdf_from_bigma
      File "/usr/local/python3/lib/python3.8/site-packages/pandas/io/pytables.py", line 578, in __getitem__
        return self.get(key)
      File "/usr/local/python3/lib/python3.8/site-packages/pandas/io/pytables.py", line 770, in get
        return self._read_group(group)
      File "/usr/local/python3/lib/python3.8/site-packages/pandas/io/pytables.py", line 1764, in _read_group
        return s.read()
      File "/usr/local/python3/lib/python3.8/site-packages/pandas/io/pytables.py", line 3145, in read
        values = self.read_array(f"block{i}_values", start=_start, stop=_stop)
      File "/usr/local/python3/lib/python3.8/site-packages/pandas/io/pytables.py", line 2805, in read_array
        ret = node[0][start:stop]
    
    KeyboardInterrupt