Type/to search

Estrategia de cuadrícula dinámica adaptativa largo/corto

Common strategy
Created: 2024-03-19 14:19:12
Last modified: 2 years ago
1
Follow
1802
Followers

img

Resumen

Esta es una estrategia de trading adaptativa de cuadrícula dinámica larga/corta basada en Pine Script. La idea central de la estrategia es calcular automáticamente los límites superior e inferior de una cuadrícula basándose en los máximos y mínimos recientes del precio o en una media móvil simple, y luego dividir ese rango de manera uniforme en múltiples líneas de cuadrícula. Cuando el precio toca una línea de cuadrícula, se abre una posición larga o se cierra en ese nivel. De esta manera, la estrategia puede abrir y cerrar posiciones continuamente en condiciones de mercado oscilante, obteniendo ganancias por diferencias de precio. Al mismo tiempo, al ajustar dinámicamente los límites de la cuadrícula, también puede adaptarse a diferentes tendencias del mercado.

Principio de la estrategia

  1. Cálculo de los límites superior e inferior de la cuadrícula. Según la selección del usuario, los límites pueden basarse en el máximo y mínimo de las últimas N velas, con posibilidad de establecer un porcentaje de expansión o contracción; también pueden basarse en la media móvil simple de los precios de cierre de las últimas N velas, con un porcentaje de desviación hacia arriba y hacia abajo.

  2. Generación del array de líneas de cuadrícula. Según el número de líneas de cuadrícula configurado, el rango de la cuadrícula se divide uniformemente para generar el array de precios de las líneas de cuadrícula.

  3. Entrada / Adición de posiciones. Se recorren las líneas de cuadrícula de abajo hacia arriba; si el precio de cierre actual es menor que el precio de una línea de cuadrícula y esa línea aún no tiene posición, se abre una orden larga en ese nivel. De esta manera, cuando el precio toca líneas de cuadrícula más altas, se continúa añadiendo posiciones.

  4. Salida / Reducción de posiciones. Se recorren las líneas de cuadrícula de arriba hacia abajo; si el precio de cierre actual es mayor que el precio de una línea de cuadrícula y la línea de cuadrícula inferior tiene una posición, se cierra la posición larga de esa línea inferior. Así, cuando el precio retrocede, se reducen las posiciones continuamente.

  5. Ajuste dinámico. Si se selecciona la función de cuadrícula dinámica, en cada vela se recalculan los límites superior e inferior de la cuadrícula y el array de líneas de cuadrícula, lo que permite que la cuadrícula se adapte constantemente a los cambios del mercado.

Análisis de ventajas

  1. Alta adaptabilidad. La estrategia de cuadrícula puede adaptarse a mercados oscilantes y de tendencia. En mercados oscilantes, la estrategia de cuadrícula abre y cierra posiciones continuamente, obteniendo ganancias por diferencias de precio. En mercados con tendencia, como la cuadrícula sigue el movimiento del precio, puede mantener cierta posición y obtener ganancias por tendencia.

  2. Riesgo controlable. El tamaño de cada posición abierta está determinado por el número de líneas de cuadrícula configurado, por lo que la exposición al riesgo por operación es pequeña y controlable. Además, dado que cuando el precio toca las líneas de cuadrícula superiores se cierran posiciones con ganancias, también se contrarrestan parcialmente las pérdidas potenciales.

  3. Alto grado de automatización. Esta estrategia puede funcionar básicamente de forma totalmente automática, sin necesidad de intervención manual, adecuada para inversores que buscan rendimientos estables a largo plazo.

  4. Parámetros flexibles. El usuario puede ajustar de manera flexible el número de líneas de cuadrícula, los parámetros de cuadrícula dinámica, etc., según las características del mercado, para optimizar el rendimiento de la estrategia.

Análisis de riesgos

  1. Riesgo de cisne negro. Si se produce una caída extrema del mercado y el precio salta por debajo de la línea de cuadrícula más baja, la estrategia quedará completamente posicionada y enfrentará un gran drawdown. Para reducir este riesgo, se puede establecer una condición de stop loss; una vez que la pérdida alcance el umbral, se cierran todas las posiciones.

  2. Configuración inadecuada de los parámetros de la cuadrícula. Si la densidad de la cuadrícula es demasiado alta, la diferencia de precio entre cada apertura y cierre será muy pequeña, y las comisiones pueden erosionar la mayor parte de las ganancias. Si el ancho de la cuadrícula es demasiado grande, la proporción de apertura de una sola vez será alta, con una mayor exposición al riesgo. Es necesario evaluar cuidadosamente las características del activo subyacente y seleccionar los parámetros de cuadrícula adecuados.

  3. Riesgo de base. Esta estrategia establece las condiciones de apertura y cierre basándose en el precio actual. En mercados como futuros, si el precio del contrato difiere significativamente del precio del activo subyacente, los niveles reales de apertura/cierre pueden desviarse de lo esperado.

Direcciones de optimización

  1. Agregar filtro de tendencia. La estrategia de cuadrícula tiene un rendimiento deficiente en mercados con tendencia unilateral. Se pueden agregar indicadores de tendencia como filtro, por ejemplo, activar la cuadrícula solo cuando ADX esté por debajo de cierto umbral, y cerrar la cuadrícula cuando la tendencia sea evidente, manteniendo solo una posición unilateral.

  2. Optimización de señales. Se pueden superponer otras señales sobre la cuadrícula, como cuadrícula + media móvil, donde la apertura/cierre está determinada principalmente por la cuadrícula, pero solo se abre cuando el precio cruza una media móvil; de lo contrario, no se abre. Esto reduce los costos generados por la apertura/cierre frecuente.

  3. Gestión de posición. Actualmente, la posición por cada línea de cuadrícula es fija. Se puede ajustar para reducir la posición por línea cuando el precio está lejos del precio promedio del mercado, y aumentarla cuando está cerca del precio promedio, mejorando la eficiencia en el uso del capital.

  4. Densidad de cuadrícula adaptativa. Ajustar dinámicamente la densidad de la cuadrícula según la volatilidad del precio: cuando la volatilidad es alta, se puede aumentar el número de líneas de cuadrícula; cuando la volatilidad es baja, reducirlo. Esto optimiza el ancho de la cuadrícula y mejora la utilización del capital.

Conclusión

Esta estrategia, mediante una cuadrícula dinámica adaptativa, puede abrir y cerrar posiciones frecuentemente en mercados oscilantes para obtener ganancias por diferencia de precios, y también mantener cierta exposición direccional en mercados con tendencia para obtener ganancias por tendencia. Es una estrategia cuantitativa de mediano a largo plazo con alta adaptabilidad. Configurando adecuadamente la lógica de activación de la cuadrícula y la gestión de posición, se pueden obtener rendimientos estables. Sin embargo, es necesario prestar atención a los riesgos de eventos extremos y saltos de precio, lo que requiere establecer condiciones de stop loss adecuadas para controlarlos. Además, hay espacio para una mayor optimización en la configuración de parámetros y la gestión de riesgos, introduciendo filtros de tendencia, superposición de señales, gestión de posición y densidad de cuadrícula adaptativa para mejorar la solidez y rentabilidad de la estrategia. En resumen, esta estrategia se basa en la lógica básica de cuadrícula e incorpora un mecanismo de adaptación dinámica, lo que puede proporcionar nuevas ideas y referencias para los inversores cuantitativos de mediano a largo plazo.

Source
Pine
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jcloyd

//@version=4
strategy("(IK) Grid Script", overlay=true, pyramiding=14, close_entries_rule="ANY", default_qty_type=strategy.cash, initial_capital=100.0, currency="USD", commission_type=strategy.commission.percent, commission_value=0.1)
i_autoBounds    = input(group="Grid Bounds", title="Use Auto Bounds?", defval=true, type=input.bool)                             // calculate upper and lower bound of the grid automatically? This will theorhetically be less profitable, but will certainly require less attention
i_boundSrc      = input(group="Grid Bounds", title="(Auto) Bound Source", defval="Hi & Low", options=["Hi & Low", "Average"])     // should bounds of the auto grid be calculated from recent High & Low, or from a Simple Moving Average
i_boundLookback = input(group="Grid Bounds", title="(Auto) Bound Lookback", defval=250, type=input.integer, maxval=500, minval=0) // when calculating auto grid bounds, how far back should we look for a High & Low, or what should the length be of our sma
i_boundDev      = input(group="Grid Bounds", title="(Auto) Bound Deviation", defval=0.10, type=input.float, maxval=1, minval=-1)  // if sourcing auto bounds from High & Low, this percentage will (positive) widen or (negative) narrow the bound limits. If sourcing from Average, this is the deviation (up and down) from the sma, and CANNOT be negative.
i_upperBound    = input(group="Grid Bounds", title="(Manual) Upper Boundry", defval=0.285, type=input.float)                      // for manual grid bounds only. The upperbound price of your grid
i_lowerBound    = input(group="Grid Bounds", title="(Manual) Lower Boundry", defval=0.225, type=input.float)                      // for manual grid bounds only. The lowerbound price of your grid.
i_gridQty       = input(group="Grid Lines",  title="Grid Line Quantity", defval=8, maxval=15, minval=3, type=input.integer)       // how many grid lines are in your grid
Strategy parameters
Strategy parameters
Grid Bounds
Use Auto Bounds?
(Auto) Bound Source
(Auto) Bound Lookback
(Auto) Bound Deviation
(Manual) Upper Boundry
(Manual) Lower Boundry
Grid Lines
Grid Line Quantity
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)