Predicción de tendencias en el mercado FOREX por medio de un algoritmo de Bosques Aleatorios

MSc. Cesar López Martínez

2022-10-25

Contenido

Conceptos Básicos

Trading

Se conoce como Trading o especulación bursátil al intercambio de instrumentos financieros entre inversores con el objetivo de maximizar su beneficio en un determinado periodo de tiempo (Contreras,2019).

Trading Algorítmico

Consiste en programas informáticos que contiene un conjunto de reglas que indican el instante de entrada y salida del mercado, eliminado la intervención humana a la hora de tomar cualquier decisión (Pérez, 2019).

Hipótesis Iniciales

Hoja de ruta para la implementación de algoritmos

Esquema general implementación de algoritmos. Tomado de: Machine learning techniques and data for stock market forecasting: a literature review (Kumbure,2022)

Variables para algoritmos. Tomado de: Machine learning techniques and data for stock market forecasting: a literature review (Kumbure,2022)

Ruta Desarrollada

  1. Recolección de datos

Se recopilan datos desde el 1 Enero de 1970 hasta 26 de Septiembre de 2022 desde la plataforma Metatrader 4, para el par EURUSD en una ventana de tiempo de 4 horas. En total, se tienen 98 variables. Estos datos son operaciones exitosas, en total se tiene una base de datos con 31877 registros de operaciones con esta categoría.

Indicadores técnicos
RSI1 RSI2 RSI3 RSI4 STOCH6 MA4_6 FORCE6 MACD5 HORA TIPO
57.4654 57.7569 57.5570 61.6188 100.0000 0.00018 0.0014 0.00401 0 1
48.0614 57.4654 57.7569 57.5570 93.6893 0.00013 0.0008 0.00284 0 1
57.7569 57.5570 61.6188 76.2813 100.0000 0.00019 0.0016 0.00425 0 1
57.5570 61.6188 76.2813 81.6090 96.4286 0.00019 0.0009 0.00388 0 1
61.6188 76.2813 81.6090 80.7444 87.6190 0.00015 0.0006 0.00322 0 1
60.9779 54.9049 48.0614 57.4654 28.2828 0.00012 -0.0006 0.00107 0 1

Estos datos son captados, por medio de un código diseñado en lenguaje mql4 (nativo de mt4).

  1. Selección de variables

En primer lugar, se realiza una depuración de las variables eliminando aquellas que estén altamente correlacionadas entre si. Esta depuración reduce a 45 variables a tener en cuenta. Posteriormente, se realiza la selección final por medio de un Algoritmo Genético, este proceso se realiza utilizando el paquete del software R caret (Kuhn,2016). En total se seleccionan 10 variables.

Variables Selecciondas
x
STOCH6
MA2_1
MA3_1
MA4_6
STD4
STD5
STD6
MACD1
CLOSE3
CLOSE4
  1. Selección y entrenamiento del modelo

Se selecciona el modelo de Bosques Aleatorios o Random Forest. Se divide la base de datos en 70% para entrenar el modelo (22314 registros) y el 30% (9563 registros) para validación del mismo. La métrica para evaluar el modelo de clasificación sera la Exactitud o Accuracy y se utiliza la matriz de confusión para verificar la potencia predictiva del modelo entrenado.

En esta fase de entrenamiento, se realiza validación cruzada o cross-validation, lo que permite evitar sobreajustes. Este proceso se realizó con ayuda del paquete Caret.

Mejor Modelo Seleccionado
mtry Accuracy Kappa AccuracySD KappaSD
2 0.7763838 0.5525221 0.0111509 0.0223563
6 0.7623132 0.5243916 0.0093152 0.0186363
10 0.7496306 0.4990018 0.0097487 0.0195365
  1. Validación del modelo

Se valida el modelo entrenado con el 30% de los datos para este fin.

Matrix De Confusión
1 2
3874 994
1003 3691

## AUC: 0.7910871

Análisis De Resultados

Se muestra que es posible entrenar un modelo de Machine Learning que tenga la capacidad de estimar los movimientos del mercado FOREX.

Se desarrolló un Expert Advisor basado en el proceso mencionado. A continuación se relacionan resultados al correr el bot diseñado en una cuenta demo con capital inicial de $500 US, desde el día 27 de Septiembre hasta el día 25 de Octubre de 2022.

Resultado Obtenidos. Fuente: Myfxbook
Descripcion Total
Total Operaciones 144
Operaciones Acertadas 104
Operaciones Perdidas 40

Claramente se puede apreciar que existe un porcentaje de acierto del 72%. La ganancia y pérdida promedio de la herramienta es de $3.5 y $5.0 respectivamente. Esto se traduce en un ingreso de $364 y una pérdida neta de $200, lo que posiciona a la herramienta con una ganancia neta de $164. Esto corresponde a un rendimiento del 32% en aproximadamente un mes de operación.

Comprobación de hipótesis iniciales

Se demostró que existe una ruta válida y concisa para desarrollar algoritmos de Machine Learning para estimar movimientos en el mercado de FOREX. Es validada por la literatura, y es replicable lo que permite que se pueda comprobar.

De acuerdo a la ruta desarrollada, las fases mas importantes en este caso de estudio para la implementación de estas técnicas son: la captura de datos y la selección de variables.

A falta de pruebas mas extensas, se demostró que el sistema desarrollado genera un buen rendimiento en el periodo testeado. No es concluyente pero da indicios que realizando un seguimiento estricto, es posible tener un sistema estable en el tiempo.

Agradecimientos

Grupo de trabajo de RF_Trading®.

Referencias Bibliográficas