Tendencia de regresión bilinear siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2023-11-17 16:51:33
Las etiquetas:

img

Resumen general

La estrategia Bilinear Regression Trend Following utiliza la diferencia entre la regresión lineal rápida y lenta para determinar las tendencias de precios y la utiliza como señales de entrada. Se hace larga cuando la regresión lineal rápida cruza por encima del umbral y sale cuando cruza por debajo. También utiliza la EMA como filtro para entrar solo cuando el precio está por encima de la EMA.

Estrategia lógica

La estrategia primero calcula dos líneas de regresión lineal con períodos diferentes, una rápida con período más corto y una lenta con período más largo. Luego calcula la diferencia entre los dos, cuando la regresión rápida está por encima de la regresión lenta, la diferencia es positiva, lo que indica una tendencia alcista. Cuando la rápida está por debajo de la lenta, la diferencia es negativa, lo que indica una tendencia bajista.

La estrategia entra en largo cuando la línea de diferencia cruza por encima del umbral y sale cuando cruza por debajo.

Análisis de ventajas

  1. La regresión lineal doble puede capturar bien las tendencias de precios.

  2. El filtro EMA elimina algunas señales falsas de movimientos no tendenciales.

  3. Lógica simple y clara, fácil de entender e implementar.

Análisis de riesgos

  1. Los períodos de LR incorrectos pueden generar ruido excesivo.

  2. El filtro EMA puede perder oportunidades en tendencias fuertes.

  3. Sujeto a pérdidas y pérdidas en mercados variados.

Soluciones:

  1. Optimizar los períodos LR para reducir el ruido.

  2. Ajuste dinámico del período de EMA en función de las condiciones del mercado.

  3. Añadir pérdidas de parada a las pérdidas de control.

Optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Optimizar los períodos LR rápidos y lentos para encontrar la mejor combinación.

  2. Prueba otros filtros como las bandas de Bollinger, KDJ en lugar de EMA.

  3. Añadir un stop loss dinámico para controlar los riesgos.

  4. Combina con la selección de acciones para seleccionar las acciones de tendencia.

  5. Desarrollar parámetros adaptativos basados en las condiciones del mercado.

Resumen de las actividades

La estrategia de Regresión Bilinear es simple y directa en la captura de tendencias con regresión lineal doble y filtro EMA. Pero también tiene riesgos que deben abordarse a través de la optimización de parámetros, stop loss, etc. Cuando se sintoniza correctamente, puede operar eficazmente los mercados de tendencia.


/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TradingAmmo

//@version=4
strategy("Linear trend", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)

src = close
len1 = input(defval=13, minval=1, title="Fast LR")
len2 = input(defval=55, minval=1, title="Slow LR")

lag1 = input(0, title="Lag for fast")
lag2 = input(0, title="Lag for slow")

threshold  = input(0,step=0.5, title="Threshold")

fast_lr = linreg(src, len1, lag1)
slow_lr = linreg(src, len2, lag2)
lr = fast_lr - slow_lr
plot_fast = plot(lr, color = lr > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

long_condition = crossover(lr, threshold) and close > ema(close, 200) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition) 

short_condition = crossunder(lr, threshold) 
strategy.close('BUY', when=short_condition) 



Más.