Estrategia de negociación cuantitativa de inversión bidireccional

El autor:¿ Qué pasa?, Fecha: 2024-02-22 13:46:51
Las etiquetas:

img

Esta estrategia emplea un mecanismo de seguimiento bidireccional, combinado con señales de reversión de precios e indicadores de volumen, para realizar una negociación cuantitativa automatizada. Su mayor ventaja radica en un control de riesgo confiable mediante el seguimiento de la parada de pérdida para bloquear las ganancias y evitar la expansión de las pérdidas. Mientras tanto, las señales de negociación de reversión mejoran la tasa de ganancia de la estrategia.

Principios de estrategia

Esta estrategia consiste en dos subestrategias. La primera subestrategia utiliza indicadores estocásticos para determinar las señales de inversión de precios. La lógica específica es:

Si el precio de cierre aumenta durante dos días consecutivos, y la línea Slow K de 9 días es inferior a 50, vaya largo; Si el precio de cierre cae durante dos días consecutivos, y la línea Fast K de 9 días es superior a 50, vaya corto.

La segunda subestrategia combina indicadores de volumen de negociación para juzgar la fuerza del impulso. Específicamente, el volumen de negociación actual se compara con el volumen de negociación promedio de 40 días. Si el volumen de negociación actual es mayor que el promedio, se considera un volumen agresivo, que pertenece a la señal de inversión para ir corto. Si el volumen de negociación actual es menor que el promedio, se considera un volumen hacia abajo, que pertenece a la señal de inversión para ir largo.

La señal de negociación final es la intersección de las señales de las dos subestrategias. Es decir, una posición se abrirá solo cuando ambas subestrategias emitan señales simultáneamente.

Ventajas de la estrategia

  1. Mejora de la calidad de la señal mediante doble confirmación mediante indicadores duales
  2. Cierta ventaja de tiempo con el modelo de negociación de reversión
  3. Juzgar los movimientos futuros de precios combinados con el análisis de volumen
  4. Mecanismo fiable de detención de pérdidas para controlar eficazmente las pérdidas individuales

Riesgos de la estrategia

  1. No filtrar completamente el ruido del mercado por las señales de reversión
  2. Volumen de negociación anormal que conduce a un juicio inválido del impulso de volumen
  3. Configuración inadecuada de la pérdida de parada, causando una pérdida de parada prematura o una pérdida de parada de gran tamaño
  4. Falta de un mecanismo de control de la utilización, lo que podría acortar la vida útil de la estrategia

La estrategia se puede optimizar aún más en los siguientes aspectos:

  1. Añadir reglas de evaluación de tendencias para evitar la negociación contra tendencias
  2. Optimizar la lógica de stop loss para realizar el seguimiento de stop loss y stop loss escalonado
  3. Añadir el límite máximo de extracción a la estrategia de cierre para evitar pérdidas enormes
  4. Combinar algoritmos de aprendizaje automático para construir modelos dinámicos de stop loss y control de posición

En resumen, esta estrategia se basa principalmente en el seguimiento bidireccional y la inversión de precios, además del análisis de impulso de volumen para mejorar la calidad de la señal mediante doble confirmación.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/11/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
// Volume and SMA
//
// 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

    
VSAVol(Length) =>
    pos = 0.0
    xSMA_vol = sma(volume, Length)
    pos := iff(volume > xSMA_vol, -1,
    	     iff(volume < xSMA_vol, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Volume SMA", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_MAVol = input(40, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posVSAVol = VSAVol(Length_MAVol)
pos = iff(posReversal123 == 1 and posVSAVol == 1 , 1,
	   iff(posReversal123 == -1 and posVSAVol == -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.