Estrategia de combinación de intersección de regresión lineal y reversión


Fecha de creación: 2023-09-26 15:56:48 Última modificación: 2023-09-26 15:56:48
Copiar: 1 Número de Visitas: 703
1
Seguir
1617
Seguidores

Descripción general

Esta estrategia combina la estrategia de reversión 123 y la estrategia de intersección de regresión lineal para lograr una estrategia de negociación combinada impulsada por múltiples factores. La estrategia de reversión 123 determina la relación de precios de los últimos dos días de negociación, combinada con el indicador Stoch para determinar la señal de reversión. La estrategia de intersección de regresión lineal utiliza el análisis de regresión lineal para determinar la relación entre el precio y la línea de tendencia, generando operaciones.

Principio de estrategia

123 estrategias de reversión

La estrategia se basa en los siguientes principios:

  1. Si la relación entre los precios de cierre de los dos últimos días de negociación es que el cierre de hoy es más alto que el de ayer, y la línea rápida de Stoch está por debajo de la línea lenta, se considera que existe una señal de reversión de la tendencia alcista

  2. Si la relación entre el precio de cierre de los dos últimos días de negociación es que el precio de cierre de hoy es inferior al de ayer, y la línea rápida de Stoch es superior a la línea lenta, se considera que existe una señal de reversión bajista

Las reglas de juicio son las siguientes:

  • Si el precio de cierre de hoy > precio de cierre de ayer y la línea rápida de Stoch configura el parámetro, se genera una señal de compra

  • Si el precio de cierre de hoy es < precio de cierre de ayer y la línea rápida de Stoch > línea lenta de Stoch y la línea rápida de Stoch < configuración de parámetros, genera una señal de venta

La estrategia requiere la configuración de parámetros para el indicador de Stoch, que incluyen: calcular el ciclo de longitud de la línea K de Stoch, el ciclo de suavizado de la línea rápida de Stoch, KSmoothing, el ciclo de suavizado de la línea lenta de Stoch, DLength, y el nivel de la línea rápida de Stoch.

Estrategia de corte de distancia de regresión lineal

La estrategia se basa en el análisis de regresión lineal para determinar la relación entre el precio y la línea de tendencia de regresión lineal, y sus reglas de determinación son las siguientes:

  • Si el precio de cierre es mayor que el recorte de regreso lineal, se genera una señal de compra

  • Si el precio de cierre es menor que el intervalo de retorno lineal, se genera una señal de venta

La estrategia requiere la configuración de un ciclo de regresión lineal LengthLRI, y una regresión lineal de la fuente de datos xSeria.

Estrategias combinadas

Esta combinación de estrategias requiere que se cumplan las señales de compra/venta de la estrategia de inversión 123 y la estrategia de recorte de distancia de regresión lineal para generar instrucciones de negociación reales, lo que elimina eficazmente las señales falsas y mejora la eficacia de la negociación.

Análisis de las ventajas

La estrategia tiene las siguientes ventajas:

  1. La unidad de múltiples factores, eliminación efectiva de señales falsas, mejora de la calidad de la señal

La combinación de dos tipos diferentes de estrategias, que deben generar señales simultáneamente, es la única forma de realizar un pedido. Este mecanismo de verificación multifactorial puede filtrar las señales erróneas que ocasionalmente se generan en una estrategia, reducir las transacciones innecesarias y mejorar la calidad de la señal.

  1. Monitoreo en tiempo real de la relación entre precios y tendencias para evitar la cárcel

El intervalo de regresión lineal puede reflejar en tiempo real la relación entre el precio y la línea de tendencia, y si el precio se ha desviado considerablemente de la tendencia, puede indicar a la estrategia la dirección de ajuste de la posición. De esta manera, se pueden detener los pérdidas a tiempo y evitar quedar atrapados en la tendencia histórica.

  1. Tener en cuenta las tendencias y las oportunidades de inversión

Las estrategias de regresión lineal son mejores para identificar puntos de venta y compra de tendencias, mientras que las estrategias de inversión 123 se centran en la identificación de puntos de reversión. Ambas estrategias pueden combinar muy bien las ventajas de las operaciones de tendencia y las inversiones.

  1. La combinación de optimización de los parámetros de la política se puede personalizar

Ambos tipos de estrategias ofrecen ciertos parámetros para la personalización, que se pueden optimizar para diferentes variedades y diferentes tendencias, para optimizar el efecto de la estrategia combinada.

Análisis de riesgos

La estrategia también tiene los siguientes riesgos:

  1. El impulso multifactorial puede haber perdido algunas oportunidades

Las señales de negociación que deben satisfacer las dos estrategias se pierden en parte de las oportunidades de obtener ganancias con una sola estrategia. Si la eficacia de una estrategia se debilita, se retrasa la eficacia de la negociación en general.

  1. La regresión lineal tiene retraso

La regresión lineal requiere un cierto número de datos históricos para su cálculo, no se puede hacer una reacción en tiempo real a los eventos repentinos, existe un cierto retraso. Si el precio se dispara, la línea de tendencia de regresión lineal requiere un cierto período de tiempo para ajustarse, y este período de tiempo puede generar una señal errónea.

  1. Optimización de parámetros razonables

Ambas estrategias requieren la elección de los parámetros adecuados, que pueden necesitar ajustes independientes para algunas variedades. Si los parámetros se eligen incorrectamente, el efecto de la estrategia se verá reducido considerablemente.

El riesgo puede reducirse de la siguiente manera:

  1. Disminuir adecuadamente las condiciones de activación de la señal combinada para evitar demasiadas oportunidades perdidas

  2. Regresión lineal alternativa combinada con indicadores de tendencia para obtener un juicio de tendencia en tiempo real

  3. Optimización de parámetros auxiliares con métodos como el aprendizaje automático para mejorar la selección de parámetros

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Optimización de parámetros con métodos de aprendizaje automático

Se pueden recopilar datos históricos, diseñar objetivos de optimización de parámetros y buscar la mejor combinación de parámetros utilizando algoritmos de aprendizaje automático como algoritmos genéticos, optimización de Bayes, etc.

  1. Aumentar el mecanismo de suspensión de pérdidas

Se pueden establecer reglas de stop loss en combinación con ATR, indicadores de tendencia, etc. para controlar la máxima pérdida en una sola operación.

  1. Optimización de la lógica de salida

Se pueden agregar condiciones auxiliares para la entrada en el mercado, como el filtro de línea media, el juicio de la banda de Brin, etc., en base a la señal de negociación, lo que reduce la frecuencia de ajuste de posiciones y evita la estafa.

  1. Combinado con análisis de sentimientos

El uso de la tecnología de procesamiento de lenguaje natural para evaluar el estado de ánimo de los participantes en el mercado y ayudar a la toma de decisiones comerciales.

  1. Añadir módulos de predicción de aprendizaje automático

El uso de modelos de aprendizaje profundo como LSTM, GRU y otros para hacer predicciones de precios como una base de referencia importante para la toma de decisiones estratégicas.

Resumir

Esta estrategia, a través de la combinación de la estrategia de reversión 123 y la estrategia de recorte de distancia de regreso lineal, permite el comercio cuantitativo impulsado por múltiples factores. El mecanismo de verificación puede filtrar eficazmente las señales falsas, al tiempo que capta las oportunidades de inversión y comercio de tendencias.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/01/2021
// 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
// Linear Regression Intercept is one of the indicators calculated by using the 
// Linear Regression technique. Linear regression indicates the value of the Y 
// (generally the price) when the value of X (the time series) is 0. Linear 
// Regression Intercept is used along with the Linear Regression Slope to create 
// the Linear Regression Line. The Linear Regression Intercept along with the Slope 
// creates the Regression line.
//
// 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

LRI(Length,xSeria) =>
    pos = 0.0
    xX = Length * (Length - 1) * 0.5
    xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6
    xXY = 0.0
    for i = 0 to Length-1
    	xXY := xXY + (i * xSeria[i])
    xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor
    xLRI = (sum(xSeria, Length) - xSlope * xX) / Length
    pos:= iff(close > xLRI, 1,
           iff(close < xLRI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Line Regression Intercept", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Line Regression Intercept ----")
LengthLRI = input(14, minval=1)
xSeria = input(title="Source", type=input.source, defval=close)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posLRI = LRI(LengthLRI,xSeria)
pos = iff(posReversal123 == 1 and posLRI == 1 , 1,
	   iff(posReversal123 == -1 and posLRI == -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 )