复制链接
克隆策略

    {"description":"实验创建于2022/8/24","graph":{"edges":[{"to_node_id":"-36:instruments","from_node_id":"-17:data"},{"to_node_id":"-36:features","from_node_id":"-25:data"},{"to_node_id":"-36:user_functions","from_node_id":"-29:functions"}],"nodes":[{"node_id":"-17","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2022-01-01","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"2022-02-01","type":"Literal","bound_global_parameter":null},{"name":"market","value":"CN_STOCK_A","type":"Literal","bound_global_parameter":null},{"name":"instrument_list","value":"00000001.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":"-17"}],"output_ports":[{"name":"data","node_id":"-17"}],"cacheable":true,"seq_num":2,"comment":"","comment_collapsed":true},{"node_id":"-25","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"_amt = amount\n_ret = ret_sim(close, open)\nbig_order_ret = np.prod(1 + _ret*where(_amt >= _amt.sort_values(ascending=False).iloc[np.int(240*0.4-1)], 1, 0))\n","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-25"}],"output_ports":[{"name":"data","node_id":"-25"}],"cacheable":true,"seq_num":3,"comment":"","comment_collapsed":true},{"node_id":"-29","module_id":"BigQuantSpace.feature_extractor_user_function.feature_extractor_user_function-v1","parameters":[{"name":"name","value":"ret_sim","type":"Literal","bound_global_parameter":null},{"name":"func","value":"def bigquant_run(df, close, op):\n res = close.pct_change()\n res.iloc[0] = close.iloc[0] / op.iloc[0] - 1\n return res\n","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_functions","node_id":"-29"}],"output_ports":[{"name":"functions","node_id":"-29"}],"cacheable":false,"seq_num":4,"comment":"","comment_collapsed":true},{"node_id":"-36","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":90,"type":"Literal","bound_global_parameter":null},{"name":"workers","value":"2","type":"Literal","bound_global_parameter":null},{"name":"parallel_mode","value":"测试","type":"Literal","bound_global_parameter":null},{"name":"table_1m","value":"bar1m_CN_STOCK_A","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-36"},{"name":"features","node_id":"-36"},{"name":"user_functions","node_id":"-36"}],"output_ports":[{"name":"data","node_id":"-36"}],"cacheable":true,"seq_num":5,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='-17' Position='200,416,200,200'/><node_position Node='-25' Position='527,425,200,200'/><node_position Node='-29' Position='872,423,200,200'/><node_position Node='-36' Position='567,648,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
    In [7]:
    # 本代码由可视化策略环境自动生成 2022年8月30日 23:26
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    def m4_func_bigquant_run(df, close, op):
        res = close.pct_change()
        res.iloc[0] = close.iloc[0] / op.iloc[0] - 1
        return res
    
    
    m2 = M.instruments.v2(
        start_date='2022-01-01',
        end_date='2022-02-01',
        market='CN_STOCK_A',
        instrument_list='00000001.SZA',
        max_count=0
    )
    
    m3 = M.input_features.v1(
        features="""_amt = amount
    _ret = ret_sim(close, open)
    big_order_ret = np.prod(1 + _ret*where(_amt >= _amt.sort_values(ascending=False).iloc[np.int(240*0.4-1)], 1, 0))
    """
    )
    
    m4 = M.feature_extractor_user_function.v1(
        name='ret_sim',
        func=m4_func_bigquant_run
    )
    
    m5 = M.feature_extractor_1m.v2(
        instruments=m2.data,
        features=m3.data,
        user_functions=m4.functions,
        start_date='',
        end_date='',
        before_start_days=90,
        workers=2,
        parallel_mode='测试',
        table_1m='bar1m_CN_STOCK_A'
    )
    
    ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call last)
    <ipython-input-7-3584830066a9> in <module>
         29 )
         30 
    ---> 31 m5 = M.feature_extractor_1m.v2(
         32     instruments=m2.data,
         33     features=m3.data,
    
    AttributeError: 'NoneType' object has no attribute 'read'