Bogotá - Ingeniería - Maestría en Ingeniería - Ingeniería Industrial · 2023
Sistema de trading algorítmico utilizando un modelo de machine learning generado por auto machine learning como regla de filtro
En el presente trabajo se mejora el rendimiento de un sistema o estrategia de trading algorítmico, basado en indicadores técnicos, mediante la incorporación de un modelo de clasificación que permite discriminar operaciones potenciales de la estrategia entre ganadoras y perdedoras. Las características utilizadas como entrada del modelo de machine learning son generadas a partir de indicadores técnicos en el instante que se abre una operación, obtenidas mediante una simulación de mercado con datos de en formato Open, High, Low, Close en la divisa del eurodólar. Para el proceso de búsqueda del modelo clasificación adecuado, se plantean dos mecanismos basados en automachine learning y algoritmos evolutivos, utilizando la librería Evaluation of a Tree-Based Pipeline Optimization Tool for Automating Data Science (TPOT) y una propuesta basada en el Elitist Non-dominated Sorting Genetic Algorithm (NSGA-II) y TPOT, donde se orienta la búsqueda multiobjetivo con la métrica del accuracy y el System Quality Number (SQN) una métrica para evaluar sistemas de trading. En los experimentos realizados, los modelos de clasificación elegidos por NSGA-II mejoraron significativamente el rendimiento de la estrategia de trading, con un 32.5% de los modelos fuera de muestra que mostraron rendimientos positivos y un comportamiento similar dentro y fuera de muestra. Mientras que con TPOT, los clasificadores encontrados tendieron a tener buen rendimiento dentro de muestra, pero no consistente fuera de muestra. La estrategia final elegida por NSGA-II tuvo un 60-61% de operaciones rentables tanto dentro como fuera de muestra, mientras TPOT tuvo un 98% y un 62% respectivamente. (Texto tomado de la fuente)
Texto completo 87 páginas con texto de 94
Leer la tesis completa Ficha en el repositorio
Contenido
- Introducciónp. 18
- Planteamiento del problemap. 19
- Justificaciónp. 20
- Metodologíap. 21
- Objetivosp. 22
- 1.4.1 Objetivo Generalp. 22
- 1.4.2 Objetivos Específicosp. 22
- Definicionesp. 23
- Series de tiempo financierasp. 23
- Análisis técnicop. 23
- Indicadores técnicosp. 24
- 2.3.1 Range Action Verification Index (RAVI)p. 24
- 2.3.2 Linear Regression Anglep. 25
- 2.3.3 Awesome Oscillator (AO)p. 26
- 2.3.4 Relative Strength Index (RSI)p. 26
- 2.3.5 Williams %R (WILLR)p. 27
- 2.3.6 Average Directional Index (ADX)p. 27
- 2.3.7 Simple Moving Average (SMA)p. 29
- 2.3.8 Exponencial Moving Average (EMA)p. 29
- 2.3.9 Adaptive Moving Average (AMA)p. 30
- 2.3.10 Weighted Moving Average (WMA)p. 31
- 2.3.11 Ultimate Oscillator (ULTOSC)p. 32
- 2.3.12 Average True Range (ATR)p. 32
- 2.3.13 Return last time windowp. 33
- Volatilidadp. 34
- Tendenciap. 34
- Momentump. 35
- Sistemas de Tradingp. 35
- Mercados Financierosp. 36
- 2.8.1 Mercado Monetariop. 36
- 2.8.2 Mercado de capitalesp. 36
- 2.8.3 Mercado de divisas o Foreign Exchange (Forex)p. 37
- 2.8.4 Mercado de derivadosp. 37
- 2.8.5 Mercado de materias primas o Commoditiesp. 38
- Preprocesamientop. 39
- Descripción del conjunto de datosp. 39
- Generación de característicasp. 40
- 3.2.1 Escalado min-máxp. 41
- 3.2.2 Escalado con signop. 42
- 3.2.3 Escalado min-máx desde el rangop. 42
- Auto Machine Learningp. 46
- Marcos de Automachine learningp. 48
- 4.1.1 Grid-Searchp. 48
- 4.1.2 Auto-Sklearn y Auto-wekap. 49
- Science (TPOT)p. 49
- 4.1.4 H2O-AutoMLp. 50
- 4.1.5 Auto-Kerasp. 50
- Elitist Non-dominated Sorting Genetic Algorithm (NSGA II)p. 51
- 4.2.1 Dominancia de Paretop. 51
- 4.2.2 Crowding Distancep. 52
- 4.2.3 Pasos NSGA-IIp. 53
- Representación de la solución (cromosoma)p. 55
- 4.3.1 Pipeline basado en arbolesp. 56
- Operador de selección por torneo binariop. 57
- Operadores de cruzamientop. 58
- 4.5.1 Cruzamiento codificación binaria - cruce de punto únicop. 58
- 4.5.2 Cruzamiento codificación arboles - subtree crossoverp. 59
- Operadores de mutaciónp. 60
- 4.6.1 Mutación binaria por bitsp. 60
- 4.6.2 Mutación del árbolp. 61
- Funciones objetivop. 61
- SQN (System Quality Number)p. 62
- Accuracyp. 63
- Estrategia Propuestap. 66
- Estrategia basep. 66
- Estrategia con algoritmo de clasificación integradop. 68
- Experimentos y Resultadosp. 72
- Consideraciones generales del experimentop. 72
- Grilla take profit y stoplossp. 72
- Supuesto de la simulaciónp. 73
- 6.3.1 Obtención del conjunto de datos para el clasificadorp. 74
- Pipeline del experimento propuestop. 75
- Resultados Experimentosp. 76
- del clasificadorp. 78
- 6.5.3 Estrategia elegidap. 79
- Conclusiones y recomendacionesp. 85
- Conclusionesp. 85
- Recomendacionesp. 86
- Bibliografíap. 88
- Figura 3.1 Evolución del EUR/USDp. 40
- Figura 4.1: Esquemas general de automlp. 47
- Figura 4.2: Ejemplo AutoML estructura Fijap. 48
- Figura 4.3: Ejemplo AutoML estructura flexiblep. 48
- Figura 4.4: Crowding-distance-assignment (I)p. 52
- Figura 4.5: Crowding-distance calculationp. 53
- Figura 4.6: Diagrama NSGA-IIp. 54
- Figura 4.7: Proceso de selección elitismop. 55
- Figura 4.8: Ejemplo de codificación de una soluciónp. 57
- Figura 4.9: Cruzamiento para parte binaria del encodingp. 59
- Figura 4.10: Cruzamiento para parte de árbol del encodingp. 60
- Figura 4.11: Ejemplo de mutación codificación binariap. 61
- Figura 5.1: Diagrama de flujo estrategia basep. 68
- Figura 5.2: Ejemplo de apertura de operaciónp. 69
- Figura 5.3: Diagrama de flujo estrategia con un clasificador integradop. 70
- Figura 5.4: Diagrama de inferencia del clasificadorp. 71
- Figura 5.5: Diagrama de filtro de una señalp. 71
- Figura 6.1: Operaciones cerradas por final de día vs. Take profit y stop lossp. 73
- Figura 6.2: ejemplo de muestra para entrenamiento del clasificadorp. 74
- Figura 6.3: Secuencia de los experimentosp. 75
- Figura 6.5: Accuracy medio por juego de parámetros en experimentosp. 77
- propuestop. 79
- Figura 6.8: Modelo seleccionado de la búsqueda hecha con NSGA-II propuestop. 80
- Figura 6.9: Modelo seleccionado de la búsqueda hecha con TPOTp. 81
- Figura 6.10: Rendimiento Estrategia de trading con ML elegida con TPOTp. 81
- propuestop. 79
- Figura 6.12: Rendimiento Estrategia basep. 82
- Tabla 3.1: Indicadores técnico y transformacionesp. 44
- Tabla 6.1: Estadísticas globales del sistema de tradingp. 84
- Tabla 6.2: Estadísticas globales de los experimentosp. 84