5. Combinación de señales de grupo y estrategia

En una expresión Operator, strategies with the same run_freq and run_timing belong to the same Group; within each Group, a blender fusiona múltiples señales de estrategia en una.

5.1. Cómo se forman los grupos

  • Al agregar estrategias con run_freq and run_timing, se unen a un grupo existente si coinciden; de lo contrario, se crea un nuevo grupo.

  • En el backtest/comercio en vivo, la programación es por grupo: las estrategias de un grupo se ejecutan al mismo tiempo y luego el mezclador fusiona sus resultados.

5.2. Inspeccionar grupos Operator

  • groups: Configuración y estrategias de miembros de cada Grupo.

  • group_timing_table: run_freq and run_timing por grupo para verificar los cronogramas de ejecución.

5.3. Expresiones de licuadora

Un mezclador fusiona señales de estrategias en el mismo grupo (s0, s1, s2,… en orden sumado). Formas comunes:

Expresión

Significado

s0

Utilice sólo la señal de la primera estrategia.

0.5*s0+0.5*s1

Combinación de igual peso de dos señales estratégicas.

s0*s1

Producto por elementos (por ejemplo, multiplicar posiciones de sincronización).

(s0+s1)/2

Equivalente a 0.5*s0+0.5*s1.

Relación con signal_type: Para PT, s0/s1 generalmente son posiciones en [0,1]; para PS, siga la convención de cada estrategia. Las operaciones admitidas son escalares combinados con s0/s1/… vía +, −, ×, ÷.

5.4. Fusionar varios grupos

Cuando un Operator has multiple Groups, group_merge_type controla cómo se combinan las señales finales:

  • None: Marco predeterminado (generalmente el último o un grupo designado).

  • And: Y lógico entre grupos (por ejemplo, todas las señales de sincronización deben ser 1).

  • Or: O lógico entre grupos.

5.5. Ejemplo

Combinación típica de igual peso de dos estrategias de sincronización:

op = qt.Operator(signal_type='PT', run_freq='d')
op.add_strategy('dma', run_freq='d', run_timing='open')
op.add_strategy('macd', run_freq='d', run_timing='open')
# 在 Group 的 blender 中设置为 0.5*s0+0.5*s1(具体 API 以当前版本为准)

Después de la configuración, este grupo calcula las señales dma y macd por separado en cada paso de ejecución y luego genera la posición combinada a través del mezclador.