
La estrategia es un sistema de negociación cuantitativa basado en el cruce de las medias móviles de doble índice (EMA) y el filtro de la tasa de fluctuación real promedio (ATR), diseñado específicamente para entornos de mercado altamente volátiles. Combina los beneficios del seguimiento de la tendencia con el filtro de la tasa de fluctuación, buscando el mejor rendimiento de ajuste al riesgo en los mercados de alta IV (implicada volatilidad).
La estrategia se basa en una combinación de dos indicadores tecnológicos centrales:
Indicadores de tendencias:
Indicadores de fluctuación:
La lógica de negociación de la estrategia es clara: cuando la media corta ((EMA_fast) sube y cruza la media larga ((EMA_slow) para formar una horquilla de oro, y el ATR actual es superior a su media más una diferencia estándar, se genera una señal múltiple; cuando la media corta baja y cruza la media larga para formar una horquilla muerta, y cumple con las mismas condiciones de ATR, se genera un vacío. La condición de salida de la señal es la reversión de la tendencia (la media cruza de nuevo) o una disminución significativa en la volatilidad (la ATR es inferior a la media menos una diferencia estándar).
Para controlar el riesgo, la estrategia establece un stop loss dinámico basado en el ATR (precio de entrada + 2*ATR) y el Stop Stop ((el precio de entrada + 4*ATR), y la gestión de posiciones dinámicas basadas en la proporción de fondos de la cuenta y la volatilidad del mercado, asegurando que el riesgo de una sola transacción no exceda del 1-2% de los fondos de la cuenta.
Captura de entornos de alta volatilidad: La estrategia asegura que solo se negocie en entornos de alta volatilidad a través del filtro ATR, lo que le permite aprovechar al máximo las fluctuaciones de precios durante la turbulencia del mercado y aumentar el potencial de ganancias.
Retorno ajustado al riesgo: Combinado con el seguimiento de tendencias y el filtro de la volatilidad, evita el comercio ineficaz durante la baja volatilidad y mejora significativamente la proporción de retorno al riesgo, la proporción de Sharpe.
Adaptabilidad: el mecanismo de gestión dinámica de pérdidas y posiciones basado en ATR se ajusta automáticamente a las condiciones del mercado, lo que permite que la estrategia mantenga un control de riesgo adecuado en diferentes entornos de volatilidad.
Optimización de parámetros: muchos de los parámetros clave de la estrategia (como el ciclo EMA, el límite ATR y los factores de riesgo) pueden optimizarse en función de las condiciones específicas del mercado para mejorar la adaptabilidad del sistema.
Realización de una estrategia sencilla y eficiente: El diseño basado en datos de la línea de sol permite una estrategia de implementación relativamente simple y de bajo volumen de cálculo, adecuada para los operadores de frecuencia media, sin la necesidad de soporte de datos de alta frecuencia complejos.
Riesgo de Falsa Breakout: En un mercado convulso, el cruce de la línea media puede generar falsas señales, lo que lleva a operaciones frecuentes y pérdidas. La solución es agregar otros indicadores de confirmación como el volumen de operaciones o el RSI para filtrar las falsas señales.
Efectos en los costos de transacción: el comercio frecuente en mercados altamente volátiles puede generar costos de transacción más elevados, incluidas comisiones y puntos de deslizamiento. Se recomienda tener en cuenta estos costos en la retrospectiva y puede reducir la frecuencia de transacción prolongando el tiempo de tenencia de la posición o aumentando el umbral de entrada.
Riesgo de retirada: aunque la estrategia tiene un mecanismo de parada de pérdidas, en condiciones extremas de mercado (como saltos o desplomes), las pérdidas reales pueden ser mayores a las esperadas. Se recomienda establecer un límite de riesgo total de la cuenta para garantizar que el riesgo acumulado de todas las posiciones esté dentro de un rango aceptable.
Sensibilidad a los parámetros: la estrategia puede ser sensible a la selección de parámetros, y diferentes entornos de mercado pueden requerir diferentes configuraciones de parámetros. La solución es volver a optimizar los parámetros periódicamente o adoptar métodos de parámetros adaptativos.
Cambios en el entorno del mercado: en un entorno de baja volatilidad o en un mercado con una tendencia poco clara, las estrategias pueden no tener señales de negociación durante largos períodos de tiempo o generar señales de mala eficacia. Se puede considerar cambiar diferentes estrategias en diferentes entornos de mercado.
Filtración de la tasa de fluctuación a varios niveles: se pueden introducir indicadores de la tasa de fluctuación en varios marcos de tiempo, como el ATR a corto, medio y largo plazo, para garantizar que se cumplan las condiciones de alta fluctuación en diferentes escalas de tiempo para entrar en juego y reducir las falsas señales.
Mejoras en el aprendizaje automático: se pueden introducir algoritmos de aprendizaje automático para predecir tendencias y fluctuaciones, como el uso de LSTM o modelos de bosque aleatorio para predecir futuros niveles de ATR y tendencias de precios, mejorando la calidad de la señal.
Parámetros de adaptación: Realizar ajustes de adaptación a los ciclos de EMA y los mínimos de ATR, como ajustar automáticamente los parámetros en diferentes ciclos de mercado para adaptarse a los cambios en el estado del mercado y mejorar la solidez de la estrategia.
Integración de indicadores de sentimiento: introducción de indicadores de sentimiento en el mercado, como el VIX (índice de volatilidad), datos de flujo de fondos o de mercado de opciones, para aumentar la base de confirmación de la señal de entrada y mejorar la calidad de la señal.
Optimización de stop loss: permite la realización de estrategias de stop y stop más complejas, como stop móvil basado en ATR o stop inteligente basado en puntos de soporte/resistencia, para mejorar la relación de ganancias.
Adaptabilidad a múltiples mercados: la extensión de la estrategia para que pueda operar simultáneamente en varios mercados relevantes, aprovechando la correlación y las diferencias de volatilidad entre los mercados para dispersar el riesgo y aumentar las oportunidades.
Clasificación de entornos de mercado: desarrollo de módulos de identificación de entornos de mercado para ajustar parámetros de estrategia o lógica de negociación en diferentes entornos de mercado (trend, oscilación, alta volatilidad, baja volatilidad, etc.) y mejorar el rendimiento de la estrategia en todo momento.
La estrategia de Sharpie es un sistema de comercio cuantitativo que combina el seguimiento de tendencias y el filtro de la volatilidad para buscar un alto rendimiento después de ajustar el riesgo al operar solo en un entorno de alta volatilidad. La estrategia determina la dirección de la tendencia a través de cruces de medias rápidas y lentas, mientras que utiliza indicadores relacionados con el ATR para garantizar que el mercado esté en un estado de alta volatilidad, lo que mejora la calidad de la señal de negociación.
El mecanismo dinámico de stop loss y gestión de posiciones permite que las estrategias controlen el riesgo de manera efectiva y se adapten a las diferentes condiciones del mercado. Aunque existen riesgos como falsas brechas, costos de transacción y sensibilidad de parámetros, se espera que la estabilidad y el rendimiento de las estrategias mejoren aún más mediante la introducción de direcciones de optimización como filtración de fluctuaciones a varios niveles, integración de indicadores emocionales y mejora de aprendizaje automático.
Este es un marco estratégico que vale la pena considerar para los comerciantes cuantitativos que buscan obtener mayores retornos de ajuste de riesgo en mercados de alta volatilidad. Antes de la implementación real, se recomienda realizar una adecuada retroalimentación histórica y optimización de parámetros, y ajustar los parámetros de la estrategia según las características específicas del mercado para obtener los mejores resultados comerciales.
/*backtest
start: 2025-02-17 00:00:00
end: 2025-02-24 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=6
strategy("Aggressive Strategy for High IV Market", overlay=true)
// 用户输入
ema_fast_length = input.int(10, title="Fast EMA Length")
ema_slow_length = input.int(30, title="Slow EMA Length")
atr_length = input.int(14, title="ATR Length")
atr_mean_length = input.int(20, title="ATR Mean Length")
atr_std_length = input.int(20, title="ATR Std Dev Length")
risk_factor = input.float(0.01, title="Risk Factor") // 单笔交易风险占账户资金的百分比
slippage = input.float(0.001, title="Slippage") // 假设滑点
// 计算EMA、ATR、均值、标准差
ema_fast = ta.ema(close, ema_fast_length)
ema_slow = ta.ema(close, ema_slow_length)
atr_value = ta.atr(atr_length)
atr_mean = ta.sma(atr_value, atr_mean_length)
atr_std = ta.stdev(atr_value, atr_std_length)
// 进场条件
long_condition = ta.crossover(ema_fast, ema_slow) and atr_value > (atr_mean + atr_std)
short_condition = ta.crossunder(ema_fast, ema_slow) and atr_value > (atr_mean + atr_std)
// 止损与止盈设置
long_stop_loss = close - 2 * atr_value // 基于ATR的止损
long_take_profit = close + 4 * atr_value // 基于ATR的止盈
short_stop_loss = close + 2 * atr_value // 基于ATR的止损
short_take_profit = close - 4 * atr_value // 基于ATR的止盈
// 动态仓位控制
position_size_calc = (strategy.equity * risk_factor) / (2 * atr_value)
position_size = math.min(position_size_calc, strategy.equity) // 限制仓位不能大于账户总值
// 进场与出场信号
if (long_condition)
strategy.entry("Long", strategy.long, qty=position_size)
if (short_condition)
strategy.entry("Short", strategy.short, qty=position_size)
// 止损与止盈
strategy.exit("Take Profit/Stop Loss Long", "Long", stop=long_stop_loss, limit=long_take_profit)
strategy.exit("Take Profit/Stop Loss Short", "Short", stop=short_stop_loss, limit=short_take_profit)
// 绘制图表
plot(ema_fast, title="Fast EMA", color=color.blue, linewidth=2)
plot(ema_slow, title="Slow EMA", color=color.orange, linewidth=2)
plot(long_stop_loss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_line)
plot(long_take_profit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_line)
plot(short_stop_loss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_line)
plot(short_take_profit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_line)
// 显示信号
bgcolor(long_condition ? color.new(color.green, 90) : na, title="Long Signal Background")
bgcolor(short_condition ? color.new(color.red, 90) : na, title="Short Signal Background")