2. 如何运行策略优化
2.1. 入口与常用 kwargs
使用 qt.run(op, mode=2, …) 运行策略优化。常用参数包括 opti_method、opti_sample_count、opti_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. 参数空间
策略的 Parameter 及 par_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 一致,决定每次参数评估的回测环境。
目标函数:决定“更优”的定义(如夏普最大化、回撤最小化),影响排序与最终选取。