
La estrategia de comercio de inercia de inversión de doble factor cuantitativo es una estrategia de comercio cuantitativo que combina una señal de inversión de precio y una señal de inercia de mercado. La estrategia primero utiliza un indicador aleatorio para lograr una señal de inversión de precio, luego se combina con una señal de inercia de mercado de un indicador de volatilidad relativa, y finalmente logra una decisión de comercio impulsada por dos factores.
La estrategia se basa en dos partes principales:
La inversión de precios adopta en parte las ideas planteadas por Ulf Jensen en su obra, concretamente: cuando el precio de cierre sube 2 días seguidos y el indicador de Stochastic lento es inferior a 50 en el día 9, haga más; cuando el precio de cierre baja 2 días seguidos y el indicador de Stochastic rápido es superior a 50 en el día 9, haga vacío.
La parte inercial del mercado utiliza el indicador de volatilidad relativa (RVI). El valor del indicador oscila entre 0 y 100, más de 50 indica una tendencia al alza en el mercado a largo plazo; menos de 50 indica una tendencia a la baja en el mercado a largo plazo.
En resumen, la estrategia integra las señales de reversión de precios y las señales de inercia del mercado para determinar la dirección actual del mercado. Cuando ambas señales coinciden, se genera una señal de negociación.
La mayor ventaja de esta estrategia es la combinación de dos ideas de negociación: la inversión y la tendencia. La señal de inversión puede capturar ajustes a corto plazo para proporcionar oportunidades de negociación; La señal de inercia asegura que las posiciones se abran solo cuando la tendencia a largo plazo es consistente y filtra eficazmente el ruido.
Además, el doble factor de conducción mejora la calidad de la señal, mientras que la optimización de los parámetros del indicador estocástico y la optimización de la suavidad RVI también ofrecen espacio para la optimización de la estrategia.
Los principales riesgos de esta estrategia son:
El riesgo de que la detección de señales de retorno no sea precisa. Es necesario verificar si los parámetros son razonables.
El riesgo de que la señal inercial emita una señal errónea. El indicador RVI en sí tiene un retraso y requiere un ajuste de los parámetros de suavización.
El tiempo de la señal de doble factor no coincide, el riesgo de perder la oportunidad de negociación. Se necesita probar la coincidencia bajo diferentes parámetros.
Además, las estrategias de inversión de clase corren el riesgo de aumentar las pérdidas en un mercado de tendencia. Se requiere un estricto cumplimiento de las reglas de stop loss.
La estrategia puede ser optimizada en los siguientes aspectos:
Optimización de los parámetros de los indicadores estocásticos para identificar la calidad y la puntualidad de las señales de inversión.
Optimización de los parámetros de suavización de los indicadores RVI para mejorar la precisión de los juicios inerciales.
Prueba diferentes períodos de tenencia para determinar el período de tenencia óptimo.
Incorporar un mecanismo de detención de pérdidas. Reevaluar los diferentes puntos de detención para encontrar la mejor posición de detención de pérdidas.
Se puede considerar la adición de otras señales de factores, como la variación del volumen de transacciones, para formar un impulso multifactorial.
La estrategia de trading binario de inversión inercial de cuantificación tiene en cuenta la inversión y la tendencia, utiliza indicadores estocásticos y indicadores RVI para generar señales de negociación. La estrategia tiene ventajas como el impulso binario, la captura de oportunidades de inversión y el filtrado de señales, que se pueden mejorar aún más mediante la optimización de parámetros en varios aspectos. El control del riesgo también es especialmente importante y requiere una ejecución estricta de los stop losses.
/*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 )