Filtro de banda invertido estrategia

El autor:¿ Qué pasa?, Fecha: 2024-01-24 15:28:26
Las etiquetas:

img

Resumen general

La estrategia de filtro de banda invertida es una estrategia de negociación de acciones basada en filtros de banda. Construye una función cos y seno para simular un filtro de banda y genera señales de compra y venta. Cuando la salida del filtro excede o cae por debajo de un cierto nivel de activación, la estrategia tomará operaciones inversas, es decir, compra o venta.

Principio de la estrategia

El núcleo de esta estrategia es construir un filtro de paso de banda BP, que consta de dos parámetros: frecuencia central y ancho de banda. La frecuencia central determina el ciclo principal pasado por el filtro y el ancho de banda determina el rango de ciclos pasados. Estos parámetros determinan la característica de transferencia del filtro.

En concreto, la estrategia construye las siguientes variables:

  • Duración: ciclo central del filtro
  • Parámetro de ancho de banda
  • Beta: coeficiente relacionado con la frecuencia central
  • Gamma: coeficiente relativo al ancho de banda
  • Alfa: variable intermedia relacionada con Beta y Gamma

Según estas variables, la estrategia construye un filtro IIR (Infinite Impulse Response) de primer orden:

BP = 0.5*(1 - alfa) *(xPrice - xPrice[2]) + beta*(1 + alfa) *nz(BP[1]) - alfa*nz(BP[2])

Cuando BP está por encima o por debajo del TriggerLevel, la estrategia tomará acciones en la dirección opuesta.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. El uso de un filtro de paso de banda puede eliminar el ruido de alta y baja frecuencia y solo extraer señales de ciclo de frecuencia media útiles para mejorar la relación señal-ruido.
  2. Es relativamente sencillo e intuitivo y sólo se necesitan algunos parámetros para adaptarse a los diferentes ciclos y entornos del mercado.
  3. La adopción de una estrategia inversa puede capturar oportunamente la inversión de precios a corto plazo y cerrar rápidamente posiciones después de obtener ganancias para reducir los riesgos de tenencia.

Análisis de riesgos

Esta estrategia también tiene algunos riesgos:

  1. Los parámetros del filtro de paso de banda deben ajustarse de acuerdo con los diferentes ciclos y entornos del mercado.
  2. Las estrategias de reversión son propensas a reversiones ilusorias. Si la reversión falla y el precio continúa en la dirección original, causará pérdidas.
  3. La frecuencia de las operaciones puede ser elevada, por lo que es necesario evitar la sobre-optimización y controlar los costes de las operaciones.

Para reducir estos riesgos, pueden considerarse los siguientes métodos de optimización:

  1. Utilice filtros adaptativos para ajustar automáticamente los parámetros según los cambios del mercado.
  2. Combinar los filtros de tendencia para evitar la apertura de posiciones en contra de la tendencia.
  3. Optimizar las combinaciones de parámetros para hacer que las estrategias sean parametrizadas para adaptarse a más condiciones de mercado.

Direcciones de optimización

Los principales aspectos que pueden optimizar esta estrategia incluyen:

  1. Autoadaptación del ciclo y de los parámetros: ajusta dinámicamente parámetros como longitud y delta de acuerdo con diferentes ciclos y movimientos recientes de precios en una ventana de tiempo, de modo que el filtro se adapte a los cambios del entorno del mercado en tiempo real.

  2. Combinar con el juicio de tendencia: sobre la base del filtro de banda, se agregan indicadores técnicos como MACD y MA para determinar la dirección de la tendencia y evitar la apertura de posiciones en contra de la tendencia.

  3. Combinación de marcos de tiempo múltiples: Implemente estrategias en marcos de tiempo múltiples (como 5 minutos, 15 minutos, 30 minutos, etc.). Realice la verificación de la señal entre diferentes marcos de tiempo para mejorar la precisión de la señal.

  4. Mecanismo de stop loss: Establecer posiciones de stop loss razonables. Tomar la iniciativa de cerrar posiciones cuando las pérdidas alcancen los bits de stop loss para controlar eficazmente el tamaño de las pérdidas individuales.

A través de las optimizaciones anteriores, la estabilidad, la adaptabilidad y la rentabilidad de la estrategia pueden mejorarse en gran medida.

Resumen de las actividades

La estrategia de inversión del filtro de banda extrae señales de frecuencia media útiles mediante la construcción de un filtro de banda y realiza operaciones inversas cuando la salida del filtro activa el nivel para capturar oportunidades de inversión de precios a corto plazo. La estrategia es relativamente simple. A través de la optimización de parámetros, puede adaptarse a varios entornos de mercado. Las direcciones principales de optimización incluyen filtros adaptativos, juicios de tendencia, combinaciones de marcos de tiempo múltiples, mecanismos de stop loss, etc.


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

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/2016
// The related article is copyrighted material from
// Stocks & Commodities Mar 2010
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Bandpass Filter Reversed Strategy")
Length = input(20, minval=1)
Delta = input(0.5)
TriggerLevel = input(0)
xPrice = hl2
hline(TriggerLevel, color=blue, linestyle=line)
beta = cos(3.14 * (360 / Length) / 180)
gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
BP = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2])
pos = iff(BP > TriggerLevel, -1,
	   iff(BP <= TriggerLevel, 1, nz(pos[1], 0))) 
if (pos == 1) 
    strategy.entry("Long", strategy.long)
if (pos == -1)
    strategy.entry("Short", strategy.short)	    
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(BP, color=red, title="Bandpass Filter Strategy")

Más.