Estrategia de prueba de retroceso de Fisher Transform

El autor:¿ Qué pasa?, Fecha: 2023-12-04 13:43:05
Las etiquetas:

img

Resumen general

La estrategia de prueba de retroceso de la transformación de Fisher calcula la transformación de Fisher de los precios para identificar los puntos de inversión de precios y generar señales comerciales en consecuencia. La estrategia procesa los precios utilizando la fórmula de transformación de Fisher para eliminar las características no gaussianas de las distribuciones de precios, lo que resulta en un indicador estandarizado con una distribución gaussiana aproximada. La estrategia determina las reversiones de precios basadas en los puntos de inflexión de la curva de transformación de Fisher y produce señales largas y cortas.

Principio de la estrategia

El núcleo de esta estrategia es procesar los precios utilizando la fórmula de la transformación de Fisher para eliminar las características no gaussianas de las distribuciones de precios naturales.

y = 0,5 * ln (((1 + x) / (((1-x))

Aquí x es el precio procesado, obtenido primero encontrando los precios más altos y más bajos en los períodos de longitud más recientes utilizando las funciones más altas y más bajas, y luego normalizando como sigue:

x = (precio - mínimo) / ((máximo - mínimo) - 0,5

Los precios procesados de esta manera se aproximan a una distribución gaussiana. x se sustituye a continuación en la fórmula de transformación de Fisher para obtener la curva de transformación de Fisher.

Cuando la curva de transformación de Fisher pasa de positiva a negativa, se genera una señal de venta. Cuando pasa de negativa a positiva, se genera una señal de compra.

Análisis de ventajas

  1. La transformación de Fisher elimina las características no gaussianas de los precios, lo que resulta en precios más bien comportados y estandarizados y menos señales falsas

  2. Captura los puntos de reversión de los precios, evitando perseguir los picos y bajos

  3. Ajuste flexible de los parámetros para la sensibilidad de reversión de ajuste

  4. Direccionalidad personalizable, adaptable a diversos entornos de mercado

  5. Lógica sencilla fácil de entender e implementar

Análisis de riesgos

  1. La configuración incorrecta de los parámetros puede perder las curvas o generar señales falsas

  2. El deslizamiento en el comercio en vivo puede impedir la ejecución perfecta de la señal

  3. Difícil de identificar los giros cuando los precios son volátiles

  4. Difícil de aplicar en operaciones en vivo con necesidad de confirmar las reversiones

Soluciones:

  1. Optimiza los parámetros ajustando la longitud

  2. Relajar adecuadamente los criterios de entrada para garantizar los llenados

  3. Filtrar señales falsas que combinen otros indicadores

  4. Seguir estrictamente las reglas y gestionar los riesgos

Direcciones de optimización

  1. Optimiza el parámetro Length para encontrar la mejor combinación

  2. Añadir filtros para evitar señales falsas, por ejemplo, medias móviles, indicadores de volatilidad, etc.

  3. Incorporar el stop loss a la pérdida de control por operación

  4. Añadir un mecanismo de reingreso para rastrear las tendencias continuas

Conclusión

La estrategia Fisher Transform backtest identifica puntos de inversión de precios eliminando características de precios no gaussianas. Es una estrategia de reversión media fácil de implementar. Sus ventajas se encuentran en parámetros flexibles para capturar vueltas, mientras que su principal debilidad es la dificultad de la implementación en vivo con la necesidad de reglas de entrada estrictas.


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 22/12/2016
// 	Market prices do not have a Gaussian probability density function
// 	as many traders think. Their probability curve is not bell-shaped.
// 	But trader can create a nearly Gaussian PDF for prices by normalizing
// 	them or creating a normalized indicator such as the relative strength
// 	index and applying the Fisher transform. Such a transformed output 
// 	creates the peak swings as relatively rare events.
// 	Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
// 	The sharp turning points of these peak swings clearly and unambiguously
// 	identify price reversals in a timely manner. 
//
//  For signal used zero. 
// 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="Fisher Transform Indicator by Ehlers Backtest", shorttitle="Fisher Transform Indicator by Ehlers")
Length = input(10, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=blue)
xHL2 = hl2
xMaxH = highest(xHL2, Length)
xMinL = lowest(xHL2,Length)
nValue1 = 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
nValue2 =   iff(nValue1 > .99,  .999,
	         iff(nValue1 < -.99, -.999, nValue1))
nFish = 0.5 * log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
pos = iff(nFish > 0, 1,
	   iff(nFish < 0, -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(nFish, color=green, title="Fisher")
plot(nz(nFish[1]), color=red, title="Trigger")

Más.