Inspirado en DeepMind, el proyecto busca investigar la aplicabilidad y efectividad de Deep Reinforcement Learning, en el desarrollo de agentes autónomos que combinando Deep Neural Networks con Reinforcement Learning, aprendan a invertir en activos financieros.
- Reinforcement Learning: An Introduction - Richard S. Sutton and Andrew G. Barto
- Bekerly UC - Curse: Deep Reinforcement Learning
- Stanford - Curse: Convolutional Neural Networks for Visual Recognition
- Neural Networks and Deep Learning
- An Investigation into the Use of Reinforcement Learning Techniques within the Algorithmic Trading Domain
- Algorithm Trading using Q-Learning and Recurrent Reinforcement Learning
- Demystifying deep reinforcement learning
- Deep Q-Learning for Stock Trading
El proyecto consta de 2 aplicaciones, una api sefl-hostead implementada con ASP.NET 5, SignalR y Encog3 Y una aplicacion web implementada con Angular 4 y Typescript
Para poder ejecutar la applicacion en forma local, es necesario configurar:
- Redis, sera usado como base de datos por la api
- Un Servidor donde se ejecutaran los agentes y que brindara actualizaciones en tiempo real del estado de los mismos.
- Una aplicacion web, donde se podran visualizar el aprendizaje alcanzado por los agentes creados asi como tambien diferentes estadisticas.
Instalar Redis desde Microsoft Open Tech
port: 6379
Es necesario instalar una instancia de sql server express.
El Servidor consta de una api self-hosted, implementada con Owin y signalR.
Para levantar la api, ejecutar el archivo dqs-server.exe que se encuentra en DeepQStock.Server/bin:
cd DeepQStock.Server/bin
dqs-server
Para ejecutar la applicacion web sera necesario descargar e Instalar node.js, version 6.10+
Una vez instalado habra que instalar los siguientes paquetes en forma global
npm install typescript -g
npm install bower -g
Luego será necesario instalar las dependencias del proyecto:
cd DeepQStock.Web
npm install
bower install
Finalmente podremos levantar el servidor web usando angular-cli
ng serve
La aplicacion web estara accesible en
http://localhost:4200/