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_freqandrun_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_freqandrun_timingpor 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 |
|---|---|
|
Utilice sólo la señal de la primera estrategia. |
|
Combinación de igual peso de dos señales estratégicas. |
|
Producto por elementos (por ejemplo, multiplicar posiciones de sincronización). |
|
Equivalente a |
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.