{"description":"实验创建于2023/2/10","graph":{"edges":[{"to_node_id":"-19:instruments","from_node_id":"-6:data"},{"to_node_id":"-19:features","from_node_id":"-14:data"},{"to_node_id":"-26:features","from_node_id":"-14:data"},{"to_node_id":"-26:input_data","from_node_id":"-19:data"},{"to_node_id":"-38:input_1","from_node_id":"-26:data"}],"nodes":[{"node_id":"-6","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2023-01-01","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"2023-02-02","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":"-6"}],"output_ports":[{"name":"data","node_id":"-6"}],"cacheable":true,"seq_num":1,"comment":"","comment_collapsed":true},{"node_id":"-14","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"\n# #号开始的表示注释,注释需单独一行\n# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征\nreturn_5\nreturn_10\nreturn_20\navg_amount_0/avg_amount_5\navg_amount_5/avg_amount_20\nrank_avg_amount_0/rank_avg_amount_5\nrank_avg_amount_5/rank_avg_amount_10\nrank_return_0\nrank_return_5\nrank_return_10\nrank_return_0/rank_return_5\nrank_return_5/rank_return_10\npe_ttm_0\n","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-14"}],"output_ports":[{"name":"data","node_id":"-14"}],"cacheable":true,"seq_num":2,"comment":"","comment_collapsed":true},{"node_id":"-19","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":"-19"},{"name":"features","node_id":"-19"}],"output_ports":[{"name":"data","node_id":"-19"}],"cacheable":true,"seq_num":3,"comment":"","comment_collapsed":true},{"node_id":"-26","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":"-26"},{"name":"features","node_id":"-26"}],"output_ports":[{"name":"data","node_id":"-26"}],"cacheable":true,"seq_num":4,"comment":"","comment_collapsed":true},{"node_id":"-38","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, input_3):\n # 示例代码如下。在这里编写您的代码\n import dai\n \n df = input_1.read()\n data = dai.query(\"\"\"\n SELECT *\n FROM cn_stock_money_flow;\n \"\"\", full_db_scan=True).df()\n data['instrument'] = data['instrument'].apply(lambda x: x+'A')\n df = pd.merge(df, data, on=['date', 'instrument'], how='inner')\n data_1 = DataSource.write_df(df)\n return Outputs(data_1=data_1, 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":"","type":"Literal","bound_global_parameter":null},{"name":"params","value":"{}","type":"Literal","bound_global_parameter":null},{"name":"output_ports","value":"","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_1","node_id":"-38"},{"name":"input_2","node_id":"-38"},{"name":"input_3","node_id":"-38"}],"output_ports":[{"name":"data_1","node_id":"-38"},{"name":"data_2","node_id":"-38"},{"name":"data_3","node_id":"-38"}],"cacheable":true,"seq_num":5,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='-6' Position='22.494857788085938,93.57731628417969,200,200'/><node_position Node='-14' Position='402.38140869140625,95.0412368774414,200,200'/><node_position Node='-19' Position='198.89691162109375,209.226806640625,200,200'/><node_position Node='-26' Position='255.98965454101562,310.2370910644531,200,200'/><node_position Node='-38' Position='253.06185913085938,407.587646484375,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
/home/aiuser/.local/lib/python3.8/site-packages/numpy/core/getlimits.py:500: UserWarning: The value of the smallest subnormal for type is zero.
setattr(self, word, getattr(machar, word).flat[0])
/home/aiuser/.local/lib/python3.8/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for type is zero.
return self._float_to_str(self.smallest_subnormal)
/home/aiuser/.local/lib/python3.8/site-packages/numpy/core/getlimits.py:500: UserWarning: The value of the smallest subnormal for type is zero.
setattr(self, word, getattr(machar, word).flat[0])
/home/aiuser/.local/lib/python3.8/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for type is zero.
return self._float_to_str(self.smallest_subnormal)