bases-cye-2024(2) una sola descarga en base de feria de
osBrain: una herramienta para la inversión automática en bolsa y mercados de intercambio de divisas
1. Marzo, 2015 1 / 34
Wopr: una herramienta para la inversión
automática en bolsa y mercados de
intercambio de divisas
F. Monera Daroqui
M. Sánchez de León Peque
2. Marzo, 2015 2 / 34
Introducción
Wopr, XWopr, Estrategias
Estadísticas de desarrollo
4. Marzo, 2015 4 / 34
Contexto, motivación
Abril 2014
Área de I+D: algoritmos de inversión automática
Limitación de las herramientas existentes
5. Marzo, 2015 5 / 34
Objetivos
Diseño y desarrollo de una aplicación modular, escalable y
distribuida para la realización de operaciones en
mercados bursátiles y Forex
Diseño de la arquitectura del sistema (Wopr)
Desarrollo de una interfaz gráfica (XWopr)
Implementación de algoritmos complejos que trabajan con
conceptos abstractos
Aplicación de algoritmos de aprendizaje automático
7. Marzo, 2015 7 / 34
Herramientas
GNU / Linux
Python
ZeroMQ
Git
TDD
8. Marzo, 2015 8 / 34
Wopr
Arquitectura del sistema, nodos, nodos
especializados
9. Marzo, 2015 9 / 34
Arquitectura del sistema (1)
Sistema multiagente
10. Marzo, 2015 10 / 34
Arquitectura del sistema (2)
Processing
&
routing
Experts
Experts
Brain
Brain
Orders
&
more
Broker
platform
Broker
platform
11. Marzo, 2015 11 / 34
Nodos (1)
REQ-REP: El cliente espera siempre una respuesta
PUB-SUB: Distribución de datos a suscriptores
PUSH-PULL: Cola clásica (el cliente no espera respuesta)
Node
REQ PUBPULL
12. Marzo, 2015 12 / 34
Otros patrones
XPUB-XSUB, XREQ-XREP...
Balanceo de carga
Alta disponibilidad
13. Marzo, 2015 13 / 34
Nodos (2)
Activados por mensajes o por agotamiento de tiempo de
espera
Filtrado de mensajes
Sincronización entre nodos
14. Marzo, 2015 14 / 34
Enrutador
Maneja datos de mercado crudos (TOHLCV)
Almacenamiento
Distribución
Remuestreo (resampling)
15. Marzo, 2015 15 / 34
Remuestreo
2 3 4 5 6 7 8 9
1
min
4
min
5 9
2 3 4 5 6 7 8 9
1
min
4
min
2 6
2 3 4 5 6 7 8 9
1
min
4
min
4 8 12
1
2 3 4 5 6 7 8 9
1
min
4
min
3 7
1
16. Marzo, 2015 16 / 34
Cerebro
B B B B B
Market data
Lowest abstraction
level
B
B B
B
B
B B
B
Middle abstraction
levels
Highest abstraction
level
Strategy output
17. Marzo, 2015 17 / 34
Nigromante
Padre de todos los cerebros de una máquina física
Crea nuevos cerebros bajo demanda
Mata cerebros también bajo demanda
30. Marzo, 2015 30 / 34
Estadísticas de desarrollo
Tests, documentación, estadísticas de desarrollo
31. Marzo, 2015 31 / 34
Tests
Más de 100 tests de validación
Más de 1000 aserciones o puntos de verificación
(Re)Write a test Write codeCheck test
Refactor
Run all
tests
Test(s) fail
Test fails
Test succeeds
All tests
succeedRepeat
32. Marzo, 2015 32 / 34
Documentación
API
Más de 250 docstrings
Más de 2500 líneas
Proyecto
LaTeX
Datos autogenerados
Gráficos vectoriales
33. Marzo, 2015 33 / 34
Estadísticas de desarrollo de código
1000+ commits
80000+ líneas modificadas
~30000 líneas de código
34. Marzo, 2015 34 / 34
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License
(unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos
and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
Gracias por su atención
¿Preguntas?