Le développement de cette bibliothèque a été ralenti, au profit du travail sur TensorTrade - un framework pour trader avec RL : https://github.com/notadamking/tensortrade
Si vous souhaitez en savoir plus sur la façon dont nous avons créé cet agent, consultez l'article Medium : https://towardsdatascience.com/creating-bitcoin-trading-bots-that-dont-lose-money-2e7165fb0b29.
Plus tard, nous avons optimisé ce référentiel à l'aide de l'ingénierie des fonctionnalités, de la modélisation statistique et de l'optimisation bayésienne. Consultez-le : https://towardsdatascience.com/using-reinforcement-learning-to-trade-bitcoin-for-massive-profit-b69d0e8f583b.
Serveur Discord : https://discord.gg/ZZ7BGWh
Ensembles de données : https://www.cryptodatadownload.com/data/northamerican/
Linux :
sudo lspci | grep -i --color ' vga|3d|2d ' | grep -i nvidia
Si cela renvoie quelque chose, alors vous devriez avoir une carte nVIDIA.
La première chose que vous devrez faire pour commencer est d’installer la configuration requise. Si votre système dispose d'un GPU nVIDIA, vous devez commencer par utiliser :
cd " path-of-your-cloned-rl-trader-dir "
pip install -r requirements.txt
Plus d'informations sur la façon dont vous pouvez tirer parti de votre GPU tout en utilisant Docker : https://github.com/NVIDIA/nvidia-docker
Si vous possédez un autre type de GPU ou si vous souhaitez simplement utiliser votre CPU, utilisez :
pip install -r requirements.no-gpu.txt
Mettez à jour vos fichiers statiques actuels, qui sont utilisés par défaut :
python ./cli.py update-static-data
Ensuite, vous pouvez simplement voir les options actuellement disponibles :
python ./cli.py --help
ou exécutez simplement le projet avec les options par défaut :
python ./cli.py optimize
Si vous disposez d'un ensemble standard de configurations sur lesquelles vous souhaitez exécuter le trader, vous pouvez spécifier un fichier de configuration à partir duquel charger la configuration. Renommez config/config.ini.dist en config/config.ini et exécutez
python ./cli.py --from-config config/config.ini optimize
python ./cli.py optimize
Démarrez la boîte vagabonde en utilisant :
vagrant up
Le code sera situé dans /vagrant. Jouez et/ou testez avec le package de votre choix. Remarque : Avec vagrant, vous ne pouvez pas profiter pleinement de votre GPU, c'est donc principalement à des fins de test.
Si vous souhaitez tout exécuter dans un conteneur Docker, utilisez simplement :
./run-with-docker (cpu | gpu) (yes | no) optimize
python ./ cli.py --params-db-path " postgres://rl_trader:rl_trader@localhost " optimize
La base de données et ses données sont stockées localement sous data/postgres
.
Si vous souhaitez exécuter un environnement de test Docker :
./run-with-docker (cpu | gpu) (yes | no)
Si vous souhaitez exécuter des tests existants, utilisez simplement :
./run-tests-with-docker
./dev-with-docker
conda create --name rltrader python=3.6.8 pip git conda activate rltrader conda install tensorflow-gpu git clone https://github.com/notadamking/RLTrader pip install -r RLTrader/requirements.txt
Bien que vous puissiez simplement laisser l'agent s'entraîner et fonctionner avec les hyper-paramètres PPO2 par défaut, votre agent ne serait probablement pas très rentable. La bibliothèque stable-baselines
fournit un grand ensemble de paramètres par défaut qui fonctionnent pour la plupart des domaines problématiques, mais nous devons faire mieux.
Pour ce faire, vous devrez exécuter optimize.py
.
python ./optimize.py
Cela peut prendre un certain temps (de quelques heures à plusieurs jours selon la configuration de votre matériel), mais au fil du temps, le message s'imprimera sur la console à mesure que les essais seront terminés. Une fois un essai terminé, il sera stocké dans ./data/params.db
, une base de données SQLite, à partir de laquelle nous pouvons extraire des hyper-paramètres pour former notre agent.
À partir de là, les agents seront formés en utilisant le meilleur ensemble d’hyper-paramètres, puis testés sur des données complètement nouvelles pour vérifier la généralisation de l’algorithme.
N'hésitez pas à poser vos questions sur le Discord !
Saisissez et exécutez l'extrait suivant dans la première cellule pour charger RLTrader dans un environnement Google Colab. N'oubliez pas de définir l'accélération matérielle sur GPU pour accélérer l'entraînement !
!git init && git remote add origin https://github.com/notadamking/RLTrader.git && git pull origin master
!pip install -r requirements.txt
Normalement, cela est dû à un module mpi manquant. Vous devez l'installer en fonction de votre plateforme.
Les contributions sont encouragées et je ferai toujours de mon mieux pour les mettre en œuvre dans la bibliothèque dès que possible. Ce projet est destiné à se développer à mesure que la communauté qui l'entoure grandit. Faites-moi savoir s'il y a quelque chose que vous aimeriez voir à l'avenir ou s'il y a quelque chose qui, selon vous, manque.
Vous travaillez sur votre première Pull Request ? Vous pouvez apprendre comment grâce à cette série gratuite Comment contribuer à un projet Open Source sur GitHub
Vous souhaitez montrer votre soutien à ce projet et l’aider à grandir ?
Rendez-vous sur le framework successeur : https://github.com/notadamking/tensortrade
Partisans :