
Descripción general
La estrategia es un sistema de comercio de seguimiento de tendencias basado en el método de estimación de núcleos de Nadaraya-Watson y el cruce de promedios móviles. La estrategia procesa los datos de precios de manera fluida a través de la función de núcleos de Gauss, combina la señal de cruce de promedios móviles para capturar las tendencias del mercado y realizar operaciones de seguimiento de tendencias inteligentes.
Principio de estrategia
El núcleo de la estrategia es el método de Nadaraya-Watson para la estimación nuclear, que utiliza la función de Gauss para la suavización no paramétrica de los datos de precios. La implementación concreta incluye los siguientes pasos:
- Peso calculado con la función de Gaussian, con el parámetro de ancho de banda h establecido en 8.0
- Preocupación por la pérdida de peso en los últimos 500 puntos de datos
- Calcula el promedio móvil simple (SMA) de los datos después de la suavización, con un período de retroceso de 15 ciclos
- Cuando se cruza una media móvil en una curva de nivelación, se produce una señal múltiple.
- Se produce una señal de vacío cuando se cruza la media móvil por debajo de la curva de planeamiento
- Variables de estado de posición para rastrear la posición actual y evitar la reapertura de posiciones
Ventajas estratégicas
- El uso de métodos de estimación no paramétricos, sin la necesidad de asumir la distribución de los datos, para adaptarse mejor a los cambios en el mercado
- La suavización de la función del núcleo de Gauss puede reducir el impacto del ruido y mejorar la calidad de la señal
- Combinado con la verificación cruzada de medias móviles, reduce las señales falsas
- El uso de un sistema de gestión de posiciones para controlar las brechas de riesgo
- El código es sencillo, eficiente, fácil de mantener y optimizar
- La lógica de la estrategia es clara y se adapta a las transacciones de varios períodos de tiempo
Riesgo estratégico
- Riesgo de sensibilidad de parámetros: las opciones de ancho de banda h y promedios móviles afectan significativamente el rendimiento de la estrategia
- Riesgo de atraso: las estimaciones nucleares y las medias móviles tienen un cierto atraso y pueden perderse situaciones extremas
- Riesgo de mercado en movimiento: Los mercados en movimiento horizontal son propensos a generar falsas señales
- Gastos de cálculo: se requiere procesar una gran cantidad de datos históricos, lo que puede afectar la performance en tiempo real
- Riesgo de sobreajuste: la optimización de los parámetros puede causar sobreajuste de los datos históricos
Dirección de optimización de la estrategia
- Introducción de la banda ancha adaptativa: ajuste dinámico de los parámetros de la banda ancha en función de las fluctuaciones del mercado
- Incrementar el filtro del entorno del mercado: agregar indicadores de intensidad de tendencia para abrir posiciones en mercados de tendencia fuerte
- Optimización de los mecanismos de detención de pérdidas: diseño de la detención de pérdidas dinámicas basadas en la volatilidad
- Mejorar la gestión de posiciones: ajustar el tamaño de las posiciones en función de la intensidad de las señales y las fluctuaciones del mercado
- Introducción al análisis de múltiples ciclos de tiempo: determinación de tendencias en combinación con ciclos más largos
Resumir
La estrategia combina de manera innovadora la estimación de Nadaraya-Watson con el análisis técnico tradicional, para construir un sistema de seguimiento de tendencias sólido. Captura de manera efectiva las tendencias del mercado a través de la cruza de medias móviles y suaves de Gauss.
Código Fuente de la Estrategia
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © UniCapInvest
//@version=5
strategy("Nadaraya-Watson Strategy with Moving Average Crossover", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10, max_bars_back=500)
// Girdiler
h = input.float(8.,'Bandwidth', minval = 0)
src = input(close,'Source')
lookback = input.int(15, "Moving Average Lookback", minval=1)
// Gaussian fonksiyonu
gauss(x, h) => math.exp(-(math.pow(x, 2)/(h * h * 2)))
// Nadaraya-Watson smoothed değerini hesaplama
var float smoothed = na
sum_w = 0.0
sum_xw = 0.0
for i = 0 to 499
w = gauss(i, h)
sum_w += w
sum_xw += src[i] * w
smoothed := sum_w != 0 ? sum_xw / sum_w : na
// Hareketli ortalama hesaplama
ma = ta.sma(smoothed, lookback)
// Alım ve satım koşulları (kesişimlere göre)
longCondition = ta.crossover(smoothed, ma)
shortCondition = ta.crossunder(smoothed, ma)
// Pozisyon durumu
var bool inPosition = false
// Strateji giriş ve çıkış koşulları
if (longCondition and not inPosition)
strategy.entry("Long", strategy.long)
inPosition := true
if (shortCondition and inPosition)
strategy.entry("Short", strategy.short)
inPosition := false
// Plotting
plot(smoothed, color=color.blue, title="Nadaraya-Watson Smoothed")
plot(ma, color=color.red, title="Moving Average")