8. Operator: Creación y Configuración Básica

Operator es el contenedor de estrategias y el programador de qteasy. Ejecuta estrategias en frecuencias y tiempos configurados en backtest o trading en vivo y genera señales en un formato unificado.

8.1. Crea un Operator

Cree uno con qt.Operator(), optionally passing a strategy list and signal_type, run_freq, run_timing y otros argumentos:

import qteasy as qt

# 最小示例:仅指定信号类型与运行频率
op = qt.Operator(signal_type='PT', run_freq='d')

# 创建时即添加策略(策略 ID 或实例)
op = qt.Operator(strategies='dma', signal_type='PT', run_freq='d', run_timing='open')

8.2. Agregar estrategias

  • **⟦CÓDIGO0⟧⟦CÓDIGO1⟧⟦CÓDIGO2⟧⟦CÓDIGO3⟧⟦CÓDIGO4⟧; se une a un grupo existente si coinciden; de lo contrario, crea un nuevo grupo.

  • add_strategies(stg_list, run_freq=None, run_timing=None): Add multiple strategies and group them by run_freq/run_timing de la misma manera.

op = qt.Operator(signal_type='PT', run_freq='d')
op.add_strategy('macd', run_freq='d', run_timing='open')
op.add_strategy(qt.get_strategy_by_id('dma'), run_freq='d', run_timing='open')

8.3. Atributos y significados comunes

Atributo

Significado

signal_type

Tipo de señal: PT position target, PS proportional signal, VS señal de valor, etc.

run_freq

Frecuencia de ejecución, por ejemplo, 'd' daily or '1min'; aligns with DataTypefreq.

run_timing

Ejecute el tiempo, por ejemplo, 'open' at open or 'close' al cerrar.

groups

Detalles del grupo (estrategias con el mismo run_freq/run_timing forman un grupo).

8.4. Establecer parámetros de estrategia

Utilice set_parameter(stg_id, pars=None, run_freq=None, run_timing=None, ...) para establecer parámetros ajustables o asignación de grupo para una estrategia:

op.set_parameter('dma', pars={'short_period': 5, 'long_period': 20})

8.5. Comprobación previa a la ejecución

  • is_ready(): Verifique si Operator está configurado con estrategias y requisitos de datos; útil antes del backtest u optimización.