克隆策略

    {"description":"实验创建于2021/10/23","graph":{"edges":[{"to_node_id":"-306:instruments","from_node_id":"-293:data"},{"to_node_id":"-270:instruments","from_node_id":"-293:data"},{"to_node_id":"-306:features","from_node_id":"-301:data"},{"to_node_id":"-313:features","from_node_id":"-301:data"},{"to_node_id":"-313:input_data","from_node_id":"-306:data"},{"to_node_id":"-270:feature_datas","from_node_id":"-313:data"}],"nodes":[{"node_id":"-270","module_id":"BigQuantSpace.genetic_algorithm.genetic_algorithm-v1","parameters":[{"name":"all_start_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"all_end_date","value":"","type":"Literal","bound_global_parameter":null},{"name":"short_date_range_ratio","value":"0.7","type":"Literal","bound_global_parameter":null},{"name":"return_field","value":"wap_3_vwap_buy","type":"Literal","bound_global_parameter":null},{"name":"rebalance_period","value":1,"type":"Literal","bound_global_parameter":null},{"name":"train_test_ratio","value":0.75,"type":"Literal","bound_global_parameter":null},{"name":"train_validate_ratio","value":0.75,"type":"Literal","bound_global_parameter":null},{"name":"mtime","value":"2","type":"Literal","bound_global_parameter":null},{"name":"init_ind_num","value":"10","type":"Literal","bound_global_parameter":null},{"name":"ngen","value":"3","type":"Literal","bound_global_parameter":null},{"name":"fitness_func","value":"long_return","type":"Literal","bound_global_parameter":null},{"name":"train_fitness","value":"0.16","type":"Literal","bound_global_parameter":null},{"name":"test_fitness","value":"0.1","type":"Literal","bound_global_parameter":null},{"name":"ir_type","value":"ir","type":"Literal","bound_global_parameter":null},{"name":"cxpb","value":0.5,"type":"Literal","bound_global_parameter":null},{"name":"mutpb","value":0.3,"type":"Literal","bound_global_parameter":null},{"name":"mutspb","value":0.3,"type":"Literal","bound_global_parameter":null},{"name":"mutnrpb","value":0.3,"type":"Literal","bound_global_parameter":null},{"name":"constant","value":"1,11","type":"Literal","bound_global_parameter":null},{"name":"pool_processes_limit","value":"5","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"instruments","node_id":"-270"},{"name":"feature_datas","node_id":"-270"},{"name":"base_features","node_id":"-270"}],"output_ports":[{"name":"factors","node_id":"-270"}],"cacheable":false,"seq_num":1,"comment":"","comment_collapsed":true},{"node_id":"-293","module_id":"BigQuantSpace.instruments.instruments-v2","parameters":[{"name":"start_date","value":"2018-01-01","type":"Literal","bound_global_parameter":null},{"name":"end_date","value":"2018-06-20","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":"-293"}],"output_ports":[{"name":"data","node_id":"-293"}],"cacheable":true,"seq_num":2,"comment":"","comment_collapsed":true},{"node_id":"-301","module_id":"BigQuantSpace.input_features.input_features-v1","parameters":[{"name":"features","value":"close_0\nopen_0\nhigh_0\nlow_0 \namount_0\nturn_0 \nreturn_0","type":"Literal","bound_global_parameter":null}],"input_ports":[{"name":"features_ds","node_id":"-301"}],"output_ports":[{"name":"data","node_id":"-301"}],"cacheable":true,"seq_num":3,"comment":"","comment_collapsed":true},{"node_id":"-306","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":"-306"},{"name":"features","node_id":"-306"}],"output_ports":[{"name":"data","node_id":"-306"}],"cacheable":true,"seq_num":4,"comment":"","comment_collapsed":true},{"node_id":"-313","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":"-313"},{"name":"features","node_id":"-313"}],"output_ports":[{"name":"data","node_id":"-313"}],"cacheable":true,"seq_num":5,"comment":"","comment_collapsed":true}],"node_layout":"<node_postions><node_position Node='-270' Position='-128,164.58346557617188,200,200'/><node_position Node='-293' Position='-132,-132,200,200'/><node_position Node='-301' Position='158,-104,200,200'/><node_position Node='-306' Position='62,-3,200,200'/><node_position Node='-313' Position='47,77,200,200'/></node_postions>"},"nodes_readonly":false,"studio_version":"v2"}
    In [12]:
    # 本代码由可视化策略环境自动生成 2021年12月3日 23:56
    # 本代码单元只能在可视化模式下编辑。您也可以拷贝代码,粘贴到新建的代码单元或者策略,然后修改。
    
    
    m2 = M.instruments.v2(
        start_date='2018-01-01',
        end_date='2018-06-20',
        market='CN_STOCK_A',
        instrument_list='',
        max_count=0
    )
    
    m3 = M.input_features.v1(
        features="""close_0
    open_0
    high_0
    low_0 
    amount_0
    turn_0 
    return_0"""
    )
    
    m4 = M.general_feature_extractor.v7(
        instruments=m2.data,
        features=m3.data,
        start_date='',
        end_date='',
        before_start_days=90
    )
    
    m5 = M.derived_feature_extractor.v3(
        input_data=m4.data,
        features=m3.data,
        date_col='date',
        instrument_col='instrument',
        drop_na=False,
        remove_extra_columns=False,
        user_functions={}
    )
    
    m1 = M.genetic_algorithm.v1(
        instruments=m2.data,
        feature_datas=m5.data,
        all_start_date='',
        all_end_date='',
        short_date_range_ratio=0.7,
        return_field='wap_3_vwap_buy',
        rebalance_period=1,
        train_test_ratio=0.75,
        train_validate_ratio=0.75,
        mtime=2,
        init_ind_num=10,
        ngen=3,
        fitness_func='long_return',
        train_fitness=0.16,
        test_fitness=0.1,
        ir_type='ir',
        cxpb=0.5,
        mutpb=0.3,
        mutspb=0.3,
        mutnrpb=0.3,
        constant='1,11',
        pool_processes_limit=5,
        m_cached=False
    )
    
    -- 开始第「1」次循环第「1」代挖掘 --
    
    去重前的个体数10
    去重后的个体数10
    
    每代的平均适应度:[-0.004188698714868702]
    因子ts_max(close_0, 6)在训练集适应度值为-0.005258383175084126
    因子delta(high_0, 8)在训练集适应度值为0.03773838261813785
    因子sum(open_0, 1)在训练集适应度值为-0.003970497762605383
    因子delta(shift(open_0, 9), constant(6))在训练集适应度值为-0.018445041368128613
    因子abs(open_0)在训练集适应度值为-0.003970497762605383
    因子ts_rank(low_0, 10)在训练集适应度值为0.042509957100151506
    因子ta_sma(close_0, 3)在训练集适应度值为-0.002689227329027853
    因子abs(high_0)在训练集适应度值为0.0006081115264991448
    因子ta_sma(close_0, 9)在训练集适应度值为-0.010393997737171378
    因子abs(close_0)在训练集适应度值为0.002883515173132199
    
    pass:0, record:10, population: 10
    
    下一代挖掘的个体数:10
    
    -- 开始第「1」次循环第「2」代挖掘 --
    
    去重前的个体数10
    去重后的个体数7
    
    每代的平均适应度:[-0.004188698714868702, 0.04851743449014364]
    因子return_0在训练集适应度值为0.3043299314749791
    因子ts_rank(high_0, 6)在训练集适应度值为0.10800758694052578
    因子abs(low_0)在训练集适应度值为-0.003493811576792782
    因子delta(turn_0, 8)在训练集适应度值为0.06562805790312995
    因子abs(high_0)在训练集适应度值为0.0006081115264991448
    因子ts_rank(return_0, 10)在训练集适应度值为0.20522603435876016
    因子low_0在训练集适应度值为-0.003493811576792782
    
    因子return_0在测试集适应度值为0.19443204889006563
    因子ts_rank(return_0, 10)在测试集适应度值为0.12121991124024922
    
    pass:2, record:7, population: 2
    
    下一代挖掘的个体数:10
    
    -- 开始第「1」次循环第「3」代挖掘 --
    
    去重前的个体数10
    去重后的个体数2
    
    每代的平均适应度:[-0.004188698714868702, 0.04851743449014364, 0.07568668854515812]
    因子return_0在训练集适应度值为0.3043299314749791
    因子high_0在训练集适应度值为0.0006081115264991448
    
    因子return_0在测试集适应度值为0.19443204889006563
    
    pass:1, record:2, population: 1
    
    下一代挖掘的个体数:10
    
    -- 开始第「2」次循环第「1」代挖掘 --
    
    去重前的个体数10
    去重后的个体数10
    
    每代的平均适应度:[0.03365497423963559]
    因子correlation(turn_0, amount_0, 3)在训练集适应度值为-0.014470025283409585
    因子div(decay_linear(low_0, 4), ts_argmax(amount_0, 9))在训练集适应度值为-0.019613979649014523
    因子rank(rank(return_0))在训练集适应度值为0.24342810563638692
    因子ts_argmin(sub(close_0, return_0), constant(3))在训练集适应度值为0.07363116804085781
    因子ta_sma(amount_0, 1)在训练集适应度值为0.04716737607634417
    因子sub(low_0, abs(close_0))在训练集适应度值为-0.0389379905642263
    因子product(return_0, 1)在训练集适应度值为0.3043299314749791
    因子sign(turn_0)在训练集适应度值为nan
    因子correlation(open_0, low_0, 8)在训练集适应度值为0.04163638285137655
    因子ts_argmin(turn_0, constant(7))在训练集适应度值为0.014984803618717839
    
    因子rank(rank(return_0))在测试集适应度值为0.1593605566031508
    因子product(return_0, 1)在测试集适应度值为0.19443204889006563
    
    pass:2, record:10, population: 2
    
    下一代挖掘的个体数:10
    
    -- 开始第「2」次循环第「2」代挖掘 --
    
    去重前的个体数10
    去重后的个体数7
    
    每代的平均适应度:[0.03365497423963559, 0.13179112575484517]
    因子product(return_0, 2)在训练集适应度值为0.31259990474445254
    因子product(return_0, 1)在训练集适应度值为0.3043299314749791
    因子product(div(amount_0, amount_0), 1)在训练集适应度值为nan
    因子return_0在训练集适应度值为0.3043299314749791
    因子rank(return_0)在训练集适应度值为0.24342810563638692
    因子product(rank(return_0), 1)在训练集适应度值为0.24342810563638692
    因子amount_0在训练集适应度值为0.04716737607634417
    
    因子product(return_0, 2)在测试集适应度值为0.20258257827215553
    因子product(return_0, 1)在测试集适应度值为0.19443204889006563
    因子return_0在测试集适应度值为0.19443204889006563
    因子rank(return_0)在测试集适应度值为0.1593605566031508
    因子product(rank(return_0), 1)在测试集适应度值为0.1593605566031508
    
    pass:5, record:7, population: 5
    
    下一代挖掘的个体数:10
    
    -- 开始第「2」次循环第「3」代挖掘 --
    
    去重前的个体数10
    去重后的个体数6
    
    每代的平均适应度:[0.03365497423963559, 0.13179112575484517, 0.09473512714029837]
    因子product(return_0, 1)在训练集适应度值为0.3043299314749791
    因子product(return_0, 2)在训练集适应度值为0.31259990474445254
    因子product(div(min(close_0, close_0), ts_max(amount_0, 9)), 1)在训练集适应度值为0.026003514910132582
    因子product(return_0, constant(7))在训练集适应度值为0.09542603074510081
    因子return_0在训练集适应度值为0.3043299314749791
    因子close_0在训练集适应度值为0.002883515173132199
    
    因子product(return_0, 1)在测试集适应度值为0.19443204889006563
    因子product(return_0, 2)在测试集适应度值为0.20258257827215553
    因子return_0在测试集适应度值为0.19443204889006563
    
    pass:3, record:6, population: 3
    
    下一代挖掘的个体数:10
    
    In [13]:
    m1.factors.read()
    
    Out[13]:
    {}