Estrategia de seguimiento de inversión de dos factores


Fecha de creación: 2023-12-19 11:09:20 Última modificación: 2023-12-19 11:09:20
Copiar: 2 Número de Visitas: 545
1
Seguir
1621
Seguidores

Estrategia de seguimiento de inversión de dos factores

Descripción general

Esta estrategia es una estrategia de seguimiento de inversión de doble factor en el campo de la negociación cuantitativa. Integra los dos factores de la estrategia de inversión 123 y la estrategia de canal Keltner, con el objetivo de detectar señales de inversión y lograr una estrategia de negociación de bajo precio y alto precio.

Principio de estrategia

La estrategia consiste en dos subestrategias. La primera subestrategia es la estrategia de reversión 123, que determina si el mercado se encuentra en un punto de reversión calculando los cambios en el precio de cierre de los dos días de negociación anteriores, en combinación con el indicador estocástico. En concreto, emite una señal de compra cuando el precio de cierre sube dos días consecutivos y el indicador estocástico está por debajo de 50; emite una señal de venta cuando el precio de cierre baja dos días consecutivos y el indicador estocástico está por encima de 50.

La segunda subestrategia es la estrategia de canal de Keltner. Esta estrategia calcula el promedio y el rango de fluctuación de los precios típicos de los últimos n días de negociación, y emite una señal de negociación inversa cuando los precios están cerca de la vía ascendente y descendente.

Finalmente, la estrategia calcula la señal de tenencia final al juzgar la dirección de las señales de las dos subestrategias. Cuando las señales de las dos subestrategias coinciden, se emite una instrucción de negociación real, de lo contrario no se realiza la negociación, con el fin de lograr la verificación de dos factores.

Análisis de las ventajas

La mayor ventaja de esta estrategia de seguimiento inverso de doble factor es que se puede aprovechar la oportunidad a tiempo cuando el mercado se invierte y lograr una idea de comercio de compra y venta baja. Al mismo tiempo, mediante el mecanismo de confirmación de doble factor, se puede reducir la falsa señal y mejorar la calidad de la señal.

En concreto, la estrategia de reversión 123 tiene una configuración de parámetros del indicador estocástico más conservadora, que puede filtrar efectivamente la falsa reversión en situaciones de convulsión. Mientras que el canal Keltner sigue el pensamiento de la banda de Bryn y también puede aprovechar las oportunidades de reversión en el momento de romper el desvío. Usando ambos en combinación, se pueden verificar mutuamente, reducir las transacciones innecesarias y obtener una mayor probabilidad de victoria.

Análisis de riesgos

El principal riesgo de esta estrategia es que la elección del momento en que ocurre la señal de reversión es muy importante. Si se produce una serie de falsas reversiones, o si se elige mal el momento en que ocurre la señal de reversión, esto puede conducir a la imposibilidad de mantener una tendencia completa, lo que afecta a los resultados finales.

Además, las estrategias de doble factor son más difíciles de seleccionar y optimizar que las estrategias individuales. Las estrategias de doble factor requieren una evaluación y prueba exhaustiva de los parámetros de las dos estrategias secundarias, de lo contrario, son propensas al fracaso.

Por último, la inversión en sí misma suele tener un porcentaje de ganancias y pérdidas dispares, lo que hace que sea fácil romper posiciones en caso de una situación anormal. Esto debe evitarse mediante un estricto stop loss.

Dirección de optimización

De acuerdo con el análisis de riesgos anterior, la estrategia puede ser optimizada en los siguientes aspectos:

  1. Prueba diferentes configuraciones de parámetros del indicador de reversión para encontrar combinaciones con mayor tolerancia a la error y menos señales falsas
  2. Prueba con diferentes longitudes de ciclo para encontrar un valor invertido que capte con mayor precisión
  3. Aumentar el módulo de stop loss y controlar el máximo de pérdidas en una sola operación
  4. Prueba el efecto de diferentes tiempos de tenencia para encontrar un punto de salida que coincida con la lógica de la estrategia
  5. Aumentar el número de posiciones abiertas o el módulo de control de posiciones para hacer que el porcentaje de ganancias y pérdidas sea más razonable

Resumir

Esta estrategia es una estrategia típica de seguimiento de inversiones de dos factores, que integra las estrategias 123 inversiones y Keltner Channel, con el objetivo de capturar con mayor precisión el momento en que el mercado se vuelve más bajo y más alto. En caso de optimización de los parámetros y control de riesgo, esta estrategia puede obtener un exceso de ganancias considerable.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 09/12/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 Keltner Channel, a classic indicator 
// of technical analysis developed by Chester Keltner in 1960. 
// The indicator is a bit like Bollinger Bands and Envelopes.
//
// 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

KeltnerChn(nPeriod) =>
    pos = 0.0
    xPrice = sma(hlc3, nPeriod)
    xMove = sma(high - low, nPeriod)
    reverse = input(false, title="Trade reverse")
    xUpper = xPrice + xMove
    xLower = xPrice - xMove
    pos := iff(close < xLower, -1,
             iff(close > xUpper, 1, nz(pos[1], 0))) 
    pos

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