Type/to search

Estrategia de trading cuantitativo basada en redes neuronales artificiales

Common strategy
Created: 2023-11-14 11:22:28
Last modified: 3 years ago
1
Follow
1797
Followers

img

Resumen

Esta estrategia utiliza una red neuronal artificial para predecir cambios futuros en el precio y genera señales de trading basadas en los resultados de la predicción, clasificándose como una estrategia de seguimiento de tendencia. La ventaja de la estrategia es que puede identificar tendencias no lineales complejas y es adecuada para operaciones a medio y largo plazo. Sin embargo, también existe el riesgo de que los resultados del backtest sean buenos, pero el rendimiento en mercado real sea deficiente.

Principio de la estrategia

Esta estrategia utiliza una red neuronal artificial (RNA) para predecir el cambio porcentual del precio del día siguiente.

La capa de entrada tiene un solo nodo, que corresponde al cambio porcentual del precio del día anterior.

La capa oculta consta de 2 capas: la primera tiene 5 nodos y la segunda 33 nodos, ambas utilizando la tangente hiperbólica (tanh) como función de activación.

La capa de salida tiene un solo nodo, que después de una función de activación lineal produce directamente el resultado final de la predicción.

Si el resultado de la predicción es mayor que el valor del parámetro threshold, se genera una señal de compra. Si es menor que el negativo del valor del parámetro threshold, se genera una señal de venta.

Ventajas de la estrategia

  • Utiliza un modelo RNA para la predicción, capaz de ajustar tendencias no lineales complejas.
  • Solo necesita datos de un día como entrada, sin requerir grandes cantidades de datos históricos.
  • Puede identificar tendencias en escalas de tiempo más largas.
  • El uso de múltiples capas ocultas proporciona una gran capacidad de ajuste.
  • Las funciones de activación y los parámetros han sido optimizados, lo que permite predicciones efectivas.

Riesgos de la estrategia

  • El algoritmo RNA presenta riesgo de sobreajuste; el rendimiento en mercado real puede no ser tan bueno como en el backtest.
  • Requiere un largo período de datos históricos para el entrenamiento, no siendo adecuado para acciones recién listadas.
  • Los parámetros y la estructura necesitan una optimización repetida, y los resultados pueden ser inestables.
  • Solo predice la subida o bajada de un día, sin poder determinar la tendencia a largo plazo.
  • Cuando el mercado entra en un período de volatilidad lateral, el rendimiento puede deteriorarse.

Direcciones de optimización

  • Aumentar las variables de entrada, como información sobre el volumen de operaciones.
  • Probar diferentes estructuras de RNA y funciones de activación.
  • Optimizar los parámetros de la RNA para mejorar la precisión del ajuste.
  • Aumentar el tamaño de la muestra del conjunto de entrenamiento para evitar el sobreajuste.
  • Predecir en múltiples escalas de tiempo para evaluar tendencias a corto y largo plazo.
  • Combinar con otros modelos, aprendizaje conjunto (ensemble learning).
  • Utilizar indicadores como la volatilidad para reforzar el control de riesgos.

Conclusión

Esta estrategia utiliza un modelo RNA para predecir cambios de precio, lo que permite identificar tendencias no lineales complejas y es adecuada para operaciones a medio y largo plazo. Sin embargo, la naturaleza de "caja negra" del modelo RNA plantea grandes desafíos en el mercado real. Necesitamos optimizar desde aspectos como las características de entrada, la estructura del modelo, la optimización de parámetros y el aprendizaje conjunto, al mismo tiempo que complementamos con indicadores tradicionales de análisis técnico para mejorar los resultados operativos y reducir el riesgo real. Las estrategias basadas en inteligencia artificial aún deben combinarse perfectamente con las estrategias tradicionales para lograr el máximo efecto.

Source
Pine
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("ANN Strategy v2")

threshold = input(title="Threshold", type=float, defval=0.0000, step=0.0001)
Strategy parameters
Strategy parameters
Threshold
Timeframe
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)