• 设置参数优化区间:如boll_window设置起始值为18,终止值为24,步进为2,这样就得到了[18, 20, 22, 24] 这4个待优化的参数了。
    • 随机生成参数对组合:使用迭代工具产生参数对组合,然后把参数对组合打包到一个个字典组成的列表中

    多进程优化时,每个进程都会运行optimize函数,输出参数对组合以及目标优化字段的结果。其步骤如下:

    • 调用回测引擎
    • 输入回测相关设置
    • 输入参数对组合到策略中
    • 返回回测结果,包括:参数对组合、目标优化字段数值、策略统计指标
    • 根据CPU的核数来创建进程:若CPU为4核,则创建4个进程
    • 在每个进程都调用apply_async( )的方法运行参数对组合回测,其回测结果添加到results中 (apply_async是异步非阻塞的,即不用等待当前进程执行完毕,随时根据系统调度来进行进程切换。)
    • pool.close()与pool.join()用于进程跑完任务后,去关闭进程。