XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf ·...
-
Upload
nguyencong -
Category
Documents
-
view
215 -
download
0
Transcript of XIV Congreso Internacional de la Academia de …gitmexico.com/acacia/busqueda/pdf/C11P19C.pdf ·...
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
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
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-
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.
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
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.
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
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-
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.
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
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)
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;
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-
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.
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.
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
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.
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]
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)
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.
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
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/