Estrategia de seguimiento de la ruptura del impulso de compresión de volatilidad: implementación cuantitativa del indicador de compresión TTM

动量指标 波动率 布林带 肯特纳通道 线性回归 移动平均线 量化交易 追踪止损 MA BB KC TTM SMA ATR
Fecha de creación: 2025-06-19 13:42:37 Última modificación: 2025-06-19 13:42:37
Copiar: 5 Número de Visitas: 368
2
Seguir
319
Seguidores

Estrategia de seguimiento de la ruptura del impulso de compresión de volatilidad: implementación cuantitativa del indicador de compresión TTM Estrategia de seguimiento de la ruptura del impulso de compresión de volatilidad: implementación cuantitativa del indicador de compresión TTM

Descripción general

La estrategia de seguimiento de rupturas de fluctuaciones de compresión de fluctuaciones es un sistema de negociación cuantitativa basado en el indicador de compresión de TTM, diseñado específicamente para capturar fuertes rupturas de fluctuaciones después de la compresión de fluctuaciones. La estrategia combina hábilmente la compresión de fluctuaciones (la banda de Bryn se encuentra dentro del canal de Kentner) con la confirmación de fluctuaciones para construir un sistema de negociación que solo hace más. Su idea central es identificar las fases de “acumulación de energía” en el mercado, es decir, los períodos en que las fluctuaciones se contraen significativamente, y luego entrar en escena para capturar las siguientes rupturas de comportamiento en caso de confirmación de fluctuaciones.

Principio de estrategia

El principio central de la estrategia se basa en la naturaleza periódica de la volatilidad del mercado, es decir, “la contracción de la tasa de fluctuación es acompañada inevitablemente por una expansión de la tasa de fluctuación”. En concreto, la estrategia trabaja en conjunto a través de los siguientes componentes clave:

  1. Determinación del estado de expresión

    • Calcula el cinturón de Bryn de 20 ciclos (BB), con un parámetro de 2.0
    • Calcula el canal de Kentner de 20 ciclos ((KC), con un parámetro de 1.5, utilizando el amplitud de onda real ((ATR)
    • El estado definido como “extrusión abierta” cuando toda la cinta de Brin está completamente dentro del canal de Kentner
  2. Gráfico de las columnas de potencia

    • Calcula el SMA de cierre de 20 ciclos y el punto medio en el rango de máximos y mínimos recientes
    • Medir el grado de desviación de los precios de esta media mixta
    • Aplica una regresión lineal de 20 ciclos a este valor de desviación para generar un gráfico columnar
    • En función de la variación de la dinámica, el uso de diferentes colores de identificación: verde / verde brillante en la tendencia al alza, en la tendencia a la baja de rojo / rojo naranja
  3. Indicaciones visuales

    • Punto azul de la marina = estiramiento encendido (preparación para la explosión)
    • Punto azul de acero = Expresión recién liberada
    • Punto azul celeste = neutro (sin expresión)
  4. Lógica de transacciones

    • Condiciones de ingreso: tres columnas consecutivas forman el estado de “apertura de expansión” (es decir, tres puntos azules navales consecutivos)
    • Condiciones de salida: el precio cae por debajo de la media móvil simple de 21 ciclos
    • Solo hacer más, ejecutar una transacción a la vez, no hacer nada

El análisis del código muestra que la estrategia se ejecuta estrictamente de acuerdo con esta lógica y ofrece parámetros configurables para el usuario, que incluyen la longitud y el múltiplo de BB y KC, la opción de usar el ancho de onda real y la configuración del rango de tiempo de la ventana de negociación.

Ventajas estratégicas

Después de analizar el código en profundidad, la estrategia muestra varias ventajas significativas:

  1. Capturando el comienzo de una gran tendenciaLa estrategia se centra en capturar estos puntos de ruptura de alta probabilidad, lo que ayuda a construir posiciones al comienzo de la tendencia y maximizar el espacio de ganancias.

  2. Filtración de señales de baja calidadRequiere que tres columnas consecutivas estén en estado de expresión, filtrando efectivamente el fenómeno de “falsa expresión” temporal, reduciendo las señales de error y mejorando la calidad de las transacciones.

  3. Deterioro de la dinámica inteligente: El uso de una media móvil de 21 ciclos como un stop-loss de seguimiento permite que la tendencia se desarrolle plenamente y que se pueda salir a tiempo cuando el impulso se desvanece, equilibrando el potencial de ganancias y el control de riesgos.

  4. Es muy intuitiva visualmente.La estrategia conserva todos los elementos visuales del indicador original de la TTM, incluyendo el gráfico de columnas de movimiento y los puntos de extirpación codificados en color, para que el comerciante pueda entender intuitivamente el motivo de la activación de cada operación.

  5. Adaptabilidad generalizadaEl diseño de la estrategia se puede aplicar en cualquier marco de tiempo desde 1 minuto hasta el perímetro, es adecuado para una variedad de tipos de transacciones y tiene una gran universalidad.

  6. Los parámetros se pueden personalizar: Proporciona una configuración de parámetros flexible que permite a los comerciantes ajustar la sensibilidad de las bandas de Bryn y los canales de Kentner en función de las características de fluctuación de una variedad específica.

  7. Función de retroalimentación incorporadaLa estrategia incluye soporte de retroalimentación, incluyendo simulaciones de comisiones y puntos de deslizamiento, para evaluar el rendimiento de la estrategia de manera más realista.

Riesgo estratégico

A pesar de la buena concepción de la estrategia, existen los siguientes riesgos potenciales:

  1. Riesgo de una falsa brecha: Incluso después de la filtración de los tres pilares, el mercado puede tener falsas rupturas, lo que hace que el precio vuelva rápidamente por debajo de la media móvil después de la ruptura, lo que desencadena un stop loss. La solución es considerar agregar indicadores de confirmación adicionales, como la confirmación de volumen de transacción o un filtro de tendencia.

  2. El mercado de la turbulencia no ha funcionado bienEn un entorno de mercado de larga duración con fluctuaciones horizontales, las estrategias pueden entrar y salir con frecuencia, lo que provoca pequeñas pérdidas continuas. Se puede resolver mediante la adición de condiciones de juicio de tendencia y la suspensión de la negociación en un mercado de agitación clara.

  3. Detener el retrasoLa media móvil de 21 períodos puede reaccionar más lentamente en un mercado de rápida reversión, lo que lleva a una expansión de la retractación. Se puede considerar ajustar la media móvil a un período más corto en un entorno de alta volatilidad o agregar un componente de adaptación a la volatilidad.

  4. Riesgo de una tendencia bajista a largo plazoComo una estrategia de multitarea pura, se enfrenta a un desafío en un mercado bajista a largo plazo. Se puede considerar la adición de filtros de tendencias del mercado o el desarrollo de estrategias de cobertura complementarias para contrarrestar este riesgo.

  5. Sensibilidad de los parámetrosLa configuración de los parámetros de la banda de Bryn y el canal Kentner tiene un impacto significativo en el rendimiento de la estrategia, y los parámetros inadecuados pueden causar demasiadas señales o perder oportunidades importantes. Se recomienda optimizar la configuración de los parámetros mediante la retroalimentación en diferentes condiciones de mercado.

  6. Riesgo de liquidezComo se señala en el código de comentarios, las variedades con un volumen de transacciones muy bajo o con un marco de tiempo poco líquido pueden experimentar un mayor retiro. Se debe evitar aplicar esta estrategia en mercados con poca liquidez.

Dirección de optimización de la estrategia

Basado en el análisis del código, las siguientes son las direcciones en las que la estrategia puede ser optimizada:

  1. La cantidad de adición confirmadaLas estrategias actuales solo toman decisiones basadas en el precio y la volatilidad, sin tener en cuenta los factores de volumen. Se recomienda aumentar los requisitos de confirmación de volumen de transacciones para garantizar que las rupturas se produzcan con el apoyo de un mayor volumen de transacciones y aumentar la efectividad de las rupturas. Esta optimización reduce significativamente el riesgo de falsas rupturas.

  2. Mecanismo de parámetros de adaptaciónLos parámetros actuales son valores fijos, se puede considerar la implementación de un sistema de parámetros de adaptación basado en la volatilidad histórica, lo que permite a las estrategias ajustar automáticamente el múltiplo de la banda de Bryn y el canal de Kentner en función de las condiciones del mercado, lo que mejora la adaptabilidad de las estrategias en diferentes entornos de volatilidad.

  3. Análisis integrado de la estructura del mercadoLa introducción de algoritmos para identificar la estructura del mercado, como niveles de soporte/resistencia, líneas de tendencia o niveles de precios importantes, puede tener una mayor tasa de éxito en las señales de expansión cerca de los puntos de estructura clave.

  4. Análisis de marcos de tiempo múltiples: Implementación de un mecanismo de confirmación de múltiples marcos de tiempo, que requiere que la señal de entrada cumpla con las condiciones de marcos de tiempo más largos y más cortos, lo que mejora la calidad de la señal y reduce las falsas rupturas.

  5. Optimización de la gestión de riesgosLas estrategias actuales utilizan una media móvil fija como stop loss y pueden considerar un stop loss dinámico basado en el ATR o un ajuste de tamaño de posición basado en la volatilidad, lo que mejora el rendimiento ajustado al riesgo.

  6. Añadir una lógica de vacíoConsiderar el diseño de lógica de cortocircuito complementaria para que la estrategia sea tan efectiva en un mercado bajista como para mejorar la adaptabilidad a todo el ciclo del mercado.

  7. Filtros estacionales y de tiempo: La estrategia analiza el rendimiento de diferentes períodos de tiempo en diferentes estaciones, meses o días, y puede encontrar que ciertos períodos de tiempo tienen un mejor rendimiento, por lo que se agregan filtros de tiempo para mejorar el rendimiento general.

Resumir

La estrategia de seguimiento de la ruptura de la dinámica de compresión de la oscilación es un sistema de negociación cuantitativa elegante y práctico que logra convertir los clásicos indicadores de expansión de TTM en un marco de estrategia rastreable. Su principal ventaja reside en la captura de las tendencias de ruptura después de la compresión de la oscilación y la protección de las ganancias mediante el seguimiento de los paros de las medias móviles. La estrategia está diseñada de manera sencilla y eficaz, a la vez que proporciona una gran cantidad de comentarios visuales que permiten al comerciante comprender fácilmente el proceso de formación de cada señal de negociación.

A pesar de la existencia de algunos riesgos potenciales, tales como el mal desempeño de los mercados de falsos breaks y los shocks, estos pueden ser mitigados de manera efectiva a través de la dirección de optimización sugerida. En particular, la adición de medidas de optimización como la confirmación de volumen de transacciones, el mecanismo de parámetros de adaptación y el análisis de múltiples marcos de tiempo, promete mejorar significativamente la solidez y la adaptabilidad de la estrategia.

La estrategia ofrece un punto de partida sólido para los comerciantes que buscan capturar las rupturas de la volatilidad del mercado, ya sea para su aplicación directa o como un componente básico de sistemas más complejos. Lo más importante es que la filosofía de diseño de la estrategia se ajusta a las leyes fundamentales del mercado: la contracción de la tasa de fluctuación eventualmente conduce a la expansión de la tasa de fluctuación, y identificar y aprovechar esta ley es una de las claves para el éxito de las operaciones.

Código Fuente de la Estrategia
/*backtest
start: 2024-06-19 00:00:00
end: 2025-06-17 08:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("NA GPT - TTM Squeeze Strategy", overlay=false, commission_type=strategy.commission.percent, commission_value=0.01, slippage=3)

// === Inputs ===
length       = input.int(20,  title="BB & KC Length")
multBB       = input.float(2, title="BB MultFactor")
lengthKC     = input.int(20,  title="KC Length")
multKC       = input.float(1.5, title="KC MultFactor")
useTrueRange = input.bool(true, title="Use TrueRange (KC)")

// === Core data ===
source = close

// --- Bollinger Bands ---
basis   = ta.sma(source, length)
dev     = multBB * ta.stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// --- Keltner Channels ---
ma          = ta.sma(source, lengthKC)
kcRange     = useTrueRange ? ta.tr : (high - low)
kcRangeAvg  = ta.sma(kcRange, lengthKC)
upperKC     = ma + kcRangeAvg * multKC
lowerKC     = ma - kcRangeAvg * multKC

// --- Squeeze states ---
sqzOn  = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz  = not sqzOn and not sqzOff

// --- Momentum histogram (same as indicator) ---
midpoint = (ta.highest(high, lengthKC) + ta.lowest(low, lengthKC)) / 2
average  = (midpoint + ta.sma(close, lengthKC)) / 2
val      = ta.linreg(source - average, lengthKC, 0)

// Histogram colours
bcolor = val > 0 ?
         (val > nz(val[1]) ? color.lime : color.green) :
         (val < nz(val[1]) ? color.red  : color.maroon)

// Zero-line colour
scolor = noSqz ? color.new(color.blue, 0) :
         sqzOn ? color.new(#031753, 0)   :
                  color.new(#78797c, 0)

// === Plotting (visuals preserved) ===
plot(val, title="Momentum", style=plot.style_histogram, linewidth=4, color=bcolor)
plot(0,   title="Zero Line", style=plot.style_line,      linewidth=2, color=scolor)

// --- Blue-dot theme ---
dotColor = sqzOn  ? color.new(#000080, 0) :   // Navy Blue
           sqzOff ? color.new(#7f858a, 0) :   // Steel Blue
                     color.new(#87CEEB, 0)    // Sky Blue
plotshape(true, title="Squeeze Dot", location=location.bottom, style=shape.circle, color=dotColor, size=size.tiny)

// === Trading logic ===

// 3 consecutive “blue-dot” squeeze bars
threeSqz = sqzOn and sqzOn[1] and sqzOn[2]

// 21-period SMA
sma21 = ta.sma(close, 21)

// Entry: go long when threeSqz appears inside window
if strategy.position_size == 0 and threeSqz
    strategy.entry("Long", strategy.long)

// Exit: close long when price crosses below SMA-21
if strategy.position_size > 0 and ta.crossunder(close, sma21)
    strategy.close("Long")