XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf ·...

22
XIV Congreso Internacional de la Academia de Ciencias Administrativas A. C. (ACACIA). Súper cómputo, IA y trading de activos en tiempo real Ingeniería y Gestión de Sistemas Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente y Robótica Instituto Tecnológico y de estudios superiores de Monterrey Av. Eugenio Garza Sada 2501 sur Col. Tecnológico, Monterrey, N.L. C.P. 64849 [email protected], [email protected] Dirigir a Víctor Munguía Escuela de Graduados en Administración y Dirección de Empresas (EGADE) Tecnológico de Monterrey Monterrey, N. L. 27 al 30 de Abril de 2010

Transcript of XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf ·...

Page 1: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

XIV Congreso Internacional de la Academia de Ciencias Administrativas A. C.

(ACACIA).

Súper cómputo, IA y trading de activos en tiempo real

Ingeniería y Gestión de Sistemas

Horacio Martínez-Alfaro, Víctor Munguía-Canales

Centro de Computación Inteligente y Robótica

Instituto Tecnológico y de estudios superiores de Monterrey

Av. Eugenio Garza Sada 2501 sur Col. Tecnológico, Monterrey, N.L. C.P. 64849

[email protected], [email protected]

Dirigir a Víctor Munguía

Escuela de Graduados en Administración y Dirección de Empresas (EGADE)

Tecnológico de Monterrey

Monterrey, N. L.

27 al 30 de Abril de 2010

Page 2: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

Resumen: Para desarrollar sistemas y algoritmos de trading (comercialización) que se

adapten en línea y en tiempo real a los cambios que ocurren en cualquier instante de-

ntro de un mercado financiero, se requiere desarrollar sistemas que sean robustos,

adaptables, que aprendan sin supervisión y posiblemente contar con Súper Cómputo

que por años estuvo fuera de alcance del individuo promedio. En el presente y gracias

al mercado de video juegos esto esta cambiado; particularmente al aprovechar el para-

lelismo de los múltiples núcleos que componen un GPU actual. Si el código que se eje-

cuta en estos procesadores explota estas características es posible elevar el poder de

cálculo en un ordenador de escritorio por un factor de diez o incluso cien; obteniendo

así el poder de una supercomputadora de finales de los 90s. El desarrollo de aplicacio-

nes optimizadas para correr en los múltiples núcleos de un GPU o GPUs demanda el

desarrollo o adaptación de algoritmos paralelos o paralelizables. Esta demanda en-

cuentra un aliado de investigación y desarrollo en la inteligencia artificial y su amplia

variedad de técnicas con estructuras paralelas, como lo son; la programación genética

(Koza, Keane, Streeter, Mydlowec, Yu, & Lanza, 2003), redes neuronales (Freeman &

Skapura, 1993), algoritmos genéticos (Goldberg, 1989), sistemas de clasificadores

(Holland, 1975), entre otras.. Si lo anterior es cierto, entonces contamos con las herra-

mientas para desarrollar el sistema de trading necesario para contar con una ventaja

competitiva a la hora de comprar y vender activos en un mercado en particular. Este

artículo muestra brevemente el alcance y la agenda de investigación en las anteriores

áreas.

Palabras clave: Trading, Supercomputadoras, inteligencia artificial

Page 3: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

1

1 Introducción

Utilizar información de alta frecuencia para la comercialización (trading) de activos

financieros, es un tópico de investigación en boga, esto por varios factores entre los

que tenemos: el elevado poder de computo que han alcanzado los CPUs, GPUs y la

paralelización de los mismos, avanzados algoritmos de trading desarrollados en áreas

como la inteligencia artificial, econofysics, finanzas y economía tradicional entre otras

disciplinas. ¿Qué requerimos para subirnos a esta ola de investigación y desarrollo?

Responder esta pregunta demanda realizar una investigación sobre el estado del arte

en tres áreas indispensables Súper cómputo, Algoritmos de trading e inteligencia artifi-

cial.

El poder de cómputo se ha duplicado cada 18 meses en promedio y viene pasando

desde hace más de 2 décadas, algo que predijo Gordon Moore Co-fundador de Intel,

dando origen a lo que se conoce como ley de Moore (Ley de Moore, 2007), este incre-

mento casi anualizado en el poder de computo ha acelerado el quehacer científico y

tecnológico, facilitando abordar tareas que habría sido impráctico realizar hace tan solo

unos años atrás:(ejem. Simulaciones climáticas a nivel de partículas, simulaciones

numéricas de fluidos astrofísicos, simulaciones sísmicas, modelaciones financieras en

tiempo real etc. (Santillan) Situándonos en le presente el poder de procesamiento para

una laptop que no sobrepasa los $1000 dólares (i7 720QM) está en el orden de los

25.6 GFLOPs (Billones de operaciones de punto flotante por segundo) (Intel), lo que es

comparable a la supercomputadora más rápida de 1990 (Supercomputadoras). Sí bien

esto impresiona, ahora imaginen lo que sería contar con un TeraFLOP en capacidad de

procesamiento al alcance de cualquiera, y esto por unos dólares más (GPUReview.

Nvidia GeForce GTX275). Lo anterior en el presente posible gracias al mercado de

Gamers (video jugador que tiene gran pasión e interés por jugar) para los cuales se de-

sarrollaron tarjetas de video que calculan texturas, sombras, iluminación, movimientos

2D y 3D de objetos en varias decenas de cuadros por segundo.

Como punto de comparación, tenemos la supercomputadora Deeb Blue II (Deep

Blue, 2010) fig. 1 que derroto al campeón mundial de ajedrez Gary Kasparov en 1997

siendo está la primera computadora-software (en derrotar al campeón mundial del mo-

Page 4: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

2

mento. Este equipo contaba con una potencia de cálculo de 11.38Gflop, y tuvo un co-

sto de 5 millones de dólares. Si hacemos una estimación lineal y contáramos con un

TFLOP, teóricamente se podría derrotar simultáneamente! A los primeros cien o inclu-

so más, grandes maestros de ajedrez en activo del presente (Wold top players, 2010),

simular 100mil neuronas con 10millones de conexión casi en tiempo real, realizar ta-

reas de clasificación o simulación en un solo día, en lugar de los cien que podrían tar-

dar normalmente.

Sin dudarlo el poder de cómputo en bruto no es nada sin la simbiosis con el siste-

ma de trading, el cual procesa y analiza la información financiera buscando la asertivi-

dad requerida para inclinar la balanza de compra-venta de activos a nuestro favor. Al

trading en tiempo real no se le han dedicado tantos recursos de investigación como al

trading en ventanas de tiempo más amplias (días) y gran parte de esto es por la in-

fluencia que tiene la hipótesis del mercado eficiente EMS (Fama, 1965) y en especial

por su forma débil (Weak form) del Mercado eficiente (Malkiel, 1992), de la que se des-

prende en breves palabras que no es posible predecir el comportamiento del mercado

utilizando el análisis técnico. Sin embargo, la valides de esta hipótesis se cuestiona ya

que el mercado de valores o el mercado de divisas presentan una distribución no gaus-

siana, en cuyo caso la hipótesis EMH, en cualquiera de sus formas podría no ser apli-

cable rigurosamente (Mandelbrot, Hutson, & L., 2006) (Taleb, 2008) (Efficient-market

hypotesis, 2010).

Sin duda un análisis extenso requiere de un escrutinio más a detalle qué lo abarca-

do en esta presentación.

Por ello, esto es un intento por definir el alcance y la agenda de investigación en

tres áreas de interés, Súper Computo paralelo con GPUs, computación financiera e in-

teligencia artificial.

Page 5: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

3

Figure 1 Deep Blue . Primera computadora en derrotar al campeón mundial del

momento (Deep Blue, 2010)

Figure 2 La Supercomputadora ASCI Red fue la primer supercomputadora en

sostener un desempeño arriba de 1 TeraFLOPS. Puesta en servicio en 1997, fue

la computadora más rápida en el mundo hasta el año 2000, y estuvo en servicio

hasta el año 2006 (ASCI Red, 2009)

2 Súper cómputo

Se entiende por Súper Cómputo la utilización de ordenadores con capacidades de

cálculo muy por encima del computador convencional (Supercómputo en la UNAM,

2007), históricamente el acceso a este tipo de recursos ha estado lejos de alcance para

Page 6: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

4

el individuo promedio ya que este era terreno casi exclusivo de grandes compañías o

entidades de investigación pública o privada, ya que estas cuentan con los recursos

económicos suficientes para comprar, mantener y operar una súper computadora.

Desde hace unos años y gracias al mercado de video juegos, el Súper Cómputo co-

mienza a estar al alcance de cualquier investigador, quien con pocos recursos puede

adquirir las tarjetas gráficas que le servirán para este propósito.

Hablar de súper cómputo implica conversar acerca de sistemas en paralelo que

pueden ser de diferentes tamaños; desde pequeños clusters, hasta miles de computa-

doras conectadas entre sí trabajando en paralelo. Por ejemplo; la súper computadora

más rápida de la UNAM en este momento es una HP CP 4000, que cuenta con 1,368

procesadores (cores AMD Opteron de 2.6 GHz) (HP CP 4000, 2007)con los cuales ob-

tiene un desempeño de 7.113 TFLOPS (Chavarría, 2007)

Si bien la súper computadora de la UNAM fue instalada en el año 2007 y en su

momento fue la súper computadora más rápida de América Latina, en el presente es

posible construir una supercomputadora que la supera por un factor de 3,

(23,2TFLOPS ver figura 3) por unos $10000 dólares (About our GPU supercomputer,

2009) además de la gran diferencia en el poder de cálculo, esta supercomputadora

consume solo una fracción de energía y solo necesita un rack en espacio, lo que en

conjunto representará un gran ahorro en costos de operación y mantenimiento del

equipo. El componente clave de estas implementaciones son las tarjetas gráficas para

Gamers como la GTX275 (NVvidia GeForce GTX275) o la GTX 295 (Nvidia GeForce

GTX295) que es la usada por Estonia Donates en sus supercomputadoras.

Page 7: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

5

Figure 3 Cluster de Estonia Donates

con 23.2TFLOPs de poder.

Figure 4 Super computadora HP CP

4000 de la UNAM (HP CP 4000, 2007)

2.1 Unidad de procesamiento Gráfico o GPU

La unidad de procesamiento gráfico o GPU es un procesador especializado en

graficas 3D para diversas aplicaciones como los videojuegos o el diseño CAD, donde

es necesario hacer millones o billones de cálculos de punto flotante por segundo. El co-

razón de su arquitectura son cientos de núcleos en paralelo, encargados de realizar to-

das las operación de video y liberando así al CPU de esta tarea (Owens, Houston,

Luebke, Green, Stone, & Phillips, 2008) . Esta alta especialización paralela es lo que

convierte a los GPUs en co-procesadores matemáticos que pueden transformar una

computadora de escritorio en una súper computadora capaz de alcanzar el TFLOP con

una sola tarjeta de video. Para aprovechar el tremendo poder de programación de

propósito general es necesario utilizar herramientas de programación como OpenGL o

CUDA (The Industry Foundations for high performance Graphics) (CUDA). A esto se le

conoce con el nombre de programación general en unidades de procesamiento gráfico

o GPGPU [http://gpgpu.org/about].

Sin duda el paralelismo es el futuro en la computación y prueba de ello lo tenemos

en los grandes fabricantes de procesadores Intel y AMD, que han puesto su musculo

financiero y de investigación en miras de una evolución de procesadores con múltiples

Page 8: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

6

núcleos, dejando atrás la tendencia en elevar su velocidad de reloj. Si bien el número

de núcleos por procesador así como su poder de cómputo se va elevando año con año,

su grado de especialización y el número de núcleos aun palidecerá en comparación

con los GPUs si los dedicamos a realizar cálculos matemáticos. Por ello, la comunidad

científica ha aceptado esta tecnología tan rápidamente siendo esta una de las razones

para involucrarnos con mayor interés hacia la programación paralela de GPUs y CPUs

ya que dentro de no mucho tiempo esta dominará el mercado.

Las figuras que se muestran a continuación corresponden a una tarjeta gráfica

GTX275 (NVvidia GeForce GTX275) y un clúster de 5.7TFLOPs armado por Estonia

Donate.

Figure 5Nvidia GTX 275, puede reali-

zar cálculos a una velocidad de

1TeraFLOP

Figure 6 Super computadora armada

por Estonia Donates con

5.7TeraFLOPs de poder

[http://estoniadonates.wordpress.co

m/2009/01/23/running-3-x-nvidia-gtx-

295-cuda-system-53-tflops/]

2.2 CUDA

Como los GPUs no fueron diseñados pensando en usarlos para cómputo general,

programar estos dispositivos puede ser bastante complicado. Por lo que han surgido

varias propuestas Tabla 1 y así hacer más fácil su programación. De las múltiples op-

ciones que existen actualmente, la que ha ganado mucha fuerza y está siendo amplia-

mente aceptada es el conjunto de herramientas de desarrollo creadas por NVIDIA co-

Page 9: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

7

nocidas por el nombre de CUDA siglas de Compute Unified Device Architecture que

permite a los programadores usar una variación del lenguaje de programación C para

codificar y compilar algoritmos en GPUs de nVidia (CUDA, 2010) (NVIDIA, 2009)

Lo que se intenta con CUDA es explotar las ventajas de los GPUs frente a los CPUs

de propósito general utilizando el paralelismo que ofrecen sus múltiples núcleos, que

permiten el lanzamiento de un gran número de hilos simultáneamente. Por lo cual, si

una aplicación está diseñada utilizando numerosos hilos que realizan tareas indepen-

dientes, uno GPU puede ofrecer un gran rendimiento en campos que podrían ir desde

las finanzas, hasta la predicción del por ejemplo (CUDA, 2010)

Herramientas para programar

GPUs

DirectX

BrookGPU

GPU specific assemblers

CUDA

PeakStream

RapidMind

OpenCL

Table 1 Herramientas para programar GPUs

Entre las ventajas que tiene CUDA sobre otros tipos de computación sobre GPU utili-

zando APIs gráficas son:

Programación en C

Lecturas dispersas: se puede consultar cualquier posición de memoria.

Memoria compartida: CUDA pone a disposición del programador un área de

memoria de 16KB que se compartirá entre threads. Dado su tamaño y rapidez

puede ser utilizada como caché.

Lecturas más rápidas de y hacia la GPU.

Soporte para enteros y operadores a nivel de bit.

Page 10: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

8

Desventajas

No se puede utilizar recursividad, punteros a funciones, variables estáticas de-

ntro de funciones o funciones con número de parámetros variable

No está soportado el renderizado de texturas

En precisión simple no soporta números des normalizados o NaNs

Puede existir un cuello de botella entre la CPU y la GPU por los anchos de ban-

da de los buses y sus latencias

Los threads por razones de eficiencia, deben lanzarse en grupos de al menos

32, con miles de hilos en total.

Desde que NVIDIA liberó CUDA en el año 2007 la comunidad científica se ha mostrado

muy interesada tanto que es posible encontrar cientos, si no es que miles de artículos

en áreas tan dispersas como las finanzas, ingeniería, inteligencia artificial, medicina,

entre otras.

En la siguiente imagen se muestra un conjunto de 15 trabajos donde se utilizó CUDA

de entre 1004 de los que tienen registro en el portal de NVIDIA. Aunque algunos solo

son proyectos y aún no han comenzado con un verdadero trabajo (Cuda Zone. CUDA

Community Showcase, 2010)

Figure 7 1004 proyectos listados en el portal de NVIDIA [] hasta el 8 de marzo del

2009

Page 11: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

9

Muchas veces el poder de cómputo en bruto no dice nada respecto a la reducción en

tiempo para aplicaciones reales, en la siguiente imagen se muestran ejemplos en re-

ducción del tiempo empleado para realizar trabajo intensivo de cálculo para diversas

áreas.

Figure 8 Hasta el 8 de marzo del 2010 había 1004 proyectos desarollados en CU-

DA

Figure 9 Reducciones en tiempo de investigación (Luebke, 2009)

Page 12: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

10

La siguiente imagen muestra la propagación que ha tenido la aceptación de CUDA en

pocos años, incluso si observamos a detalle se puede ver que del 2009 al 2010 casi se

ha duplicado el número de proyectos listados en el portal de NVIDIA pasando de 639 a

1004 en un solo año.

Figure 10 Aceptación de CUDA [David Luebke (2009), (Luebke, 2009)

3 Trading o Comercialización en tiempo real

La comercialización de bienes o servicios surgió como una herramienta de inter-

cambio en todas las culturas la cual ha evolucionado a lo largo de los siglos de tal for-

ma que hoy en día podemos encontrar diversas formas de comercialización; desde las

más elementales hasta las más evolucionadas y sofisticadas donde la única huella de

que existió una transacción es un cambio de polaridad en la memoria de nuestras com-

putadoras.

En la industria financiera el término trading es muy utilizado para hacer referencia

al intercambio o compra-venta en común acuerdo ya sea de acciones, bonos, divisas,

opciones, en fin de activos financieros diversos. En donde el objetivo del juego es obte-

ner una ganancia al realizar estas operaciones de compra-venta.

En el trading a diferencia de las inversiones, los activos son guardados en el porta-

folio del comerciante por lapsos de tiempo pequeños a extremadamente pequeños;

Page 13: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

11

como sería en el trading de tiempo real. En este escenario hacer uso del análisis fun-

damental es poco útil, así que el análisis técnico es lo que se investiga.

En el trading de tiempo real la compra-venta de activos es tan rápida que en un so-

lo día pueden haberse acumulado varias decenas de transacciones, en general peque-

ñas. Así como puede haber días en los que la volatilidad en un activo puede variar mu-

cho, de igual manera el tipo de comerciantes existentes es amplio, desde el comercian-

te que prefiere comercializar en mercados tranquilos, reduciendo el riesgo en cierto

grado, hasta el comerciante que prefiere los mercados volátiles en los que puede obte-

ner grandes ganancias en unas horas, como esta hay muchas variables que si se to-

man en cuenta pueden contribuir a realizar mejores predicciones, aunque esto no

siempre es cierto y algunas veces añadir más información al sistema puede aumentar

el ruido y ocasionarnos problemas a la hora de tomar una decisión precisa.

El poder de cómputo en el trading de tiempo de real no se puede tomar a la ligera

ya que si no se cuenta con el equipo adecuado, no se podrán realizar acciones de

compra-venta en el tiempo justo. El cáliz en el trading de tiempo real o de alta frecuen-

cia es un sistema que aprenda en línea sin la intervención de un experto humano, que

sea robusto, que se adapte y que tome decisiones certeras. Lograr estas característi-

cas con sistemas analíticos no es factible debido a que estos mercados son sistemas

no lineales, variables en el tiempo y que tienen mucha incertidumbre, sin embargo

existen técnicas inteligentes que se adecuan más a estas características por lo que al

considerar el desarrollo de sistemas de trading usando inteligencia artificial la meta es

alcanzable.

Para ser exitosos en comercializar activos se debe tener buenas predicciones pero

para obtenerlas es necesario saber lo que se está haciendo así como entender los me-

canismos bajos los que opera el trading. A continuación se en lista algunos conceptos

necesarios para entender el problema de trading.

3.1 Mercados financieros

Los mercados financieros pueden ser definidos en una forma amplia como un gru-

po de instituciones que tienen como propósito principal facilitar el intercambio de acti-

vos. Los activos que serán comercializadas obviamente dependen del mercado en par-

Page 14: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

12

ticular. Algunos ejemplos de tales mercados son: el mercado de acciones, el de bonos,

el de divisas el mercado de derivados etc.

3.1.1 La Hipótesis de los mercados eficientes

Uno de los pilares fundamentales de la economía moderna es la hipótesis de

mercado eficiente (EMH), la cual afirma que los mercados financieros son "informati-

vamente eficientes" o que los precios de los activos que son objeto de comercio (por

ejemplo, acciones, opciones, derivados, divisa entre otros) ya reflejan toda la informa-

ción conocida, y al instante cambian para reflejar la nueva información. Por lo tanto,

según la teoría es imposible consistentemente ganarle al mercado mediante el uso de

información que el mercado ya conoce; excepto a través de la suerte. La información o

noticias en la EMH se definen como cualquier cosa que pueda afectar a los precios que

es imposible de conocer en el presente y que aparece al azar en el futuro.

Es un error frecuente creer que la hipótesis de eficiencia implica que los inver-

sionistas se comportan racionalmente. La hipótesis permite que algunos inversionistas

sobre-reaccionen ante las noticias y que otros sub-reaccionen. Lo único que exige es

que las reacciones de los inversionistas sean lo suficientemente aleatorias para que no

sea posible obtener un beneficio que supere al mercado. Es posible, por lo tanto, que el

mercado se comporte irracionalmente durante un largo periodo de tiempo. Derrumbes,

burbujas y depresiones son compatibles con la hipótesis siempre que esta conducta no

sea predecible.

La hipótesis se presenta en tres formas distintas (forma débil, forma semi fuerte y forma

fuerte). Cada forma tiene implicaciones distintas para el funcionamiento de los merca-

dos, siendo la forma débil la que nos interesa en trading. La eficiencia en su forma débil

nos dice que el precio futuro no puede ser predicho por el análisis de los precios que

tuvo en el pasado. El exceso de ganancia a la larga usando estrategias de inversión

basadas en datos históricos no son posibles. El análisis técnico no puede consistente-

mente producir ganancias. Esto implica que el movimiento que los precios experimen-

tan está determinado completamente por la información que no está contenida en las

series de tiempo. Así que los precios tienen un paso aleatorio o radom Walk.

Page 15: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

13

3.2 Análisis Fundamental y Análisis técnico

Cuando el objetivo del análisis es determinar qué acciones comprar y a que precios.

Existen dos metodologías:

1. El análisis fundamental asegura que los activos en mercado pueden estar

desviados en su precio real en el corto tiempo, pero que este se “corre-

girá” eventualmente. Por lo que se pueden obtener ganancias comerciali-

zando en las desviaciones de precio y esperando a que el Mercado re-

conozca tal desviación y corrija la misma.

2. El análisis técnico mantiene que toda la información está reflejada en el

precio de la acción. Por lo que se utilizan tendencias y se trata de esti-

mar cambios en las tendencias para predecir estos cambios. Al análisis

técnico no le importa cuál es el valor de la acción. Las predicciones en el

precio son solamente extrapolaciones de patrones de datos históricos. El

análisis técnico también hace un uso extensivo de indicadores, los cuales

son típicamente transformaciones matemáticas de precio o volumen. Es-

tos indicadores son usados para ayudar en la determinación de la ten-

dencia de un activo financiero.

3.3 Modelación Computacional

La modelación computacional de los precios de los activos financieros hoy en día ha

reemplazado mucha de la subjetividad en la interpretación de los datos en la industria.

Esto gracias al creciente poder de cómputo con el que podemos realizar análisis de

vastas bases de datos. Esto significa que los responsables de decisión están siendo

reemplazados por modelos matemáticos o modelos inteligentes.

3.4 Microestructura Del Mercado

El estudio de la microestructura del mercado es una rama de las finanzas que se

encarga de los detalles de cómo ocurren los intercambios en los mercados. El mayor

empuje en la investigación de la microestructura del mercado examina los caminos en

los cuales los procesos del mercado afectan determinados costos de transacción, pre-

cios, cotizaciones, volúmenes y comportamientos de trading.

Page 16: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

14

3.5 Order Book

El order book es el sistema de intercambio empleado para mantener un registro

de las ofertas con limite públicas (limit order).

En la siguiente figura se muestra la representación gráfica de un order book

Estructura de un order book: en cualquier nivel de precios discreto las órdenes con lími-

te limit orders pueden ser agrupadas cronológicamente en una cola de prioridad co-

rrespondiente al precio del tick que le corresponde a esa orden.

A continuación se muestra como se despliega un order book con un bróker (mbtra-

ding.com).

Figure 11 Orden Book en MBTrading.com

3.6 Sistemas de Predicción

Los sistemas de predicción se basan en el análisis de series de tiempo, ya sea en

el mercado de divisas, el mercado accionario o cualquier otro mercado. Las bases de

datos actuales contienen datos históricos enormes, lo que significa que se requiere un

enorme poder de cómputo para analizar tales datos y por ello la necesidad de súper

Page 17: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

15

computadoras. Podemos asegurar que si son encontrados patrones, estos pueden ser

usados para reconocer oportunidades de inversión.

Por lo anterior la complejidad de los mercados financieros, representa un gran reto

para el especialista en el área. La forma tradicional de hacer frente a los análisis de es-

tos mercados es mediante el uso de análisis de modelos analíticos. Sin embargo, los

modelos analíticos presentan algunas dificultades y esto ha llevado al desarrollo de

métodos alternativos para analizar estos mercados. Los campos emergentes como son

la computación económica basada en agentes (ACE) y la computación financiera pro-

porcionan algunos medios para hacer frente a algunas de las limitaciones de los mode-

los y análisis en la economía.

Dentro de las predicción financiera hay diversas técnicas utilizadas, y muchas de

ellas entran en la categoría de los sistemas inteligentes, por lo que en la siguiente sec-

ción se presentan las principales técnicas inteligentes utilizada en un sistema de pre-

dicción , no siendo las únicas utilizadas, pero si las más sobresalientes.

4 Inteligencia Artificial en computación financiera

A pesar de la amplia aceptación de la Hipótesis del Mercado Eficiente entre la aca-

demia y la implicaciones de tal teoría para prever cambios en los precios de los acti-

vos, la predicción financiera siempre ha sido uno de los campos con más intensa de

investigación, debido a que las implicaciones que tendría el obtener una técnica exitosa

que tuviera cierto grado de acierto a la hora de predecir el comportamiento de algún

activo financiero. La posible recompensa que implicaría tener una herramienta que re-

alice operaciones de compra y venta de activos es la que alimenta el entusiasmo, re-

cursos y tiempo a desarrollar sistemas inteligentes de. Además, la disponibilidad de los

datos financieros (tanto en cantidad como en calidad) hace que un gran número de re-

cursos sea dedicado a la tarea de predicción de futuros cambios en el precio. Las se-

ries de tiempo financieras son probablemente las series de tiempo más estudiadas por

diversas disciplinas incluyendo las ciencias de la computación. Por otra parte existe

una creciente aceptación entre los profesionales de utilizar técnicas inspiradas en un

área particular de las ciencias de la computación.

Page 18: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

16

La inteligencia Artificial y la computación evolutiva en particular, son las dos áreas más

influyentes en la predicción. Entre los casos más exitosos podemos mencionar las Re-

des Neuronales, Algoritmos Genéticos, Programación Genética en donde se está en la

búsqueda de sistemas que aprendan y evolucionen para encontrar reglas o sistemas

de compra-venta que nos den una ventaja a la hora del trading.

4.1 Redes Neuronales

Las redes neuronales artificiales (Freeman & Skapura, 1993) son probablemente

la técnica de inteligencia artificial más explotada en el pronóstico financiero, su uso es

muy amplio a través de bancos e incluso países. En la literatura se pueden encontrar

muchos artículos de este tema.

Se ha aplicado en diferentes campos dentro de las finanzas y es posible encontrar

buena literatura entre 1990 y 1996 de esto. No está de más mencionar que las redes

neuronales artificiales han logrado algo que otras técnicas de IA quisieran lo cual es

tener: la aceptación entre los profesionales y académicos, sin embargo esta aceptación

no ha dejado de lado ver a las redes neuronales artificiales como cajas negras en con-

traste con técnicas como algoritmos genéticos o programación genética. Sin embargo

esto ha ido cambiando recientemente con la fusión de varias técnicas como lo pudiera

ser programación genética y redes neuronales.

4.2 Algoritmos Genéticos

Los Algoritmos Genéticos fueron inventados por John H. Holland. Tales algorit-

mos son muy populares en optimización y aprendizaje automático. Esta técnica ha sido

utilizada en modelación económica en el contexto de computación basada en agentes,

en general en sistemas multi-agentes.

En el pasado los AG, han sido utilizados en importantes trabajos en la predicción finan-

ciera como en [3],[4]. Sin embargo, estos no han sido utilizados recientemente debido a

algunas limitaciones como lo pueden ser el de estructura fija de los individuos y su re-

presentación.

Aunque estos no son usados frecuentemente hoy en día para realizar pronósticos, es-

tos se pueden utilizar como hiperheuristicas o en conjunción con otras técnicas para

mejorar las predicciones [5]

Page 19: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

17

4.3 Programación Genética

La programación genética fue creada en la forma en que mejor es conocida por

John Koza (Koza, Keane, Streeter, Mydlowec, Yu, & Lanza, 2003) esta técnica se ha

convertido recientemente en una de las técnicas más populares para realizar prediccio-

nes financieras. La programación genética es similar a los algoritmos genéticos y evo-

lucionan estrategias en el sentidos que hay individuos que son seleccionados para re-

producirse en base a una función de evaluación, a esto le añadimos mutación, repitién-

dose hasta que un criterio objetivo es alcanzado.

Entre las razones por la que la programación genética es muy utilizada es porque es

muy flexible, transparente para el analista o inversor y tiene un trabajo teórico que pue-

de ayudar a mejorar las predicciones financieras. Esta técnica puede seleccionarse en

lugar de otras técnicas como las redes neuronales en el sentido de que podemos “ver”

el tipo de mecanismo que está generando las reglas de decisión así como hay diferen-

tes caminos para controlar la función objetivo y la complejidad de las reglas.

Figure 12Ejemplos de reglas encontrados por GPs (Koza, Keane, Streeter,

Mydlowec, Yu, & Lanza, 2003)

Page 20: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

18

5 Bibliography

HP CP 4000. (2007). Recuperado el 4 de Marzo de 2010, de

http://www.super.unam.mx/index.php?option=com_content&task=view&id=35&It

emid=66

Ley de Moore. (7 de Febrero de 2007). Recuperado el 6 de Marzo de 2010, de

http://es.wikipedia.org/w/index.php?title=Ley_de_Moore&oldid=33742219.

Supercómputo en la UNAM. (3 de Septiembre de 2007). Recuperado el 4 de Marzo de

2010, de http://www.super.unam.mx/index.php?option=com_frontpage&Itemid=1

About our GPU supercomputer. (2009). Recuperado el 4 de Marzo de 2010, de Estonia

Donates: http://estoniadonates.wordpress.com/our-supercomputer/

ASCI Red. (17 de Octubre de 2009). Recuperado el 4 de Marzo de 2010, de In

Wikipedia, The Free Encyclopedia:

http://en.wikipedia.org/w/index.php?title=ASCI_Red&oldid=320390133

CUDA. (8 de Enero de 2010). Recuperado el 4 de Marzo de 2010, de Wikipedia, La

enciclopedia libre: http://es.wikipedia.org/wiki/CUDA

Cuda Zone. CUDA Community Showcase. (2010). Retrieved Marzo 7, 2010, from

http://www.nvidia.com/object/cuda_apps_flash_new.html

Deep Blue. (17 de Febrero de 2010). Recuperado el 4 de Marzo de 2010, de

http://en.wikipedia.org/wiki/IBM_Deep_Blue

Efficient-market hypotesis. (10 de Marzo de 2010). Recuperado el 10 de Marzo de

2010, de http://en.wikipedia.org/w/index.php?title=Efficient-

market_hypothesis&oldid=349072220

Wold top players. (2010). Recuperado el 4 de Marzo de 2010, de FIDE:

http://ratings.fide.com/toplist.phtml

Chavarría, R. M. (2007). La supercomputadora más rapida de AL. GACETA, Número

3991, págs. 3-5.

CUDA. (s.f.). Recuperado el 6 de Marzo de 2010, de NVIDIA:

http://www.nvidia.com/object/cuda_home_new.html

Fama, E. F. (1965). The behaviour of stock prices. Journal of Busines, 34-105.

Page 21: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

19

Freeman, J., & Skapura, D. (1993). Redes Neuronales, algoritmos, aplicaciones y

técnicas de propagación. México: Addison-Wesley.

Goldberg, D. (1989). Genetic Algorithms in Search, Optimization, and Mchine Learning.

Wesley.

GPUReview. Nvidia GeForce GTX275. (s.f.). Recuperado el 5 de Marzo de 2010, de

http://www.gpureview.com/geforce-gtx-275-card-609.html

Holland, J. H. (1975). Adaptation in Natural and Artificial Systems: An introductor

Analisys with Aplications to Biology, Control and Artificial Intelligence. The

University of Michigan Press.

Intel. (s.f.). Procesors Intel Microprocessors export compliance metrics. Recuperado el

4 de Marzo de 2010, de http://www.intel.com/support/processors/sb/cs-

023143.htm

Koza, J., Keane, M., Streeter, M., Mydlowec, W., Yu, J., & Lanza, G. (2003). Genetic

Programming IV: Routine Human-Competitive Machine Intelligence. Kluwer

Academic Publishers.

Luebke, D. (2009). High Performance Computing with CUDA, Super computing tutorial,.

NVIDIA Research.

Malkiel, B. (1992). Efficient Market Hypothesis.

Mandelbrot, Hutson, B. &., & L., R. (2006). The Misbehavior of Markets: A fractal View

of Financial Turbulence. Basic Books.

NVIDIA. (2009). NVIDIA@ CUDA Architecture, v1.1. NVIDIA.

Nvidia GeForce GTX295. (s.f.). Recuperado el 4 de Marzo de 2010, de Nvidia:

http://www.nvidia.es/object/product_geforce_gtx_295_es.html

NVvidia GeForce GTX275. (s.f.). Recuperado el 4 de Marzo de 2010, de nvidia:

http://www.nvidia.es/object/product_geforce_gtx_275_es.html

Owens, J. D., Houston, M., Luebke, D., Green, S., Stone, J. E., & Phillips, J. C. (2008).

GPU Computing. Proceedings of the IEEE Vol. 96, No. 5, 879-899.

Santillan, A. G. (s.f.). Aplicaciones del Súpercomputo en la UNAM. Recuperado el 4 de

marzo de 2010, de

http://www.super.unam.mx/images/stories/HPCP4000_KanBalam/materiales/ma

mpara_aplicaciones01.jpg

Page 22: XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf · Horacio Martínez-Alfaro, Víctor Munguía-Canales Centro de Computación Inteligente

Súper Cómputo, IA y trading de activos en tiempo real

20

Supercomputadoras. (s.f.). Recuperado el 2 de Marzo de 2010, de

http://en.wikipedia.org/wiki/Supercomputer

Taleb, N. N. (2008). Fooled by Randommess: Hidden Role fo Chance in Life and in the

Markets, 2nd . Random House.

The Industry Foundations for high performance Graphics. (s.f.). Recuperado el 4 de

Marzo de 2010, de opengl: http://www.opengl.org/