Minería de datos para trading automático

1,148 views

Published on

Líneas magistrales de la master class ofrecida por Fernando Monera, CINO de OpenSIstemas, en el Master de Minería de Datos 2013/2014 de la UCM.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,148
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Minería de datos para trading automático

  1. 1. Minería de datos para la construcción de sistemas de trading automático OpenSistemas 2014 Fernando Monera (fmonera@opensistemas.com)
  2. 2. Índice ❏ ❏ ❏ ❏ 1. Planteamiento general 2. Equipo / roles necesarios 3. Conceptos básicos 4. Ejemplo práctico ❏ Idea operativa ❏ Programación ❏ Ejecución ❏ 5. Conclusiones
  3. 3. ● ¿Conocimientos o experiencia sobre bolsa u otros mercados? Pregunta
  4. 4. ● ¿Alguien tiene experiencia con trading automático? Pregunta
  5. 5. PARTE 1 CONCEPTOS BÁSICOS
  6. 6. ● Objetivo: Planteamiento General ○ Ventajas competitivas ○ Sostenidas ○ Mercados financieros
  7. 7. ○ Sistemas automáticos vs. manuales Planteamiento general ■ ■ Sistemas automáticos: >70% Sistemas manuales: <30% ○ El porcentaje va aumentando a favor de los sitemas automáticos ○ Barreras de entrada han bajado enormemente
  8. 8. ● Enfoques: ○ Tradicional Planteamiento general ■ ■ ■ ■ Idea operativa Programación del algoritmo Backtesting Optimización ○ Otros enfoques ■ Redes neuronales, Walk Forward, Data Mining de sistemas (vs parámetros), ...
  9. 9. Para construir un sistema de trading son necesarios expertos en las siguientes áreas: Equipo / roles necesarios ● Trader: Conoce los mercados y proporciona la idea operativa ● Programador: Convierte la idea operativa en un algoritmo ● Sistemas/infraestructura: Máquinas, comunicaciones, monitorización, ...
  10. 10. Equipo / roles necesarios Una misma persona puede asumir dos o incluso los tres roles: ● Lenguajes de programación sencillos ● Plataformas orientadas a “retail trading” / “home trading” ● Precio de datos muy barato incluso gratuito en algunos casos ● Mucha información disponible en Internet sobre trading
  11. 11. ● Datos disponibles: ○ Precio y Volumen Conceptos básicos ● Representación Gráfica ○ Series temporales: es la forma más común de representación ○ Eje X: tiempo ○ Eje Y: precio
  12. 12. ● Velas japonesas Conceptos básicos ○ ○ ○ ○ Apertura Cierre Máximo Mínimo ● Marcos temporales
  13. 13. ● Indicadores: Conceptos básicos ○ Operaciones sobre el precio y/o el volumen ○ Otros (noticias por ejemplo) ● Indicadores comunes: ○ Medias móviles: Tendencia ○ Osciladores: Sobrecompra / Sobreventa ○ Bandas: Niveles de precio extremos ○ Estructura del precio: Zigzag
  14. 14. ○ Conceptos básicos Ejemplo: medias móviles
  15. 15. ○ Conceptos básicos Ejemplo: ZigZag
  16. 16. ○ Conceptos básicos Ejemplo: Bollinger Bands
  17. 17. ● Ineficiencia de un mercado Conceptos básicos ○ Un mercado es EFICIENTE cuando es completamente aleatorio. ○ La eficiencia completa no existe ○ Ineficiencias: ■ ■ situaciones puntuales de mercado probabilidad de predicción a corto plazo > 50% ○ Nuestro trabajo como diseñador de la estrategia es identificar ineficiencias
  18. 18. ● Algoritmo de trading Conceptos básicos ■ ■ ■ Datos del mercado Software ENTRADA: Datos del mercado en tiempo real SALIDA: Decisiones de trading (comprar/vender) Algoritmo de trading Analizar datos Decisiones Comprar / Vender
  19. 19. ● Testing ○ Comprobar comportamiento Conceptos básicos ■ Backtest: Prueba del comportamiento sobre datos históricos ■ Forward test: Prueba del comportamiento sobre el mercado real ● Filtros y mejoras ○ Mejoras a la estrategia para mejorar resultados de testing ● Optimización
  20. 20. PARTE 2 PRÁCTICA: Construcción de un sistema de trading automático
  21. 21. Práctica ● Vamos a construir un algoritmo de trading ● ¿Qué necesitamos? ○ (3 cosas)
  22. 22. Práctica ● Vamos a construir un algoritmo de trading ● ¿Qué necesitamos? ○ Idea operativa (trader / analista de mercados)
  23. 23. Práctica ● Vamos a construir un algoritmo de trading ● ¿Qué necesitamos? ○ Idea operativa (trader / analista de mercados) ○ Programador / entorno de programación
  24. 24. Práctica ● Vamos a construir un algoritmo de trading ● ¿Qué necesitamos? ○ Idea operativa (trader / analista de mercados) ○ Programador / entorno de programación ○ Infraestructura: plataforma de trading
  25. 25. Práctica ● Idea operativa: Cruce de medias móviles periodos 30 y 100 ● Plataforma: Metatrader en este ejemplo ● Infraestructura: Local. Sin conexión al broker.
  26. 26. ● IDEA OPERATIVA Idea Operativa
  27. 27. ● IDEA OPERATIVA ○ Cruce de medias móviles Idea Operativa ○ Comprar cuando la media móvil rápida se cruza hacia arriba con la lenta ○ Vender en caso contrario
  28. 28. ● PROGRAMACIÓN Programación ○ Similar a cualquier lenguaje ○ Barras numeradas de 0 en adelante ■ 0 -> barra “viva” ■ 1 en adelante -> barras ya cerradas
  29. 29. ● Fase 1: Obtener valores de Programación medias móviles ■ ■ ■ ■ Entorno de programación Funciones principales de un algoritmo Funcionamiento general Obtención de valores de un indicador
  30. 30. ● Fase 2: Cruce de medias ■ Programación Identificar condiciones del mercado favorables
  31. 31. ● Fase 3: Operaciones de Programación trading ■ ■ Realizar operaciones de trading en condiciones del mercado favorables Probar en varios mercados y marcos temporales
  32. 32. ● Fase 4: Mejoras en salidas ■ Programación Añadimos una media móvil adicional
  33. 33. ● Fase 5: Parámetros y Programación optimización ■ ■ ■ ■ Añadimos parámetros Probamos cambiando los parámetros Optimización Probamos en distintos mercados
  34. 34. ● El algoritmo ya podría Programación ejecutarse en una cuenta real ● Hemos dejado fuera aspectos muy importantes: ○ ○ ○ ○ Sobre optimización / curve fitting Filtros Gestión del riesgo / gestión monetaria ...
  35. 35. ○ Mercados accesibles a todos. No hay barreras de entrada. Conclusiones ○ La competencia es enorme. ○ Es muy sencillo desarrollar estrategias automáticas de trading.
  36. 36. ○ Contacto: Contacto ■ ■ ■ Fernando Monera fmonera@opensistemas.com www.opensistemas.com

×