复制链接
克隆策略

    {"description":"实验创建于2020/2/14","graph":{"edges":[{"to_node_id":"-89:features","from_node_id":"-70:data"},{"to_node_id":"-72:features","from_node_id":"-70:data"},{"to_node_id":"-505:input_1","from_node_id":"-70:data"},{"to_node_id":"-192:input_data","from_node_id":"-72:data"},{"to_node_id":"-493:input_data","from_node_id":"-89:data"},{"to_node_id":"-89:instruments","from_node_id":"-185:data"},{"to_node_id":"-198:sort_by_ds","from_node_id":"-505:data_1"},{"to_node_id":"-802:features","from_node_id":"-505:data_1"},{"to_node_id":"-72:input_data","from_node_id":"-493:data"},{"to_node_id":"-808:input_data","from_node_id":"-192:data"},{"to_node_id":"-802:input_data","from_node_id":"-198:sorted_data"},{"to_node_id":"-198:input_ds","from_node_id":"-808:data"}],"nodes":[{"node_id":"-70","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"alpha16=volume_0","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-70"}],"output_ports":[{"name":"data","node_id":"-70"}],"cacheable":false,"seq_num":1,"comment":"","comment_collapsed":true},{"node_id":"-72","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":"-72"},{"name":"features","node_id":"-72"}],"output_ports":[{"name":"data","node_id":"-72"}],"cacheable":false,"seq_num":2,"comment":"","comment_collapsed":true},{"node_id":"-89","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":"-89"},{"name":"features","node_id":"-89"}],"output_ports":[{"name":"data","node_id":"-89"}],"cacheable":true,"seq_num":6,"comment":"","comment_collapsed":true},{"node_id":"-185","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"20180502","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"20180527","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":"-185"}],"output_ports":[{"name":"data","node_id":"-185"}],"cacheable":true,"seq_num":17,"comment":"","comment_collapsed":true},{"node_id":"-505","module_id":"BigQuantSpace.features_short_user.features_short_user-v2","parameters":[],"input_ports":[{"name":"input_1","node_id":"-505"}],"output_ports":[{"name":"data_1","node_id":"-505"}],"cacheable":true,"seq_num":19,"comment":"","comment_collapsed":true},{"node_id":"-493","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%3Afalse%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%3Atrue%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%3Atrue%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%3Afalse%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%3Afalse%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%2C%7B%22value%22%3A%22%E5%8C%97%E4%BA%A4%E6%89%80%22%2C%22displayValue%22%3A%22%E5%8C%97%E4%BA%A4%E6%89%80%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%3Atrue%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%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*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":"-493"}],"output_ports":[{"name":"data","node_id":"-493"},{"name":"left_data","node_id":"-493"}],"cacheable":true,"seq_num":3,"comment":"","comment_collapsed":true},{"node_id":"-192","module_id":"BigQuantSpace.filter.filter-v3","parameters":[{"name":"expr","value":"date=='20180502'","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":"-192"}],"output_ports":[{"name":"data","node_id":"-192"},{"name":"left_data","node_id":"-192"}],"cacheable":true,"seq_num":11,"comment":"","comment_collapsed":true},{"node_id":"-198","module_id":"BigQuantSpace.sort.sort-v5","parameters":[{"name":"sort_by","value":"--","type":"Literal","bound_global_parameter":null},{"name":"group_by","value":"date","type":"Literal","bound_global_parameter":null},{"name":"keep_columns","value":"--","type":"Literal","bound_global_parameter":null},{"name":"ascending","value":"False","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_ds","node_id":"-198"},{"name":"sort_by_ds","node_id":"-198"}],"output_ports":[{"name":"sorted_data","node_id":"-198"}],"cacheable":true,"seq_num":12,"comment":"","comment_collapsed":true},{"node_id":"-802","module_id":"BigQuantSpace.winsorize.winsorize-v6","parameters":[{"name":"columns_input","value":"","type":"Literal","bound_global_parameter":null},{"name":"median_deviate","value":"1","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"input_data","node_id":"-802"},{"name":"features","node_id":"-802"}],"output_ports":[{"name":"data","node_id":"-802"}],"cacheable":true,"seq_num":13,"comment":"1倍标准差","comment_collapsed":false},{"node_id":"-808","module_id":"BigQuantSpace.dropnan.dropnan-v2","parameters":[],"input_ports":[{"name":"input_data","node_id":"-808"},{"name":"features","node_id":"-808"}],"output_ports":[{"name":"data","node_id":"-808"}],"cacheable":true,"seq_num":14,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='-70' Position='-104,-553,200,200'/><node_position Node='-72' Position='-525,-299,200,200'/><node_position Node='-89' Position='-529,-450,200,200'/><node_position Node='-185' Position='-530,-546,200,200'/><node_position Node='-505' Position='-103,-469,200,200'/><node_position Node='-493' Position='-524,-377,200,200'/><node_position Node='-192' Position='-515.7796096801758,-217.1678924560547,200,200'/><node_position Node='-198' Position='-512.0933609008789,-48.314802169799805,200,200'/><node_position Node='-802' Position='-42.68625259399414,-108.83316040039062,200,200'/><node_position Node='-808' Position='-521.4658737182617,-129.9423065185547,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
    In [30]:
    # 本代码由可视化策略环境自动生成 2022年8月21日 08:24
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    m1 = M.input_features.v1(
        features='alpha16=volume_0',
        m_cached=False
    )
    
    m19 = M.features_short_user.v2(
        input_1=m1.data
    )
    
    m17 = M.instruments.v2(
        start_date='20180502',
        end_date='20180527',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    m6 = M.general_feature_extractor.v7(
        instruments=m17.data,
        features=m1.data,
        start_date='',
        end_date='',
        before_start_days=90
    )
    
    m3 = M.chinaa_stock_filter.v1(
        input_data=m6.data,
        index_constituent_cond=['中证500'],
        board_cond=['全部'],
        industry_cond=['全部'],
        st_cond=['全部'],
        delist_cond=['全部'],
        output_left_data=False
    )
    
    m2 = M.derived_feature_extractor.v3(
        input_data=m3.data,
        features=m1.data,
        date_col='date',
        instrument_col='instrument',
        drop_na=False,
        remove_extra_columns=False,
        m_cached=False
    )
    
    m11 = M.filter.v3(
        input_data=m2.data,
        expr='date==\'20180502\'',
        output_left_data=False
    )
    
    m14 = M.dropnan.v2(
        input_data=m11.data
    )
    
    m12 = M.sort.v5(
        input_ds=m14.data,
        sort_by_ds=m19.data_1,
        sort_by='--',
        group_by='date',
        keep_columns='--',
        ascending=False
    )
    
    m13 = M.winsorize.v6(
        input_data=m12.sorted_data,
        features=m19.data_1,
        columns_input='',
        median_deviate=1
    )
    
    In [31]:
    def filter_extreme_MAD(series,n): #MAD: 中位数去极值 
        median = series.quantile(0.5) 
        new_median = ((series - median).abs()).quantile(0.50) 
        print('mad=',new_median)
        max_range = median + n*new_median 
        min_range = median - n*new_median 
        return np.clip(series,min_range,max_range) 
    
    def filter_extreme_3sigma(series,n=3): #3 sigma 
        mean = series.mean() 
        std = series.std() 
        max_range = mean + n*std 
        min_range = mean - n*std 
        return np.clip(series,min_range,max_range)
    
    In [32]:
    df = m12.sorted_data
    df = df.read()
    df.head()
    
    Out[32]:
    date instrument volume_0 alpha16
    0 2018-05-02 002195.SZA 159278850 159278850
    1 2018-05-02 000979.SZA 127605889 127605889
    2 2018-05-02 600516.SHA 123170285 123170285
    3 2018-05-02 600584.SHA 76168156 76168156
    4 2018-05-02 600282.SHA 72133770 72133770
    In [33]:
    s1 = df.iloc[:,3]
    s1.head()
    
    Out[33]:
    0    159278850
    1    127605889
    2    123170285
    3     76168156
    4     72133770
    Name: alpha16, dtype: int64
    In [34]:
    filter_extreme_MAD(s1,1)
    
    mad= 4896681.0
    
    Out[34]:
    0      13770519
    1      13770519
    2      13770519
    3      13770519
    4      13770519
             ...   
    464     3977157
    465     3977157
    466     3977157
    467     3977157
    468     3977157
    Name: alpha16, Length: 469, dtype: int64