原创内容第1012篇,专注AGI+,AI量化投资、个人成长与财富自由。今日策略:年化450%,夏普比5.23,回撤7%。http://www.ailabx.com/strategy/68c7c731fd408079e03bcc10
开始因子挖掘:
from deap import base, creator, gp
creator.create("FitnessMax", base.Fitness, weights=(1.0,))def init_tool_box():
        
        from deap import base, creator, tools
        creator.create("Individual", gp.PrimitiveTree, fitness=creator.FitnessMax)
        toolbox = base.Toolbox()        from deap_factor.init_pset import get_pset
        pset = get_pset()        toolbox.register("expr", gp.genHalfAndHalf, pset=pset, min_=1, max_=5)        toolbox.register("individual", tools.initIterate, creator.Individual, toolbox.expr)                toolbox.register("population", tools.initRepeat, list, toolbox.individual)
        toolbox.register("evaluate", print)  
        toolbox.register("select", tools.selTournament, tournsize=3)                  toolbox.register("mate", gp.cxOnePoint)        toolbox.register("expr_mut", gp.genFull, min_=0, max_=2)        toolbox.register("mutate", gp.mutUniform, expr=toolbox.expr_mut, pset=pset)
        from deap_factor.backtest import backtester        toolbox.register('map', backtester)
        import operator
        toolbox.decorate("mate", gp.staticLimit(key=operator.attrgetter("height"), max_value=17))        toolbox.decorate("mutate", gp.staticLimit(key=operator.attrgetter("height"), max_value=17))        return toolbox
if __name__ == '__main__':    from deap_factor import utils    from deap import tools    import numpy as np    my_tool_box = init_tool_box()        print('开始生成因子...')    pop = my_tool_box.population(10)    for p in pop:            print(utils.stringify_for_sympy(p))
    hof = tools.HallOfFame(10)        stats = tools.Statistics(lambda ind: ind.fitness.values)        stats.register("avg", np.nanmean, axis=0)    stats.register("std", np.nanstd, axis=0)    stats.register("min", np.nanmin, axis=0)    stats.register("max", np.nanmax, axis=0)        from deap_factor.deap_patch import *      population, logbook = eaMuPlusLambda(pop, my_tool_box,                                                                                  mu=150, lambda_=100,                                                                                  cxpb=0.5, mutpb=0.1, ngen=3,                                                                                  
    
                                         stats=stats, halloffame=hof, verbose=True,                                                                                  early_stopping_rounds=5)



代码所在位置(还有一些细节在持续优化中):
代码已经提交至星球:AI量化实验室——量化投资的星辰大海
代码和数据下载:AI量化实验室——2025量化投资的星辰大海AI量化实验室 星球,已经运行三年多,1800+会员。
aitrader代码,因子表达式引擎、遗传算法(Deap)因子挖掘引擎等,支持vnpy,qlib,backtrader和bt引擎,内置多个年化30%+的策略,每周五迭代一次,代码和数据在星球全部开源。
点击 “查看原文”,直接访问策略集合。