Estrategia de seguimiento de la reversión de múltiples factores

El autor:¿ Qué pasa?, Fecha: 2023-09-15 14:31:15
Las etiquetas:

Resumen de la estrategia

La estrategia de seguimiento de la reversión multifactor genera señales de negociación mediante la incorporación de patrones de reversión de precios e indicadores de sobrecompra y sobreventa.

Estrategia lógica

La estrategia consta de dos módulos:

  1. 123 Modulo de patrón de inversión
  • Vete corto cuando veas un nuevo máximo de 2 días, pero retrocede en el 3er día, lo que indica un posible máximo a corto plazo.

  • Ir largo cuando se ve un nuevo mínimo de 2 días, pero rebotar en el 3er día, lo que indica un potencial bajo a corto plazo.

  1. Módulo RSI de ingeniería inversa
  • Identificar los puntos de reversión ajustando dinámicamente el RSI de las líneas sobrecompradas y sobrevendidas.

  • Ir corto cuando el RSI está por encima de la línea de sobrecompra ajustada, ir largo cuando el RSI está por debajo de la línea de sobreventa ajustada.

Las señales de negociación solo se generan cuando ambos módulos se alinean.

La mayor ventaja es la incorporación de múltiples factores para determinar los máximos y mínimos estructurales, filtrando algunas señales falsas de factores individuales y mejorando la tasa de ganancias reales del comercio.

Ventajas de la estrategia

  • Síntesis multifáctor para una identificación completa de alto/bajo

  • Combina patrones de reversión y indicadores de sobrecompra/sobreventa

  • Filtra las inversiones falsas, mejora la precisión

  • Parámetros de ensayos de retroceso optimizables y adaptables a diferentes mercados

  • Fácil de implementar para una replicación rápida

Advertencias sobre el riesgo

  • Las señales de reversión pueden retrasarse, se necesita actualizar los parámetros

  • Prevenir el exceso de negociación para evitar más comisiones

  • Los elementos fundamentales de las existencias individuales aún deben considerarse

  • Estrategias de reversión más adecuadas para índices y acciones calientes

Conclusión

La estrategia de seguimiento de reversión de múltiples factores combina perfectamente las fortalezas de las herramientas cuánticas y la experiencia de análisis manual al considerar múltiples perspectivas para las señales comerciales. En comparación con las estrategias de indicador único, mejora significativamente la estabilidad comercial real y la tasa de ganancia.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/06/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 related article is copyrighted material from
// Stocks & Commodities.
//
// 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


RE_RSI(Value,WildPer) =>
    pos = 0.0
    AUC = 0.0
    ADC = 0.0
    ExpPer = 2 * WildPer - 1
    K = 2 / (ExpPer + 1)
    AUC := iff(close > close[1], K * (close - close[1]) + (1 - K) * nz(AUC[1], 1), (1-K) * nz(AUC[1], 1))
    ADC := iff(close > close[1], (1-K) * nz(ADC[1], 1), K * (close[1] - close) + (1 - K) * nz(ADC[1], 1))
    nVal = (WildPer - 1) * (ADC * Value / (100 - Value) - AUC)
    nRes = iff(nVal >= 0, close + nVal, close + nVal * (100 - Value) / Value)
    pos:= iff(nRes > close, -1,
    	   iff(nRes < close, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Reverse Engineering RSI, by Giorgos Siligardos", 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, "---- Reverse Engineering RSI ----")
Value = input(50, minval=1)
WildPer = input(14,minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRE_RSI = RE_RSI(Value,WildPer)
pos = iff(posReversal123 == 1 and posRE_RSI == 1 , 1,
	   iff(posReversal123 == -1 and posRE_RSI == -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.