Estrategia cuantitativa basada en una media móvil exponencial y una ponderación de volumen

El autor:¿ Qué pasa?, Fecha: 2024-01-25 15:31:21
Las etiquetas:

img

Resumen general

Esta estrategia se llama Estrategia cuantitativa basada en promedio móvil exponencial y ponderación de volumen. Implementa principalmente la negociación cuantitativa combinando los dos factores de promedio móvil exponencial y ponderación de volumen. La estrategia considera de manera integral las tendencias de precios, la información de volumen y la información de precios más reciente, lo que puede capturar eficazmente las oportunidades de mercado y tiene ciertas ventajas.

Principio

El indicador central de esta estrategia es nRes, que combina la media móvil exponencial xMAVolPrice, la media móvil exponencial del volumen xMAVol y el último cierre del precio y se calcula mediante la siguiente fórmula:

xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length) 
nRes = xMAVolPrice / xMAVol

La estrategia determina la dirección de las posiciones largas y cortas comparando la relación de tamaño entre nRes y el último precio de cierre:

if (nRes < close[1])  
    long
if (nRes > close[1]) 
    short

Si nRes es inferior al último precio de cierre, significa que el precio ajustado por volumen es inferior al último precio, que es una señal de compra; si nRes es superior al último precio de cierre, significa que el precio ajustado por volumen es superior al último precio, que es una señal de venta.

En resumen, la estrategia compara el indicador de precios ajustado por volumen nRes con el último precio de cierre para determinar la dirección de las posiciones largas y cortas, que es una estrategia comercial cuantitativa típica.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Reducir las señales falsas. La ponderación del volumen puede filtrar algunas rupturas falsas causadas por un volumen insuficiente. Esto puede reducir efectivamente las operaciones innecesarias y evitar quedar atrapados.

  2. En comparación con las medias móviles simples, las medias móviles exponenciales en esta estrategia son más sensibles a los últimos datos y pueden capturar rápidamente los cambios recientes del mercado.

  3. La idea de la estrategia es simple y clara, fácil de entender e implementar, y cumple con los requisitos del comercio cuantitativo.

Análisis de riesgos

Aunque la estrategia presenta ciertas ventajas, también presenta los siguientes riesgos:

  1. Los indicadores de volumen son propensos a la manipulación y carecen de estabilidad, lo que puede ser engañoso.

  2. En comparación con las estrategias simples de seguimiento de tendencias, las oportunidades de esta estrategia para hacer juicios son relativamente pequeñas, lo que puede llevar fácilmente a una negociación insuficiente.

  3. Dificultad en la selección de parámetros. La elección de parámetros como la duración media móvil del día tendrá un gran impacto en el rendimiento de la estrategia. Una selección incorrecta puede reducir en gran medida los rendimientos.

  4. Riesgo de cambios violentos en el mercado: en un mercado en rápido movimiento, el cálculo del indicador puede no ser capaz de reaccionar a tiempo a los últimos precios, lo que resulta en perder el mejor punto de negociación.

Las soluciones correspondientes: optimizar la configuración de parámetros, controlar estrictamente el tamaño de la posición, establecer stop loss y take profit; combinar otros indicadores de factores para la verificación; ajustar adecuadamente la frecuencia de mantenimiento de la posición.

Direcciones de optimización

Las principales direcciones para optimizar esta estrategia son:

  1. Una lógica de posiciones abiertas más flexible: las posiciones pueden abrirse cuando la diferencia entre el nRes y el precio de cierre es mayor que un cierto umbral, no sólo el juicio de clasificación binaria, para aprovechar más oportunidades.

  2. Aumentar los mecanismos de gestión de posiciones, ajustando dinámicamente el tamaño de cada operación de acuerdo con la volatilidad del mercado para controlar eficazmente los riesgos.

  3. Se pueden añadir más factores, tales como indicadores de sentimiento, factores fundamentales, etc., para hacer los juicios de estrategia más completos.

  4. Algoritmos de optimización de parámetros adaptativos: se pueden establecer algoritmos para optimizar automáticamente parámetros como la longitud, para que puedan ajustarse de manera adaptativa de acuerdo con las características de los diferentes mercados de ciclos.

  5. Utilice modelos de aprendizaje automático. RNN y otros modelos de aprendizaje profundo se pueden utilizar para el modelado de características multivariadas para lograr estrategias no lineales de extremo a extremo.

Resumen de las actividades

Esta estrategia considera de manera integral factores como el precio y el volumen, y compara el indicador de precio ajustado por volumen con el último precio de cierre para determinar la dirección de la negociación. En comparación con un solo indicador, tiene las ventajas de una información más rica y reduce las señales falsas. Pero también enfrenta riesgos como la manipulación del volumen y menos tiempos de juicio.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/03/2017
// The related article is copyrighted material from Stocks & Commodities 2009 Oct 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Combining Exponential And Volume Weighting", overlay=true)
length = input(22, minval=1)
reverse = input(false, title="Trade reverse")
xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length)
nRes = xMAVolPrice / xMAVol
pos = iff(nRes < close[1], 1,
	     iff(nRes > close[1], -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue)

Más.