Estrategia de negociación cuantitativa del oscilador de precios desviado

El autor:¿ Qué pasa?, Fecha: 2023-11-24 11:22:30
Las etiquetas:

Resumen de la estrategia

La estrategia se llama Detrended Price Oscillator Quantitative Trading Strategy. Genera señales comerciales basadas en el indicador Detrended Price Oscillator, que es una estrategia típica de indicadores técnicos.

Estrategia lógica

El núcleo de esta estrategia es el indicador Detrended Price Oscillator (DPO). DPO es similar al promedio móvil, que puede filtrar tendencias a largo plazo en los precios para hacer que las fluctuaciones cíclicas sean más pronunciadas. Específicamente, DPO compara los precios con su promedio móvil simple de N días. Cuando el precio está por encima del promedio móvil, DPO es positivo; cuando el precio está por debajo del promedio móvil, DPO es negativo. Esto resulta en un oscilador que fluctúa alrededor del eje 0. Podemos usar el positivo / negativo de DPO para juzgar el aumento / caída de los precios en relación con la tendencia.

Esta estrategia establece el parámetro N en 14 y construye un indicador de DPO de 14 días. Cuando DPO es positivo, se emite una señal larga. Cuando DPO es negativo, se emite una señal corta.

Ventajas

  • El DPO es esencialmente un indicador de filtrado que puede identificar eficazmente los ciclos de precios a mediano plazo, lo que es muy útil para descubrir oportunidades comerciales relativamente ocultas.
  • El DPO tiene una construcción sencilla y es fácil de entender.
  • En comparación con el precio en sí, el patrón de indicadores del DPO es más estandarizado y más fácil de juzgar, por lo que es adecuado para formular normas.

Los riesgos

  • Al igual que la mayoría de las estrategias de indicadores técnicos, la estrategia del DPO tiende a generar frecuentemente señales de negociación innecesarias, lo que puede generar deslizamientos innecesarios y costes de transacción.
  • El DPO es muy sensible al parámetro N. Diferentes selecciones de parámetros pueden dar lugar a una eficacia estratégica muy diferente. Se necesitan pruebas extensas para encontrar el parámetro óptimo.
  • En los mercados de tendencia, el período de retención de las estrategias de DPO puede ser demasiado largo para detener las pérdidas a tiempo, lo que plantea cierto riesgo de pérdida de sangre.

Para mitigar los riesgos, la optimización puede considerarse en los siguientes aspectos:

  1. Añadir mecanismos de stop loss para controlar pérdidas individuales.

  2. Ajuste el valor del parámetro N para encontrar el parámetro óptimo.

  3. Incorporar indicadores de tendencia para evitar negociar contra tendencias significativas.

Conclusión

Esta estrategia genera señales comerciales basadas en el indicador Detrended Price Oscillator. Al comparar con los promedios móviles, este indicador filtra las tendencias a largo plazo en los precios para hacer que las características cíclicas de los precios sean más pronunciadas. Esto ayuda a descubrir algunas oportunidades comerciales ocultas. Al mismo tiempo, también enfrenta problemas como la sensibilidad de los parámetros, el filtrado, etc. Todavía hay un gran espacio para mejorar la eficacia a través de la optimización continua.


/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-20 08:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/03/2017
// The Detrend Price Osc indicator is similar to a moving average, 
// in that it filters out trends in prices to more easily identify 
// cycles. The indicator is an attempt to define cycles in a trend 
// by drawing a moving average as a horizontal straight line and 
// placing prices along the line according to their relation to a 
// moving average. It provides a means of identifying underlying 
// cycles not apparent when the moving average is viewed within a 
// price chart. Cycles of a longer duration than the Length (number 
// of bars used to calculate the Detrend Price Osc) are effectively 
// filtered or removed by the oscillator.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Detrended Price Oscillator", shorttitle="DPO")
Length = input(14, minval=1)
Series = input(title="Price",  defval="close")
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xPrice = close
xsma = sma(xPrice, Length)
nRes = xPrice - xsma
pos = iff(nRes > 0, 1,
	     iff(nRes < 0, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=red, title="Detrended Price Oscillator")

Más.