2. 如何运行策略优化

2.1. 入口与常用 kwargs

使用 qt.run(op, mode=2, …) 运行策略优化。常用参数包括 opti_methodopti_sample_countopti_output_count 等。

2.2. 优化算法完整列表(罗列并简短解释)

以下为 opti_method 常见可选值及适用场景,与 qteasy 2.0 API 一致为准。

算法名

含义

适用场景

grid

网格搜索

参数少、离散空间,穷举或粗网格。

montecarlo

蒙特卡洛随机采样

参数较多时随机抽样评估。

GA

遗传算法

中高维、连续/离散混合。

SA

模拟退火

中维、易陷入局部最优时。

PSO

粒子群优化

连续空间、多峰。

bayesian

贝叶斯优化

样本昂贵、需少步数寻优。

2.3. 优化运行参数完整列表(罗列并简短解释)

参数名

类型/可选值

含义

opti_method

str

优化算法:grid、montecarlo、GA、SA、PSO、bayesian 等。

opti_sample_count

int

采样/迭代次数(如蒙特卡洛样本数、遗传代数等)。

opti_output_count

int

保留的最优结果数量(Top-K)。

目标函数相关

如优化目标为夏普、回撤等,以配置或 API 为准。

约束相关

若有约束(如最大回撤上限),以配置为准。

回测区间、asset_pool 等与 mode=1 相同的参数在 mode=2 时同样生效。

2.4. 参数空间

策略的 Parameterpar_range 定义优化时的搜索空间;框架按 opti_method 在该空间内采样或搜索。

2.5. 最小可运行示例

import qteasy as qt

op = qt.Operator(strategies='dma', signal_type='PT', run_freq='d')
# dma 策略带 short_period、long_period 等可调参数
qt.configure(asset_pool='000001.SZ', invest_start='2020-01-01', invest_end='2023-12-31')
result = qt.run(op, mode=2, opti_method='grid', opti_sample_count=100, opti_output_count=10)

2.6. 配置要点

  • 回测区间、资产池:与 mode=1 一致,决定每次参数评估的回测环境。

  • 目标函数:决定“更优”的定义(如夏普最大化、回撤最小化),影响排序与最终选取。