Estrategia de trading cuantitativo que integra la reversión y la media móvil futura


Fecha de creación: 2023-12-08 12:00:35 Última modificación: 2023-12-08 12:00:35
Copiar: 0 Número de Visitas: 624
1
Seguir
1621
Seguidores

Estrategia de trading cuantitativo que integra la reversión y la media móvil futura

Descripción general

La estrategia combina la estrategia de reversión 123 y la estrategia de línea media de avance hacia el futuro, lo que permite una estrategia de negociación cuantitativa de entrada o salida cuando ambas estrategias emiten señales al mismo tiempo. La estrategia se aplica principalmente en el mercado de futuros de índices de valores, donde se realiza una operación de posición a medio plazo mediante la captura de una combinación de señales de reversión a corto plazo y señales de tendencia a medio plazo.

Principio de estrategia

123 estrategias de reversión

La estrategia de 123 inversiones se originó en el libro Cómo triplicar los fondos en el mercado de futuros. La estrategia se realiza cuando el precio de cierre se inverte dos días consecutivos y la línea K lenta es inferior a 50 por nueve días consecutivos; y se realiza cuando el precio de cierre se inverte dos días consecutivos y la línea K rápida es superior a 50 por nueve días consecutivos.

Estrategia para el futuro

Las Líneas de Demarcación Futuras (FLD) son una estrategia de seguimiento de tendencias basada en la ley periódica de la fluctuación de los precios. Las líneas de FLD se dibujan sobre la base de la mediana, la alta o la baja de los precios hacia el futuro, generando una señal de negociación cuando las líneas de precios cruzan la línea de FLD.

Análisis de las ventajas

La estrategia combina la estrategia de reversión y la estrategia de seguimiento de tendencias para capturar oportunidades de reversión en el mercado a corto plazo y la dirección de la tendencia a mediano y largo plazo, lo que permite el comercio cuantitativo en múltiples escalas de tiempo. La estrategia de reversión ofrece oportunidades de ganancias en el corto plazo, y la parte de seguimiento de tendencias puede garantizar que la dirección general de la negociación esté en consonancia con la tendencia y que el riesgo de negociación esté controlado de manera efectiva. Además, la característica de adaptación de la línea de promedio en el futuro también aumenta la estabilidad de la estrategia.

Análisis de riesgos

Esta estrategia se enfrenta principalmente al riesgo de falsos reveses de la señal de inversión y al riesgo de error en el juicio de la línea FLD. Para los primeros, se puede confirmar la señal de inversión ajustando los parámetros o agregando otros indicadores de determinación auxiliares para mejorar la precisión del juicio. Para los últimos, se necesitan parámetros optimizados para asegurar que puedan describir con mayor precisión la ley de la banda de onda del mercado. Además, también se necesita estar alerta a la posibilidad de que la línea FLD se vuelva errónea cuando la tendencia de los ciclos mayores se invierte.

Dirección de optimización

  1. Mejora de la estrategia de reversión, añadiendo otros indicadores para filtrar las señales de confirmación y reducir la probabilidad de falsas brechas
  2. Comparación de los diferentes parámetros de la línea de FLD para ver si se puede describir con mayor precisión la ley de ciclo
  3. Añadido el Stop Loss Logic para controlar el riesgo de pérdidas individuales
  4. Prueba de los parámetros de las diferentes variedades

Resumir

La estrategia combina la inversión y la filosofía de comercio de la tendencia para lograr ganancias estables en un marco de tiempo medio y corto. En el futuro, se puede optimizar en términos de confirmación de la precisión de la señal, descripción de la precisión de la tendencia y control de los riesgos, lo que hace que el alcance de los parámetros de la estrategia sea más amplio y más estable.

Código Fuente de la Estrategia
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/08/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//  An FLD is a line that is plotted on the same scale as the price and is in fact the 
//  price itself displaced to the right (into the future) by (approximately) half the 
//  wavelength of the cycle for which the FLD is plotted. There are three FLD's that can be 
//  plotted for each cycle:
//    An FLD based on the median price.
//    An FLD based on the high price.
//    An FLD based on the low price.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


FLD(Period,src) =>
    pos = 0
    pos := iff(src[Period] < close , 1,
             iff(src[Period] > close, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & FLD's - Future Lines of Demarcation", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Period = input(title="Period", defval=40)
src = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFLD = FLD(Period,src)
pos = iff(posReversal123 == 1 and posFLD == 1 , 1,
	   iff(posReversal123 == -1 and posFLD == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )