Estrategia de negociación de inversión de dos factores

El autor:¿ Qué pasa?, Fecha: 2023-12-27 17:22:31
Las etiquetas:

img

Resumen general

Esta estrategia utiliza primero señales de inversión de precios para la negociación, luego combina indicadores de filtrado de tendencia para la detección, implementando un sistema impulsado por dos factores.

Estrategia lógica

La parte de inversión de precios utiliza el sistema de inversión 123. Este sistema es del libro Cómo triplicé mi dinero en el mercado de futuros de Ulf Jensen, página 183.

  1. El cierre anterior es inferior al cierre de hace 2 días.
  2. El cierre actual es más alto que el anterior
  3. El estocástico lento de 9 días es inferior a 50

Cuando se cumplen las condiciones anteriores, se genera una señal de compra.

  1. El cierre anterior es más alto que el cierre de hace 2 días.
  2. El cierre actual es inferior al cierre anterior
  3. El estocástico rápido de 9 días es superior a 50

Se genera una señal de venta.

El objetivo de este sistema de reversión es capturar las reversiones a corto plazo cuando los precios forman una reversión temporal.

El sistema ETT juzga la dirección de la tendencia a través de una combinación de filtro y promedio móvil. En esta estrategia, su función principal es verificar las señales de inversión de precios, evitando la operación de inversión cuando no hay una tendencia clara.

Esta estrategia combina las señales de negociación de ambas subestrategias, logrando finalmente un sistema de negociación de inversión impulsado por dos factores.

Análisis de ventajas

La estrategia de negociación de inversión de dos factores integra las ventajas de cada subestrategia mediante la combinación de:

  1. 123 el sistema de reversión puede captar oportunidades de reversión a corto plazo
  2. El sistema ETT puede filtrar eficazmente los escenarios sin una tendencia clara, evitando el riesgo de reversión de las operaciones
  3. El doble factor mejora la calidad de la señal

Por lo tanto, esta estrategia puede filtrar eficazmente las señales de reversión inválidas.

Análisis de riesgos

La estrategia de negociación de inversión de dos factores presenta los siguientes riesgos principales:

  1. El riesgo de que el precio continúe la tendencia original después de la reversión.
  2. El riesgo de error de juicio del sistema ETT. El sistema ETT en sí mismo también tiene errores de juicio, lo que conduce a pérdidas en la negociación de inversión.
  3. El riesgo inherente del mecanismo impulsado por dos factores. Aunque es menos probable, todavía existe la probabilidad de que ambas señales comerciales hagan un juicio erróneo al mismo tiempo, lo que amplifica las pérdidas.

Para reducir los riesgos anteriores, las consideraciones incluyen ajustar los parámetros del compilador, optimizar las estrategias de inversión y ETT para un mejor juicio, así como expandir adecuadamente el rango de stop loss para la negociación de inversión.

Optimización

Esta estrategia puede optimizarse en los siguientes aspectos:

  1. Optimizar los parámetros del sistema de inversión para una mejor combinación de parámetros
  2. Optimizar los parámetros del sistema ETT para una mayor precisión de juicio
  3. Intenta combinar otras estrategias de inversión de precios con ETT
  4. Añadir el mecanismo de control de dimensionamiento de posición
  5. Conducir con más factores

Con la lógica de la estrategia y las señales comerciales clave sin cambios, se pueden esperar mejores resultados de backtest a través de la optimización de parámetros y combinaciones.

Conclusión

La estrategia de inversión de doble factor combina orgánicamente las señales de inversión de precios y el filtrado de tendencias para el sistema de juicio de múltiples factores. En comparación con las estrategias de señal de inversión única, esta estrategia puede capturar mejor las inversiones de precios a corto plazo evitando señales falsas cuando no hay una tendencia clara, mejorando así la calidad de la señal. Se puede esperar un mejor rendimiento a través de la optimización de parámetros y la adición de otros factores.


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/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
// Extracting The Trend
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// 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


ETT(Length,Delta,Trigger) =>
    pos = 0
    xBandpassFilter = 0.0
    xPrice = hl2
    beta = cos(3.1415 * (360 / Length) / 180)
    gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
    alpha = gamma - sqrt(gamma * gamma - 1)
    xBandpassFilter := 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
    xMean = sma(xBandpassFilter, 2 * Length)
    pos :=iff(xMean > Trigger, 1,
	       iff(xMean < Trigger, -1, nz(pos[1], 0)))     
    pos

strategy(title="Combo Backtest 123 Reversal & Extracting The Trend", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthETT = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posETT = ETT(LengthETT,Delta,Trigger)
pos = iff(posReversal123 == 1 and posETT == 1 , 1,
	   iff(posReversal123 == -1 and posETT == -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.