Estrategia de negociación de inversión de múltiples factores

El autor:¿ Qué pasa?, Fecha: 2023-09-19 21:13:04
Las etiquetas:

Resumen general

Esta estrategia combina múltiples indicadores técnicos para identificar las reversiones de precios, lo que la convierte en una estrategia de negociación de reversión impulsada por múltiples factores.

Estrategia lógica

La estrategia consta de dos componentes principales:

  1. Identificación de patrones: se genera una señal de compra cuando el cierre es superior durante 2 días consecutivos y luego baja el 3er día, con la línea rápida estocástica por debajo de la línea lenta.

  2. PFE por encima del límite superior indica señales de venta, PFE por debajo del límite inferior indica señales de compra.

Las operaciones solo se realizan cuando el patrón 123 y el indicador PFE coinciden.

El patrón 123 identifica posibles reversiones. PFE mide la eficiencia de la tendencia para evitar falsas rupturas. Juntos mejoran la precisión a través de la confirmación de múltiples factores.

Ventajas

  • El patrón 123 y el PFE se validan mutuamente, reduciendo las señales falsas
  • El PFE tiene una base teórica sólida para evaluar la eficiencia de los precios
  • El motor de múltiples factores mejora la precisión
  • La combinación del patrón de reversión y el indicador de tendencia proporciona flexibilidad
  • Los parámetros personalizables se adaptan a los mercados cambiantes

Riesgos y mitigación

  • Los factores individuales pueden dar señales incorrectas
  • El ajuste de factores necesita una optimización continua
  • Los riesgos de tiempo de retención corto y pérdidas de parada frecuentes

Mitigantes:

  1. Factores adicionales para mejorar la precisión
  2. Optimización de parámetros para aumentar la robustez
  3. Métodos de optimización automática para encontrar parámetros óptimos
  4. Las pérdidas fijas o las pérdidas de parada de seguimiento

Oportunidades de mejora

La estrategia puede reforzarse mediante:

  1. Se trata de los valores de los activos de la entidad que se clasifican en el modelo de referencia.
  2. Optimización automática de todos los parámetros mediante aprendizaje automático
  3. Reducción de la frecuencia de reversión durante las tendencias fuertes
  4. Indicadores de adaptación para ajustar la volatilidad del mercado
  5. Combinaciones de carteras para diversificar los riesgos y mejorar los rendimientos

Conclusión

Esta estrategia combina múltiples factores para identificar los puntos de reversión, proporcionando solidez teórica y facilidad de implementación.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-13 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/04/2021
// 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
// The Polarized Fractal Efficiency (PFE) indicator measures the efficiency 
// of price movements by drawing on concepts from fractal geometry and chaos 
// theory. The more linear and efficient the price movement, the shorter the 
// distance the prices must travel between two points and thus the more efficient 
// the price movement.
//
// 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


PFE(Length,LengthEMA,BuyBand,SellBand) =>
    pos = 0.0
    PFE = sqrt(pow(close - close[Length], 2) + 100)
    C2C = sum(sqrt(pow((close - close[1]), 2) + 1), Length)
    xFracEff = iff(close - close[Length] > 0,  round((PFE / C2C) * 100) , round(-(PFE / C2C) * 100))
    xEMA = ema(xFracEff, LengthEMA)
    pos := iff(xEMA < SellBand, -1,
    	      iff(xEMA > BuyBand, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & PFE (Polarized Fractal Efficiency)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- PFE ----")
LengthPFE = input(9, minval=1)
LengthEMA = input(5, minval=1)
BuyBand = input(50, step = 0.1)
SellBand = input(-50, step = 0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPFE = PFE(LengthPFE,LengthEMA,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posPFE == 1 , 1,
	   iff(posReversal123 == -1 and posPFE == -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 )

Más.