Estrategia de negociación de promedio móvil de señal a ruido basada en la negociación cuantitativa

El autor:¿ Qué pasa?, Fecha: 2024-01-02 12: 24:35
Las etiquetas:

img

I. Nombre de la estrategia

Estrategia de negociación de promedio móvil de señal a ruido

II. Resumen de la estrategia

Esta estrategia realiza la negociación cuantitativa calculando la relación señal-ruido durante un cierto período y combinándola con las señales de negociación promedio móvil.

  1. Calcular la relación señal-ruido durante un cierto período (ajustable)
  2. Aplicar la media móvil para suavizar la relación señal-ruido
  3. Comparar la relación señal-ruido actual con el valor promedio móvil para generar señales comerciales
  4. Largo o corto basado en señales de negociación

III. Principio de la estrategia

  1. La fórmula para calcular la relación señal-ruido (StN) es: StN = -10*log ((Σ(1/close) /n), donde n es la longitud del período
  2. Aplicar la media móvil simple (SMA) a la relación señal-ruido para obtener un StN suavizado
  3. Compare el StN actual con el SMAStN suavizado: (1) Si SMAStN > StN, hacer corto (2) Si SMAStN < StN, ir largo (3) De lo contrario, posición cerrada

IV. Análisis de las ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. El StN puede juzgar las fluctuaciones del mercado y el riesgo, el SMA tiene capacidad de reducción del ruido
  2. La combinación de StN para juzgar el riesgo de mercado y SMA para generar señales de negociación aprovecha las ventajas de diferentes indicadores.
  3. Parámetros ajustables para adaptarse a las diferentes condiciones del mercado
  4. Las señales de estancamiento indican directamente el juicio largo o corto, intuitivo de las características del mercado

V. Análisis de riesgos

También hay algunos riesgos con esta estrategia:

  1. Existen riesgos de desviación en el juicio cruzado entre StN y MA
  2. La configuración incorrecta del período puede causar señales falsas
  3. Relativamente menos oportunidades cortas, optimizables mediante el ajuste de parámetros
  4. Las fluctuaciones extremas causadas por los eventos de cisne negro pueden desencadenar el stop loss

Soluciones:

  1. Ajustar los parámetros de MA para evitar el exceso de suavizado
  2. Optimización de los parámetros de período y adaptabilidad de las pruebas en diferentes mercados
  3. Ajustar las condiciones cortas para ofrecer más oportunidades cortas
  4. Establecer el stop loss para controlar las pérdidas máximas

VI. Dirección de optimización

La estrategia se puede optimizar de las siguientes maneras:

  1. Combinación de ensayos de más tipos de medias móviles
  2. Añadir un mecanismo de stop loss para controlar los riesgos
  3. Añadir gestión de posiciones, ajustar posiciones basadas en las fluctuaciones
  4. Incorporar más factores para mejorar la estabilidad
  5. Utilice métodos de aprendizaje automático para optimizar automáticamente los parámetros

VII. Resumen

Esta estrategia realiza la negociación cuantitativa al juzgar el riesgo del mercado a través de la relación señal-ruido y generar señales de negociación a partir de promedios móviles. En comparación con indicadores técnicos únicos, esta estrategia integra las ventajas de StN y SMA para mejorar la estabilidad mientras controla los riesgos. Con la optimización de parámetros y el aprendizaje automático, esta estrategia tiene un gran potencial de mejora y es una estrategia de negociación cuantitativa confiable y efectiva.


/*backtest
start: 2023-12-25 00:00:00
end: 2023-12-29 10:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © HPotter 05/01/2021
// The signal-to-noise (S/N) ratio. 
// And Simple Moving Average.
// Thank you for idea BlockchainYahoo
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors. 
////////////////////////////////////////////////////////////
SignalToNoise(length) =>
    StN = 0.0
    for i = 1 to length-1
        StN := StN + (1/close[i])/length
    StN := -10*log(StN)

strategy(title="Backtest Signal To Noise ", shorttitle="StoN", overlay=false)
length = input(title="Days", type=input.integer, defval=21, minval=2)
Smooth =  input(title="Smooth", type=input.integer, defval=7, minval=2)
reverse = input(false, title="Trade reverse")
StN = SignalToNoise(length)
SMAStN = sma(StN, Smooth)
pos = iff(SMAStN[1] > StN[1] , -1,
	   iff(SMAStN[1] < StN[1], 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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )
plot(StN, title='StN' )
plot(SMAStN, title='Smooth', color=#00ff00)

Más.