2. Cómo ejecutar la optimización de la estrategia

2.1. Punto de entrada y kwargs comunes

Ejecute la optimización de la estrategia con qt.run(op, mode=2, ...). Common arguments include opti_method, opti_sample_count, opti_output_count y otros.

2.2. Lista completa de algoritmos de optimización (con breves explicaciones)

Los siguientes son valores opti_method comunes y casos de uso típicos; Consulte la API qteasy 2.0 como fuente de verdad.

Algoritmo

Significado

Caso de uso típico

grid

Búsqueda de cuadrícula

Pocos parámetros, espacio discreto; Búsqueda de cuadrícula exhaustiva o aproximada.

montecarlo

Muestreo aleatorio de Montecarlo

Muestreo aleatorio cuando hay muchos parámetros.

GA

Algoritmo genético

Dimensiones medias a altas; espacios mixtos continuos/discretos.

SA

Recocido simulado

Dimensiones medianas; útil cuando los óptimos locales son una preocupación.

PSO

Optimización del enjambre de partículas

Espacio continuo con múltiples picos.

bayesian

optimización bayesiana

Evaluaciones costosas; Necesita buenos resultados en unos pocos pasos.

2.3. Lista completa de parámetros de ejecución de optimización (con breves explicaciones)

Nombre del parámetro

Tipo / Valores

Significado

opti_method

str

Algoritmo de optimización: grid, montecarlo, GA, SA, PSO, bayesian, etc.

opti_sample_count

int

Número de muestras/iteraciones (por ejemplo, muestras de Monte Carlo o generaciones GA).

opti_output_count

int

Número de mejores resultados a conservar (Top-K).

Función objetivo

Por ejemplo, ratio de Sharpe o reducción; consulte los documentos de configuración o API.

Restricciones

Si se aplican restricciones (por ejemplo, límite máximo de reducción), consulte la configuración.

Rango de fechas de prueba retrospectiva, asset_pool, and other arguments shared with mode=1 also apply in mode=2.

2.4. Espacio de parámetros

La estrategia es Parameter objects and par_range define the search space; the framework samples or searches within it according to opti_method.

2.5. Ejemplo mínimo ejecutable

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. Aspectos destacados de la configuración

  • Rango de prueba retrospectiva y grupo de activos: Igual que mode=1; Definen el entorno de backtest para la evaluación de cada parámetro.

  • Función objetiva: Define lo que significa «mejor» (por ejemplo, maximizar Sharpe o minimizar la reducción) y afecta la clasificación y la selección final.