Estrategia de negociación de inercia de inversión de doble factor cuantitativa

El autor:¿ Qué pasa?, Fecha: 2024-01-12 14:38:02
Las etiquetas:

img

Resumen general

La estrategia de negociación de inercia de inversión de factores duales cuantitativa es una estrategia de negociación cuantitativa que combina señales de inversión de precios y señales de inercia del mercado.

Principios

La estrategia consta de dos partes principales:

  1. La parte de inversión de precios adopta la idea propuesta por Ulf Jensen en su libro, específicamente: cuando el precio de cierre aumenta continuamente durante 2 días y el estocástico lento de 9 días está por debajo de 50, vaya largo; cuando el precio de cierre cae continuamente durante 2 días y el estocástico rápido de 9 días está por encima de 50, vaya corto.

  2. La parte de inercia del mercado utiliza el índice de volatilidad relativa (RVI). El valor de este indicador fluctúa entre 0 y 100. Por encima de 50 indica la tendencia a largo plazo del mercado es al alza; por debajo de 50 indica la tendencia a largo plazo del mercado es a la baja.

En resumen, esta estrategia integra señales de inversión de precios y señales de inercia del mercado para determinar finalmente la dirección actual del mercado.

Análisis de ventajas

La mayor ventaja de esta estrategia es que combina dos ideas comerciales principales reversión y seguimiento de tendencias. Las señales de reversión pueden capturar correcciones a corto plazo y proporcionar oportunidades comerciales. Las señales de inercia aseguran la apertura de posiciones solo cuando las tendencias a largo plazo se alinean para filtrar efectivamente el ruido.

Además, el mecanismo impulsado por dos factores puede mejorar la calidad de la señal.

Análisis de riesgos

Los principales riesgos a los que se enfrenta esta estrategia incluyen:

  1. El riesgo de que las señales de reversión se identifiquen de forma inexacta.

  2. El riesgo de que las señales de inercia generen señales incorrectas El propio RVI tiene un retraso que requiere ajustar el parámetro de suavizado.

  3. El riesgo de perder oportunidades comerciales debido a la mala alineación del tiempo de las señales de doble factor.

Además, las estrategias de reversión se enfrentan a mayores riesgos de pérdidas en los mercados de tendencia.

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los parámetros del indicador estocástico para mejorar la calidad y la puntualidad de la identificación de las señales de reversión.

  2. Optimizar el parámetro de suavizado del indicador RVI para aumentar la precisión del juicio de inercia.

  3. Probar diferentes períodos de espera para determinar el ciclo de espera óptimo.

  4. Incorpore mecanismos de stop loss. Prueba de nuevo diferentes puntos de stop loss para encontrar la posición óptima de stop loss.

  5. Considere la posibilidad de incorporar otras señales de factores, como las aberraciones del volumen de negociación, para formar estrategias basadas en múltiples factores.

Resumen de las actividades

La Estrategia de Comercio de Inercia de Reversión de Factor Dual Cuantitativa considera de manera integral los factores de reversión y tendencia, utilizando el indicador estocástico y el indicador RVI para generar señales de comercio. La estrategia tiene ventajas como la conducción de dos factores, la captura de oportunidades de reversión y el filtrado de señales. Se puede mejorar aún más a través de la optimización de parámetros multifacéticos.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/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
// The inertia indicator measures the market, stock or currency pair momentum and 
// trend by measuring the security smoothed RVI (Relative Volatility Index). 
// The RVI is a technical indicator that estimates the general direction of the 
// volatility of an asset.
// The inertia indicator returns a value that is comprised between 0 and 100. 
// Positive inertia occurs when the indicator value is higher than 50. As long as 
// the inertia value is above 50, the long-term trend of the security is up. The inertia 
// is negative when its value is lower than 50, in this case the long-term trend is 
// down and should stay down if the inertia stays below 50.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
//
// 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

Inertia(Period, Smooth) =>
    pos = 0.0
    nU = 0.0
    nD = 0.0
    xPrice = close
    StdDev = stdev(xPrice, Period)
    d = iff(close > close[1], 0, StdDev)
    u = iff(close > close[1], StdDev, 0)
    nU := (13 * nz(nU[1],0) + u) / 14
    nD := (13 * nz(nD[1],0) + d) / 14
    nRVI = 100 * nU / (nU + nD)
    nRes = ema(nRVI, Smooth)
    pos :=iff(nRes > 50, 1,
    	   iff(nRes < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Inertia Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Period = input(10, minval=1)
Smooth = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posInertia = Inertia(Period, Smooth)
pos = iff(posReversal123 == 1 and posInertia == 1 , 1,
	   iff(posReversal123 == -1 and posInertia == -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.