El desarrollo de esta biblioteca se ha ralentizado, a favor de trabajar en TensorTrade, un marco para operar con RL: https://github.com/notadamking/tensortrade
Si desea obtener más información sobre cómo creamos este agente, consulte el artículo de Medium: https://towardsdatascience.com/creating-bitcoin-trading-bots-that-dont-lose-money-2e7165fb0b29
Posteriormente, optimizamos este repositorio utilizando ingeniería de funciones, modelado estadístico y optimización bayesiana. Échale un vistazo: https://towardsdatascience.com/using-reinforcement-learning-to-trade-bitcoin-for-massive-profit-b69d0e8f583b
Servidor de discordia: https://discord.gg/ZZ7BGWh
Conjuntos de datos: https://www.cryptodatadownload.com/data/northamerican/
Linux:
sudo lspci | grep -i --color ' vga|3d|2d ' | grep -i nvidia
Si esto arroja algo, entonces deberías tener una tarjeta nVIDIA.
Lo primero que deberá hacer para comenzar es instalar los requisitos. Si su sistema tiene una GPU nVIDIA, debe comenzar usando:
cd " path-of-your-cloned-rl-trader-dir "
pip install -r requirements.txt
Más información sobre cómo puedes aprovechar tu GPU mientras usas Docker: https://github.com/NVIDIA/nvidia-docker
Si tienes otro tipo de GPU o simplemente quieres usar tu CPU, usa:
pip install -r requirements.no-gpu.txt
Actualice sus archivos estáticos actuales, que se utilizan de forma predeterminada:
python ./cli.py update-static-data
Luego podrá simplemente ver las opciones disponibles actualmente:
python ./cli.py --help
o simplemente ejecute el proyecto con las opciones predeterminadas:
python ./cli.py optimize
Si tiene un conjunto estándar de configuraciones con las que desea ejecutar el comerciante, puede especificar un archivo de configuración desde el que cargar la configuración. Cambie el nombre de config/config.ini.dist a config/config.ini y ejecute
python ./cli.py --from-config config/config.ini optimize
python ./cli.py optimize
Inicie el cuadro vagabundo usando:
vagrant up
El código estará ubicado en /vagrant. Juega y/o prueba con el paquete que desees. Nota: Con vagrant no puedes aprovechar al máximo tu GPU, por lo que es principalmente para fines de prueba.
Si desea ejecutar todo dentro de un contenedor acoplable, simplemente use:
./run-with-docker (cpu | gpu) (yes | no) optimize
python ./ cli.py --params-db-path " postgres://rl_trader:rl_trader@localhost " optimize
La base de datos y sus datos están almacenados en data/postgres
localmente.
Si desea ejecutar un entorno de prueba de Docker:
./run-with-docker (cpu | gpu) (yes | no)
Si desea ejecutar pruebas existentes, simplemente use:
./run-tests-with-docker
./dev-with-docker
conda create --name rltrader python=3.6.8 pip git conda enable rltrader conda install tensorflow-gpu git clone https://github.com/notadamking/RLTrader pip install -r RLTrader/requirements.txt
Si bien podría dejar que el agente se entrene y ejecute con los hiperparámetros predeterminados de PPO2, es probable que su agente no sea muy rentable. La biblioteca stable-baselines
proporciona un excelente conjunto de parámetros predeterminados que funcionan para la mayoría de los dominios problemáticos, pero necesitamos mejorar.
Para hacer esto, necesitará ejecutar optimize.py
.
python ./optimize.py
Esto puede llevar un tiempo (de horas a días dependiendo de la configuración de su hardware), pero con el tiempo se imprimirá en la consola a medida que se completen las pruebas. Una vez que se completa una prueba, se almacenará en ./data/params.db
, una base de datos SQLite, desde la cual podemos extraer hiperparámetros para entrenar a nuestro agente.
A partir de ahí, los agentes serán entrenados utilizando el mejor conjunto de hiperparámetros y luego probados con datos completamente nuevos para verificar la generalización del algoritmo.
¡No dudes en hacer cualquier pregunta en Discord!
Ingrese y ejecute el siguiente fragmento en la primera celda para cargar RLTrader en un entorno de Google Colab. ¡No olvide configurar la aceleración de hardware en GPU para acelerar el entrenamiento!
!git init && git remote add origin https://github.com/notadamking/RLTrader.git && git pull origin master
!pip install -r requirements.txt
Normalmente esto se debe a que falta el módulo mpi. Debes instalarlo según tu plataforma.
Se alientan las contribuciones y siempre haré todo lo posible para implementarlas en la biblioteca lo antes posible. Este proyecto está destinado a crecer a medida que crece la comunidad que lo rodea. Déjame saber si hay algo que te gustaría ver en el futuro o si sientes que falta algo.
¿Estás trabajando en tu primera solicitud de extracción? Puede aprender cómo hacerlo en esta serie gratuita Cómo contribuir a un proyecto de código abierto en GitHub.
¿Quieres mostrar tu apoyo a este proyecto y ayudarlo a crecer?
Dirígete al marco sucesor: https://github.com/notadamking/tensortrade
Partidarios: