Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autor:
Kiril Morozov Curso 2021/2022
Fecha: 31/12/2021
Tutor:
Jordi Escayola Mansilla
1
Agradecimientos
Kiril Morozov M.
Alicante
5 Enero 2022
Agradecer a mis Padres, mi abuela y mi pareja todo el apoyo que me han brindado durante
esta aventura.
Abstract
El Q-learning se ha convertido en una de las ramas más fructíferas de la inteligencia
artificial en los últimos años. Estás técnicas se han acogido en muchas disciplinas diferentes
y cada día se usan más y más en nuestra vida cotidiana. En el presente trabajo se pretende
demostrar la viabilidad de la aplicación de dichos algorítmos en el ámbito de la economía y
en concreto al proceso de toma de decisiones en el trading en los conocidos mercados de
valores. Así como dar una visión resumida de su funcionamiento.
Abstract
In the last years, Q-learning has become one of the most powerful techniques in the Artificial
Intelligence. These techniques have been adapted in many different disciplines and every day
they are used more and more in our common lives.This work aims to demonstrate the
viability of the application of these algorithms in the field of economics and specifically to the
decision-making process in trading.As well as giving a summarized vision of its operation.
5
Agradecimientos 2
Abstract 3
Abstract 4
1. Justificación 8
2. Motivación 8
3. Objetivos 8
4. Hipótesis 9
5. Metodología 9
6
8.2. Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.3. Deep Q Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3.1. Experience Replay . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3.2. Target Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3.3. E-Greedy Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3.4. Hubber-Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.4. Double Deep-Q learning (DDQN) . . . . . . . . . . . . . . . . . . . . . . . 30
8.5. Deep Q Learning with fixed Targets (TDQN) . . . . . . . . . . . . . . . . . 31
9. Implementación 32
9.1. Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.2. Algoritmo (Pseudocódigo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
9.3. Diseño Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.Resultados 36
10.1. DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.2. DDQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.3. T-DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.4. Comparativa de los 3 modelos . . . . . . . . . . . . . . . . . . . . . . . . . . 43
12.Conclusiones 45
7
Kiril Morozov TFM
1. Justificación
2. Motivación
El interés personal depositado en este problema, nace de la conexión que he podido encon-
trar entre la disciplina de la ciencia de los datos y las ciencias exactas(física en concreto).
En ciencias exactas hacemos uso de datos que nos arroja el entorno para comprenderlos,
manipularlos y modelarlos, en definitiva emitiendo un modelo que nos pueda servir para
comprender el universo y aportar valor a la vida del ser humano. Cada vez son más frecuen-
tes las técnicas computacionales para realizar este tipo de trabajos en ciencias exactas y la
frontera se vuelve cada vez más difusa. En ciencia de datos, el objetivo final, dependiendo del
caso, es o puede ser el mismo, extraer valor y modelar un conjunto de datos que representan
un problema concreto. En definitiva, se ha escogido un problema típicamente estudiado por
economía matemáticas y física, como los procesos estocásticos y se ha decidido dar solución
a este problema desde las técnicas y herramientas que nos aporta la ciencia de los datos y
en concreto la inteligencia artificial. Aunque existen innumerables procesos estocásticos en la
naturaleza y el día a día en este caso se ha escogido estudiar el mercado de valores.
3. Objetivos
8
Kiril Morozov TFM
Conclusiones
4. Hipótesis
5. Metodología
La metodología usada para el proyecto sera CRISP- DM y es extraía por completo del
correspondiente libro. A continuación vamos a describir brevemente cada una de las fases
que componen dicha metodología.
Fase I. Business Understanding. Denfición de necesidades del cliente (comprensión del nego-
cio) Esta fase inicial se enfoca en la comprensión de los objetivos de proyecto. Después se
convierte este conocimiento de los datos en la definición de un problema de minería de datos
y en un plan preliminar diseñado para alcanzar los objetivos.
Fase II. Data Understanding. Estudio y comprensión de los datos La fase de entendimiento de
datos comienza con la colección de datos inicial y continúa con las actividades que permiten
familiarizarse con los datos, identificar los problemas de calidad, descubrir conocimiento
preliminar sobre los datos, y/o descubrir subconjuntos interesantes para formar hipótesis en
cuanto a la información oculta.
Fase III. Data Preparation. Análisis de los datos y selección de características La fase de
preparación de datos cubre todas las actividades necesarias para construir el conjunto final
de datos (los datos que se utilizarán en las herramientas de modelado) a partir de los datos
9
Kiril Morozov TFM
en bruto iniciales. Las tareas incluyen la selección de tablas, registros y atributos, así como
la transformación y la limpieza de datos para las herramientas que modelan.
Fase IV. Modeling. Modelado En esta fase, se seleccionan y aplican las técnicas de modelado
que sean pertinentes al problema (cuantas más mejor), y se calibran sus parámetros a valores
óptimos. Típicamente hay varias técnicas para el mismo tipo de problema de minería de
datos. Algunas técnicas tienen requerimientos específicos sobre la forma de los datos. Por
lo tanto, casi siempre en cualquier proyecto se acaba volviendo a la fase de preparación de
datos.
Fase V. Evaluation. Evaluación (obtención de resultados) En esta etapa en el proyecto, se
han construido uno o varios modelos que parecen alcanzar calidad suficiente desde la una
perspectiva de análisis de datos. Antes de proceder al despliegue final del modelo, es im-
portante evaluarlo a fondo y revisar los pasos ejecutados para crearlo, comparar el modelo
obtenido con los objetivos de negocio. Un objetivo clave es determinar si hay alguna cuestión
importante de negocio que no haya sido considerada suficientemente. Al nal de esta fase, se
debería obtener una decisión sobre la aplicación de los resultados del proceso de análisis de
datos.
Fase VI. Deployment. Despliegue (puesta en producción) Generalmente, la creación del mode-
lo no es el final del proyecto. Incluso si el objetivo del modelo es de aumentar el conocimiento
de los datos, el conocimiento obtenido tendrá que organizarse y presentarse para que el clien-
te pueda usarlo. Dependiendo de los requisitos, la fase de desarrollo puede ser tan simple
como la generación de un informe o tan compleja como la realización periódica y quizás
automatizada de un proceso de análisis de datos en la organización.
El mercado de valores es un tipo de mercado de capitales de los que operan alrededor del
mundo en el que se negocia la renta variable y la renta fija de una forma estructurada,
también la compra y venta de bienes que tiene un plan fijo, o un negocio que tiene renta
variable a través de la compraventa de valores negociables. Con esta técnica se hace posible
la canalización de capital a medio y largo plazo de los inversores a los usuarios.
Si nos centramos en los que nos atañe, podemos decir que, el mercado de valores es una forma
centralizada de comprar y vender acciones de las compañías que cotizan en bolsa. Éstos se
10
Kiril Morozov TFM
diferencian de otro tipo de mercados donde los activos negociables se limitan a acciones,
bonos y productos negociados en bolsa (ETP).
Los productos negociados en bolsa, también denominados por sus siglas en inglés ETP (ex-
change traded products), son una serie de instrumentos financieros que cotizan durante el
día en mercados nacionales.
Cada ETP tiene un índice de referencia al que replica. Algunos ETF pueden replicar mer-
cados conocidos, como el FTSE 100, pero también se pueden encontrar ETP que replican
índices de referencia más minoritarios o especializados, como determinados índices de acciones
específicos de sectores, que permiten obtener dividendos altos.
Existen tres tipos principales de ETP:
Los ETN o notas cotizadas. Son un tipo de valores de deuda. Se trata de productos que
apenas están regulados y los inversores deben ser especialmente prudentes al invertir
en ETN.
Los ETC o materias primas cotizadas. Son similares a los ETF, pero replican o bien
un conjunto de materias primas o bien un índice de materias primas.
Existen numerosos ejemplos de mercados repartidos alrededor del mundo. Algunos de los más
grandes son la Bolsa de Nueva York (NYSE), el NASDAQ y la Bolsa de Tokio (JPX). Otras
bolsas conocidas son la Bolsa de Londres (LSE), la Bolsa de Shanghai (SSE) y la Bolsa de
Bombay (BSE).
Hecha la definición de un mercado de valores, es interesante analizar su dinámica y como éste
se entrelaza con las matemáticas y la computación. En definitiva, el enorme interés depositado
en éste fenómeno es debido a que puede aportar una serie de recursos descentralizados que
no dependen de un gobierno central. Además como una herramienta de inversión donde el
inversor busca unas ganancias a largo o corto plazo.
Ese excedente se obtiene por la variabilidad del valor de, por ejemplo, un índice, cuando este
se ha comprado por un precio menor que por el que se vende, o se mantiene.
Las fluctuaciones del valor de un índice, una acción, etc, esparcidas en el tiempo, engendran
un proceso estocástico, ampliamente estudiado en matemáticas y física.
11
Kiril Morozov TFM
Dicho de otra forma es una serie de variables aleatorias que evolucionan en función de otra
(normalmente el tiempo, como es nuestro caso), teniendo cada una de las variables aleatorias
su propia distribución de densidad.
Debido a que nuestro foco de atención recaerá sobre una variables que evoluciona con el
tiempo, podemos clasificar dichos procesos en dos subgrupos.
Señales de telecomunicación
Señales sísmicas
Evolución de la población
Además en nuestro caso, el proceso estocástico puede ser de tiempo continuo o discreto (según
el enfoque), además también es de valores continuos, puesto que el precio puede adquirir valor
decimal. De aquí en adelante cuando hablemos de nuestro proceso, lo habremos catalogado
como CTCV, acrónimo del inglés Continuos Time/Continuos Values o bíen DTCV, Discrete
Time/Continuos Values.
12
Kiril Morozov TFM
Otra característica relevante de nuesto fenómeno, es que éste se puede considerar como pro-
ceso de Markov.
Se dice que un proceso estocástico es de Markov cuando éste cumple la propiedad de Markov.
Podemos definir la propiedad de Markov, como la característica de ciertos procesos a no
tener memoria, es decir que el estado futuro únicamente depende de su estado presente y de
ninguna forma de los anteriores. Es decir, la probabilidad de que un mercado tenga un valor,
solo depende de su valor anterior.
El análisis de las series temporales generadas por el mercado de valores ha sido objetivo de
estudio de muchas disciplinas como las matemáticas, la economía, la física, entre otras. Con
el auge de la Inteligencia artificial, se ha propiciado la eclosión de los modelos, algoritmos y
técnicas, típicamente usados en dicho ámbito para dar solución a los problemas de valores de
mercado. Sin ser el objetivo de este trabajo hacer una exploración a fondo de dichas técnicas,
debemos ponerlas de relieve para poder situarnos y contextualizar el trabajo.
Podemos empezar hablando de los métodos clásicos usados antes de la aparición de la inte-
ligencia artificial en el campo de mercado bursátil.
Se trata de uno de los métodos más usados inicialmente para poder ofrecer una solución y
predicción consiguiendo que las acciones no sean puramente aleatorias. En concreto se basa
en la observación de una serie de representaciones gráficas que incluyen toda serie de detalles
minuciosos presentados sobre los valores cotizados. A este método se le conoce coloquialmente
como “Chartismo”, que deriva del inglés “Chart”, esto es, gráfico. Existe una enorme variedad
de gráficos que sirven para este propósito entre los cuales podemos destacar:
Gráfico de Barras
Gráfico de Líneas
Grafico de Velas
13
Kiril Morozov TFM
En la figura anterior podemos ver un ejemplo de cada una de los gráficos anteriores.
La distinción con respecto al análisis técnico consiste en que este solo se basa en el análisis
de datos en base a fórmulas matemáticas, estadísticas y modelos empíricos para analizar el
comportamiento futuro de los precios según las series de datos.
Bandas de Bollinger.
Gráficos de puntos.
14
Kiril Morozov TFM
Índices Arms
Índices Tick.
Osciladores de McClellan.
...
Dentro de los métodos técnicos pondrémos un énfasis especial en los que usan la compu-
tación/programación como medio de conseguir el pronóstico. Estos métodos explotan la enor-
me capacidad de procesamiento de los ordenadores actuales y a parte de implantar algunos de
los métodos clásicos de una forma mucho más eficiente e inmediata, ofrecen un enorme abani-
co de nuevos enfoques. Podemos destacar unos subgrupos dentro de éstos últimos inducidos
por la propia arquitectura interna de dichos algoritmos o técnicas.
15
Kiril Morozov TFM
Inteligencia Artificial - donde podemos Englobar todas los métodos anteriores más
una serie de algoritmos que pertenecen exclusivamente al grupo de técnicas de inteli-
gencia artificial.
7.1. Introduccón
En esta parte del proyecto, vamos a sentar las bases de lo que se conocer como Reinfocment
Learning o en Castellano «Aprendizaje por refuerzo». Podemos aseverar con gran certeza que
16
Kiril Morozov TFM
la forma en la que los seres humanos y en general el mundo animal aprende es mediante un
proceso de interacción con el entorno basado en prueba y error en busca de un objetivo. Las
recompensas no tienen porque llegar de forma inmediata, si no como consecuencia de una
serie de acciones, estas acciones en definitiva son aprendidas por el agente para poder volver
a conseguir el objetivo propuesto. Este proceso, según los psicólogos conductistas se llama
aprendizaje por interacción. Así un niño que esta empezando a gatear, hace sus primeros
pasos y obtiene sus recompensas ( positivas o negativas) mientras intenta llegar a algún
objeto. Un paso mal dado conduce a una recompensa negativa (sensación de dolor ante una
caída), unos pasos bien dados, conducen a recompensas positivas, cuando el niño alcanza el
objeto deseado. Así mediante la repetición de estas pruebas en definitiva se acaba afianzando
y aprendiendo una capacidad tan vital como la de andar.
Este tipo de metodologías se han diseminado hacía las ciencias de la computación como
propuestas para resolver problemas difíciles mediante el uso de los ordenadores, simulando la
forma en la que lo harían los humanos. Podemos destacar entre las áreas de aplicación, toma
de decisiones, control de sistemas, automatización, etc. Además cabe destacar la multitud de
disciplinas que investigan e indagan en este tipo de metodologías. Algunas de ellas son:
Ingeniería, Neurociencia, Psicología, Economía, Matemáticas, Física, Ciencias de la compu-
tación, etc.
Y aunque el grueso de las técnicas de reinforcement Learning ha dado un salto cualitativo
enorme en las últimas décadas, los orígenes de éstas se pueden remontar a los primeros
intentos de automatización de procesos en los años 1980 e incluso algunas de las ideas se
formularon a finales de 1950, en plena revolución industrial. En los últimos años estás técnicas
se han viralizado en gran parte debido al enorme éxito de la empresa DeepMind (Adquirida
por google en 2004) y su agente AlphaGo.
En los párrafos anteriores se han introducido los elementos claves de cualquier algoritmo de
aprendizaje por refuerzo. Vamos a concretar sobre ellos y introducir paralelamente alguna
notación matemática
Agente, es el ente que interactúa con el entorno y toma las acciones pertinentes y en
definitiva aprende sobre el entorno con las experiencias.
Entorno, es lo que define el propio problema, el contexto sobre el cual, el agente toma
sus decisiones e interactúa.
17
Kiril Morozov TFM
Recompensa, es un valor escalar que el agente recibe del entorno después de cada acción.
Lo designaremos como: Rt recompensa en el instante t.
Acción, enumeran lo que el agente puede hacer una vez alcanzado un estado. Por ejemplo
desplazarnos en cualquiera de las 4 direcciones. Se establace la letra At para la acción
en el instante t.
Todos los elementos anteriores interactúan entre ellos mediante el siguiente esquema.
Todos los conceptos anteriores se formalizan en lo que ya habíamos mencionado con anteriori-
dad como Procesos de Decisión de Markov(MDP). Formalmente el proceso de decisión
de Markov se escribe de la siguiente forma:
18
Kiril Morozov TFM
p(s′ , r|s, a) = 1
X X
r∈R s′ ∈S,
X
Gt = Rt+1 + γRt+2 + ... + Rt = Rt
t+1,T
Los algoritmos de aprendizaje por refuerzo, tratan en la mayoría de las ocasiones en estimar,
cuan bueno es encontrarse en un estado en términos de la recompensa acumulada o cuan
bueno es tomar una acción encontrándose el agente en un estado en concreto. Las funciones
de valor se encargan de formalizar esto. Cuando lo que evalúa el agente es la bondad de
tomar una cierta acción dado un estado concreto estarémos tratando con función de valor del
19
Kiril Morozov TFM
.
vπ (s) = E[Gt |St = s]∀s ∈ S
Es decir, la política es el valor esperado de los retornos dado un estado s, escogiendo actuar
según una política π.
De forma similar podemos definir el valor de una acción dado un estado s:
.
qπ (s, a) = E[Gt |St = s, At = a]∀s ∈ Sand∀a ∈ A(s))
Además se puede derivar la relación entre las dos funciones de valor, la función de valor de
estado y de acción-estado.
. X
vπ (s) = π(a|s)E[Gt |St = s, At = a] =
a∈A(s)
. X
vπ (s) = π(a|s)qπ (s, a)
a∈A(s)
Una de las particularidades más importantes de las funciones de valor e que estas se pueden
definir de una forma recursiva entre ellas como sigue:
.
vπ (s) = Eπ [Gt | St = s]
=⇒ vπ (s) = Eπ [Rt+1 + γGt+1 | St = s]
=⇒ vπ (s) = a∈A π(a | s) s′ ∈S r∈R p (s′ , r | s, a) [r + γEπ [Gt+1 | St = s′ ]]
P P P
Esta última ecuación se llama Ecuación de Bellman y es el el núcleo de todos los algoritmos
de aprendizaje automático. La ecuación se dice que es recursiva porque relaciona el valor de
un estado con los estados posteriores a este. es decir, podemos contemplar en la ecuación dos
20
Kiril Morozov TFM
partes fundamentales. Una es el valor del estado actual y otra el valor de todos los estados
sucesores de este.
De forma similar podemos obtener le ecuación de Bellman para la función de valor de acción-
estado.
.
vπ (s) = Eπ [Gt | St = s]
=⇒ vπ (s) = Eπ [Rt+1 + γGt+1 | St = s]
=⇒ vπ (s) = a∈A π(a | s) s′ ∈S r∈R p (s′ , r | s, a) [r + γEπ [Gt+1 | St = s′ ]]
P P P
Hemos visto las bases matemáticas y las ecuaciones que nos van conduciendo paulatinamente
hacía el interior del aprendizaje por refuerzo. Hasta ahora nos hemos dedicado a formalizar los
componentes que intervienen en un algoritmo RL, como aprende el agente y las funciones más
importantes. Lo siguientes apartados tratan del «como» resolver dichas ecuaciones planteadas
por métodos computacionales.
21
Kiril Morozov TFM
La problemática de este tipo de enfoques, es que se tienen que cumplir una serie de supuestos
para que la aplicación sea fructífera. la dinámica del entorno debe ser perfectamente conocida,
debemos disponer de suficiente capacidad de procesamiento y además el sistema debe cumplir
la propiedad de Markov. Estos supuestos, rara vez se dan conjuntamente en la realidad, por
lo tanto en la práctica si no estamos trabajando bajo unas condiciones ideales, pocas veces
vamos a poder resolver un problema usando este tipo de metodologías. Y no siempre nuestro
agente va a poder encontrar una solución exacta a la ecuación de Bellman.
Ver de forma detenida este tipo de algoritmos no entra dentro del contenido de este trabajo,
debido a que nosotros nos hemos propuesto resolver un problema con un entorno estocástico.
Aún así cabe destacar que una gran variedad de situaciones se pueden abordar con algoritmos
de este espectro entre los cuales podemos destacar dos algoritmos: Iteración de valores y de
políticas.
Planteadas las problemáticas de la programación dinámica una de las tantas soluciones a esta,
la aportan los métodos de Monte Carlo. Con los Métodos de Monte - Carlo no es un requisito
conocer de forma exacta la dinámica del entorno, solo necesitamos recopilar trayectorias del
agente en el entorno, esto es ,colecciones de experiencias. otra de las justificaciones para no
necesitar el modelo, es que no es estrictamente necesario conocer la función de recompensas
y de transiciones entre estados.
Aunque hay una gran diferencia entre la programación dinámica, el «approach» sigue siendo
el mismo. El algoritmo estimará el valor de los estados o de las acciones de una política
En este caso nos encontramos ante una combinación de métodos de monte carlo y progra-
mación dinámica en el intento de quedarnos con los beneficios que nos aporta cada uno. Por
un lado tendrémos, como en métodos Monte Carlo un aprendizaje directo de las experiencias
sin necesidad de disponer un entorno totalmente difinido y además como en los métodos
de programación dinámica seremos capaces basándonos en otras estimaciones, actualizar las
22
Kiril Morozov TFM
nuestras sin necesidad de esperar el final de un episodio. Estos últimos métodos son los más
usados actualmente debido a la simplicidad, la eficiencia.
Dentro de los TDM (Time Differnece Methods) es convenientes hacer una separación entre
los On-Policy y Off-policy.
On - Policy Este tipo de procesos intentan mejorar las políticas para tomar decisiones
con cada acción tomada, y se va de una forma paulatina actualizando dicha política en
dirección de una política óptima.
Off - Policy Las actualizaciones en este caso se realizan respecto al óptimo global, por
lo tanto es capaz de optimizar una política óptima usando cualquier otra.
Debemos también destacar que en el aprendizaje por refuerzo podemos tener algorítmos
Model- Based y Model-free, esto es tal y como el propio nombre lo indica, en el primer
caso tenemos un tipo de entorno y problema sobre el cual podrémos intentar inferir su
comportamiento a partir de acciones y estados. En el segundo caso el algorítmo funciona
estrictamente basándose en las experiencias, esto es, prueba y error.
En nuestro caso particular nos centraremos en un Algorítmo Off-Policy y model-Free debido
a la propia naturaleza del problema y su antonomasia.
Por destacar algún algorítmo On Policy, uno de los más conocidos es el SARSA.
8.1. Q-Learning
El algoritmo de Q-Learning entra dentro del espectro de los algoritmos que se basan en los
métodos de diferencias temporales. Tal y como hemos dicho éstos tratan de recalcular el valor
de estado-acción a partir de la evolución del entorno. ¿Cómo podemos recalcular el valor de
Q a partir de un estado siguiente? La solución es trivial, calculando la diferencia del nuevo
valor de Q con el valor anterior y lo que tendremos con esto, es lo que vamos a llamr TD.
Partiendo de la ecuación:
23
Kiril Morozov TFM
Cabe destacar que esta función no se adaptaría al 100 % a nuestro problema planteado. Esto
así ya que seguimos estando limitados por la función Q, donde se deben representar de forma
24
Kiril Morozov TFM
tabular todas las acciones y todos los estados posibles. Esto en el entorno estocástico del
mercado de valor es imposible ya que la cantidad de estados es enorme.
Para dar solución a este problema podemos recurrir al teorema de aproximación universal
que dice:
El teorema de aproximación universal establece que "la red estándar de alimentación mul-
ticapa con una sola capa oculta, que contiene un número finito de neuronas ocultas, es un
aproximador universal entre funciones continuas en subconjuntos compactos de Rn , bajo
suposiciones leves sobre la función de activación".
Por lo tanto, podemos intentar aproximar nuestra función Q, por el uso de las Redes neu-
ronales, que son las que en este caso se encargarán de realizar el mapeo entre los estados
y las acciones. Este tipo de técnicas es objetivo de estudio de lo que se conoce como Deep
Learning. Para poder seguir en la aproximación de nuestro algoritmo final, debemos hacer
una introducción a las redes neuronales y el deep learning.
El deep learning es una serie de técnicas nucleares dentro del campo del machine learning, que
imitando el funcionamiento de las neuronas del cerebro animal, resuelve una serie de proble-
mas de inferencia y aprendizaje. En concreto el objetivo principal de las redes neuronales es
con un input, unos datos de entrada, mapeados a través de una series de neuronas, conseguir
la respuesta correcta a un problema dado, output. Es un mecanismo que esta inspirado en el
funcionamiento biológico de nuestras neuronas.
Las redes neuronales están basadas en algo tan fundamental como un perceptrón. Lo que es
básicamente una transformación de un espacio n-dimensional en un escalar, ese escalar es lo
que llamaríamos la señal de salida del perceptrón.
n
X
z= (wi · xi ) + b
i=1
donde xi son las componentes de n dimensiones de un input, wi son los pesos asociados a cada
componente, b es el bias.
En las redes neuronales más complejas, el elemento básico de perceptrón se usa para generar
capas ocultas de una cierta cantidad de estos perceptrones.
A grosso modo podemos resumir la estructura de una red neuronal de la siguiente forma.
25
Kiril Morozov TFM
Una o varias entradas que pueden recibir los datos originales que se quieren procesar.
Las salidas de las capas anteriores sirven de input a las capas siguientes
Otro concepto importante dentro de las redes neuronales, es backpropagation. Este concepto
es concerniente al fenómeno de actualización de los pesos de las redes neuronales. En definitiva
cuando entrenamos una red, necesitamos ir ajustando los pesos de tal forma que el output
final sea lo más fidedigno posible. La forma en la que se actualizan los pesos, es propagando
hacía atrás los errores cometidos. En concreto se actualizan los pesos con el descenso de
26
Kiril Morozov TFM
dL
Wi (nuevos) = Wi (anteriores) + η
dW
En definitiva llegamos a la definición final del algoritmo a usar. Deep Q learning, es una
simbiosis entra las herramientas de aprendizaje por refuerzo y el deep learning donde tal
y como hemos mencionado anteriormente sustituiremos nuestra función Q mediante una
aproximación por redes neuronales.
Es importante además definir nuestra función de pérdida con la cual vamos a propagar hacía
atrás el error e ir aproximando los pesos cada vez más a los óptimos. Así la función de pérdida
nos queda como:
Dentro de nuestro algoritmo además vamos a introducir una serie de mejoras para sacar el
máximo rendimiento.
27
Kiril Morozov TFM
Para reducir el nivel de dependencia con los valores actuales de la red neuronal se introdujo
una segunda red llamada red de objetivos o target network, la cual era una copia de la red
original. La primera red se utilizaba para predecir el valor de la función-Q para el estado
actual, mientras que la segunda se utilizaba para predecir el valor del estado siguiente. A
diferencia de la red original, esta red de objetivos no se actualizaba de manera constante, sino
que igualaba el valor de sus parámetros a los de la red original después de que ésta se hubiera
entrenado con varios conjuntos de entrenamiento. La presencia de esta red proporcionaba
estabilidad a los valores predichos para los estados siguientes, lo que a su vez proporcionaba
también estabilidad para el aprendizaje.
28
Kiril Morozov TFM
Otra mejor a parte de epsilon greed, vendrá de la mano de epsilon decay. La justificación de
esto, es que lo interesante del dilema de exploración/explotación, sería que al principio del
entrenamiento la IA, tuviera una tendencia hacía la explotación para aprender lo suficiente
del entorno, mientras que una vez alcanzando el final la explotación adquiera un mayor peso.
Esto se consigue variando la epsilon anteriormente mencionada desde 1 (exploración máxima)
hasta un valor muy pequeño que le daría la prevalencia a la explotación. Esto se consigue
estableciendo un epsilon decay y actualizando la epsilon según la siguiente fórmula.
εnew ← εold αN
Donde alpha suele ser un número bastante pequeño como por ejemplo 0.98, para que el
decaimiento sea paulatino y N es el número del paso de la iteración. (No siendo la forma de
actualización anterior la única)
8.3.4. Hubber-Loss
Para poder actualizar nuestro modelo y calcular las perdidas, se precisa de una función de
pérdidas valga la redundancia. Hubber-Loss ha sido la función de perdidas adoptada en este
caso. Ésta se caracteriza por ser bastante menos sensible a los outliers que el error cuadrático
medio y es comúnmente usada en las regresiones ’robustas’.
Tiene la siguiente forma:
29
Kiril Morozov TFM
Se sabe que muchas veces la arquitectura básica de DQN, tiende a sobre-entrenar y como
consecuencia sobre-estimar los Q-value (valores). Una explicación a este fenómeno podría
ser el hecho de que el agente elige la política óptima para cada acción. es decir, aquella que
maximiza Q. Como Q tiene mucho ruido, puede pasar que no siempre la mejor acción sea la
que maximiza Q. El problema a grosso modo se puede resumir por el hecho de que se esta
usando la misma red tanto para entrenar el modelo como para estimar la mejor política. Esto
se puede solucionar introduciendo una red paralela en nuestro modelo, esta es la innovación
en la técnica DDQN.
Por el hecho de usar dos redes distintas Q y Q’, el proceso de actualización cambia ligera-
mente, podemos ver dichas diferencias en la siguiente imagen:
30
Kiril Morozov TFM
En este caso, al igual que el anterior, una única red neuronal que aproxima Q se desdobla en
dos, una red objetivo y otra de entrenamiento. Una de las redes neuronales, la target network,
fija sus pesos y actualiza la otra periódicamente. Esto es algo similar a decir que no vamos
a actualizar nuestra red objetivo cada vez que hagamos una acción en el entorno, porque la
dinámica se puede volver caótica, si no que se va a ir haciendo una serie de acciones y solo al
cabo de un tiempo decidiré aprender en mi red objetivo de esas acciones. La idea en definitiva
es muy similar a la de DDQN, solo que aquí las acciones y la evaluación se siguen haciendo
desde la misma red neuronal, mientras que en el caso de DDQN se desdobla la funcionalidad
de las dos redes. A grosso modo, en el caso de TDQN, una de las redes se usa para almacenar
lo aprendido para tomar las acciones correspondientes.
Podemos definir la variante TDQN de la siguiente forma:
2. Se crea la función que actualiza los pesos de la red objetivo a partir de la estándar
31
Kiril Morozov TFM
9. Implementación
9.1. Herramientas
Este lenguaje es uno de los más usados para la ciencia de datos y machine Learning e IA.
Tines una amplia comunidad e infinidad de librerías para todo tipo de aplicaciones.
Además se han usado las siguientes librerías:
32
Kiril Morozov TFM
Tenemos por otro lado el pseudo-código del Double Q learning que desdobla las redes neu-
ronales.
33
Kiril Morozov TFM
La variante T-DQN, es muy similar a DDQN, con la excepción de que se usa la misma red
objetivo tanto para calcular la pérdida como para evaluar la acción.
Para establecer el espacio de estados, se ha de hacer una ligera disquisición. Existe la posibi-
lidad de alimentar el modelo con el valor del día anterior a aquel en el que se quiera tomar
la decisión. Pero esta forma es muy limitada y perdemos de vista la propia naturaleza del
problema, que es aprender sobre una serie temporal suficientemente larga.
Por lo tanto se ha tomado la decisión de usar ventanas de N días de la propia serie temporal
como un estado n-esimo. Así por ejemplo si tenemos una serie temporal que comprende 500
días y hacemos ventanas de 10 días, tendremos en total 50 estados dentro de dicha serie
temporal.
Otra problemática a resolver es la gran divergencia que puede existir entre los valores de
un día a otro en los datos históricos. Nuestro objetivo no es hacer una regresión ya que
no necesitamos hacer una predicción exacta del valor de la serie el día siguiente. Buscamos
tomar la acción más acertada para maximizar la recompensa final. La idoneidad de la acción
viene determinada por la tendencia de la serie temporal que puede ser creciente, decreciente
o constante. Por lo tanto es lógico pensar que podemos alimentar el modelo con dichas
tendencias. Resolvemos este punto por el medio de la función sigmóide:
1
f (x) =
1 + e−x
34
Kiril Morozov TFM
Así en definitiva, nuestro espacio de estados es una ventana de N-días con las función
sigmoide de las diferencias de dos días consecutivos. Es decir, de forma más intuitiva,
tendencias diarias de entre (0,1). Donde 0 representa una tendencia muy creciente y 1
muy decreciente.
35
Kiril Morozov TFM
Otro elemento importante de nuestro diseño experimental es el modelo BASELINE que usa-
remos para hacer contrastes y como control para nuestros algoritmos. Se trata básicamente
de un agente que «samplea» de forma pseudoaleatoria una acción del espacio de acciones.
Y se almacenan tanto las recompensas como las acciones en un array histórico para poder
hacer comparativa con el modelo elaborado.
Además como otro elemento de control a la hora de evaluar un modelo sobre unos datos test,
podemos almacenar el conjunto de acciones ideales que se deberían de tomar para sacar el
rendimiento máximo en cada caso.
10. Resultados
Se han entrenado 3 modelos distintos Deep Q learning, Double Deep Q learning y Fixed
Target Deep Q learning con 50 epidsodios cada uno. En los tres casos las ventanas han sido
de 10 días.
Los datos con los que se ha entrenado han sido los últimos 5 años de valores de la empresa
AAPL, aunque a posteriori las evaluaciones se han hecho con otros mercados para no obtener
ua prueba sesgada. Ya que en última instancia busca que el algoritmo sea aplicable a cualquier
mercado.
Las pruebas se van a realizar con los datos históricos de la empresa facebook.
Para entrenar los tres modelos se han establecido los siguientes hiperparámetros.
lr = 0,001
10.1. DQN
Se ha entrenado el modelo durante 50 períodos. Una vez entrenado el modelo se ha eva-
luado con el dataset de Facebook obteniéndose la siguiente evolución en las recompensas
acumuladas:
36
Kiril Morozov TFM
37
Kiril Morozov TFM
Podemos obtener además una medida de bondad para nuestro modelo como sigue:
aciertos TP + TN
r= =
total TP + TN + FP + FN
r = 0,361
Por último, para poder ver una forma intuitiva de aplicación de nuestro algoritmo en la
práctica, podemos visualizar como éste nos apoya en la toma de decisiones. Graficaremos
pues las decisiones que ha ido ofreciendo nuestro agente en cada paso.
38
Kiril Morozov TFM
Como constraste, el agente aleatorio ha obtenido en esta prueba unos beneficios totales
de -611.009$ mientras el agente DQN ha obtenido unos beneficios totales de +336.51$. El
rendimiento del modelo ha sido de r=0.361, es decir 36,1 % de acierto.
10.2. DDQN
Como segundo modelo a evaluar vamos a usar el Double Deep Q Learning obteniéndose los
siguientes resultados en las recompensas acumuladas:
39
Kiril Morozov TFM
r = 0,53
Visualizamos además la matriz de confusión de las decisiones tomadas frente a las ideales.
Por último al igual que en el caso anterior representamos las acciones en cada paso de la
evaluación emitidas por el modelo.
40
Kiril Morozov TFM
Como constraste, el agente aleatorio ha obtenido en esta prueba unos beneficios totales
de -263.8$ mientras el agente DDQN ha obtenido unos beneficios totales de +1157.63$.
El rendimiento del modelo ha sido de r=0.53, es decir 53 % de acierto.
10.3. T-DQN
Por último evaluamos el modelo restante con el mismo dataset en aras de prever cual de los
tres se comportará mejor:
41
Kiril Morozov TFM
En este caso volvemos a obtener, un beneficio mayor que el de DQN pero no tanto como en
el caso de DDQN.
Calculando de nuevo el rendimiento y visualizando la matriz de confusión obtenemos:
r = 0,5
Como en los casos anteriores representamos las acciones tomadas por el agente:
42
Kiril Morozov TFM
Como constraste, el agente aleatorio ha obtenido en esta prueba unos beneficios totales
de -34.6$ mientras el agente TDQN ha obtenido unos beneficios totales de +809.18$. El
rendimiento del modelo ha sido de r=0.50, es decir 50 % de acierto.
En los tres casos como era de esperar se ha superado la marca del agente aleatorio.
Como último análisis podemos comparar el funcionamiento de los modelos en el caso de los
distintos datasets probados.
La primera prueba realizada con el datsset de Facebook arrojó los siguientes resultados.
43
Kiril Morozov TFM
Podemos ver como en este caso el modelo con mejor respuesta ha sido el de DDQN.
La segunda prueba con el dataset de Microsoft tiene los siguientes resultados.
44
Kiril Morozov TFM
ingesta de datos hacía el agente ha sido bastante reducida teniendo el cuenta solo el precio
histórico de cada serie temporal. Hay una infinidad de indicadores más como volumen, cierre,
apertura, etc que se podrían usar con el fin de afinar las decisiones y que el agente disponga
de mayor cantidad de información sobre la que aprender (entorno). Esta sería la primera vía
de investigaciones futuras posibles.
Por otro lado y debido a que en muchas ocasiones, incluida la del proyecto presente, los
modelos de IA precisan de gran capacidad de computación, no se ha probado la técnica de
hiperparameters tuning. Es decir, cabe en los futuros pasos, afinar los parámetros de epsilon
decay, learning rate, gamma y fijar aquellos valores que puedan arrojar los mejores resultados.
Una tercera vía de investigación sería, seguir implementando más modelos cuya base y fun-
damentos son las de DQN para solventar las problemática y de nuevo mejorar el rendimiento
de lo que ya tenemos. Existen variedad de variantes como por ejemplo Dueling-DQN, DDPG
(Deep Deterministic Policy Gradients), Actor- Critic, etc.
Por último una propuesta interesante, sería la de implementar dichos agentes como un servicio
web que podría en última instancia ser un apoyo para los corredores profesionales en la toma
de decisiones.
12. Conclusiones
Como valoración final del proyecto cabe destacar, que se ha conseguido el objetivo principal
que es implementar unos modelos basados en el reinforcement lerning para la toma de deci-
siones en el ámbito del trading. Además se puede aseverar que el resultado es satisfactorio
debido a que en todos los casos en los que se ha probado, los 3 modelos siempre han superado
a uno que toma decisiones sampleadas del espacio de acciones de forma aleatoria.
Se ha observado que como norma general el agente dqn ha sido el que menor rendimiento ha
obtenido en todas las pruebas, mientras los otros dos agentes dependiendo del dataset, han
ido alternando la bondad.
Se ha podido concluir también que en un entorno no-determinista, como lo es uno que invo-
lucra un proceso estocástico, nuestros agentes IA son capaces de tener un aprendizaje sobre
dicho entorno solo a partir de la experiencia y las recompensas obtenidas en forma de ganan-
cia acumulada. Esto no hace más que reforzar la idea de que el futuro de esta disciplina es
muy prometedor.
45
Kiril Morozov TFM
Referencias
[1] Van Hasselt, H., Guez, A., & Silver, D. (2016, March). Deep reinforcement learning with
double q-learning. In Proceedings of the AAAI conference on artificial intelligence (Vol.
30, No. 1).
[2] “Artificial Intelligence in Finance by Yves Hilpisch (O’Reilly). Copyright 2021 Yves
Hilpisch, 978-1-492-05543-3.”
[3] Apuntes UOC de la asignatura Reinforcement Leargning por Jordi Casas Roma
[4] Stock Trading with Recurrent Reinforcement Learning (RRL) CS229 Application Pro-
ject Gabriel Molina, SUID 5055783
[5] Dimitri Bertsekas, Dynamic programming and optimal control, vol. 1, 01 1995.
[6] W. Brock, J. Lakonishok, B. LeBaron, Simple technical trading rules and the stochastic
properties of stock returns, The Journal of finance 47 (5) (1992) 1731–1764.
[7] F. Allen, R. Karjalainen, Using genetic algorithms to find technical trading rules, Journal
of financial Economics 51 (2) (1999) 245–271.
[8] Stelios Bekiros, “Heterogeneous trading strategies with adaptive fuzzy actor-critic rein-
forcement learning: A behavioral approach,” Journal of Economic Dynamics and Control,
vol. 34, pp. 1153–1170, 06 2010.
[9] Lillicrap, T. P., Hunt, J. J., Pritzel, A., Heess, N., Erez, T., Tassa, Y., ... & Wiers-
tra, D. (2015). Continuous control with deep reinforcement learning. arXiv preprint
arXiv:1509.02971.
[11] Jugadores Automáticos basados en Deep Reinforcement Learning. Trabajo Fin de Gra-
do. Rodrigo Bravo Antón ,Javier García Rodriguez ,David Alba Corral. Facultad de
Informática .Universidad Complutense de Madrid .Septiembre 2018
[12] L.Beam, Andrew. Deep Learning 101 - Part 1: History and Background. 2017.
46
Kiril Morozov TFM
[15] Palanisamy, Praveen. Hands-On Intelligent Agents With OpenAI Gym. Packt Publishing
Limited, 2018.
[16] Dutta, Sayon. Reinforcement Learning with TensorFlow. Packt Publishing Limited,
2018.
47