Die Entwicklung dieser Bibliothek hat sich verlangsamt, zugunsten der Arbeit an TensorTrade – einem Framework für den Handel mit RL: https://github.com/notadamking/tensortrade
Wenn Sie mehr darüber erfahren möchten, wie wir diesen Agenten erstellt haben, lesen Sie den Medium-Artikel: https://towardsdatascience.com/creating-bitcoin-trading-bots-that-dont-lose-money-2e7165fb0b29
Später haben wir dieses Repo mithilfe von Feature-Engineering, statistischer Modellierung und Bayes'scher Optimierung optimiert. Schauen Sie es sich an: https://towardsdatascience.com/using-reinforcement-learning-to-trade-bitcoin-for-massive-profit-b69d0e8f583b
Discord-Server: https://discord.gg/ZZ7BGWh
Datensätze: https://www.cryptodatadownload.com/data/northamerican/
Linux:
sudo lspci | grep -i --color ' vga|3d|2d ' | grep -i nvidia
Wenn dies etwas zurückgibt, sollten Sie eine nVIDIA-Karte haben.
Um loszulegen, müssen Sie zunächst die Anforderungen installieren. Wenn Ihr System über eine nVIDIA-GPU verfügt, sollten Sie Folgendes verwenden:
cd " path-of-your-cloned-rl-trader-dir "
pip install -r requirements.txt
Weitere Informationen dazu, wie Sie Ihre GPU bei der Verwendung von Docker nutzen können: https://github.com/NVIDIA/nvidia-docker
Wenn Sie einen anderen GPU-Typ haben oder einfach Ihre CPU nutzen möchten, verwenden Sie:
pip install -r requirements.no-gpu.txt
Aktualisieren Sie Ihre aktuellen statischen Dateien, die standardmäßig verwendet werden:
python ./cli.py update-static-data
Anschließend können Sie sich einfach die aktuell verfügbaren Optionen ansehen:
python ./cli.py --help
oder führen Sie das Projekt einfach mit den Standardoptionen aus:
python ./cli.py optimize
Wenn Sie über einen Standardsatz an Konfigurationen verfügen, mit denen Sie den Trader ausführen möchten, können Sie eine Konfigurationsdatei angeben, aus der die Konfiguration geladen werden soll. Benennen Sie config/config.ini.dist in config/config.ini um und führen Sie es aus
python ./cli.py --from-config config/config.ini optimize
python ./cli.py optimize
Starten Sie die Vagrant-Box mit:
vagrant up
Der Code befindet sich unter /vagrant. Spielen und/oder testen Sie mit dem Paket Ihrer Wahl. Hinweis: Mit Vagrant können Sie Ihre GPU nicht voll ausnutzen, daher dient Vagrant hauptsächlich Testzwecken
Wenn Sie alles in einem Docker-Container ausführen möchten, verwenden Sie einfach:
./run-with-docker (cpu | gpu) (yes | no) optimize
python ./ cli.py --params-db-path " postgres://rl_trader:rl_trader@localhost " optimize
Die Datenbank und ihre Daten werden lokal unter data/postgres
gespeichert.
Wenn Sie eine Docker-Testumgebung erstellen möchten:
./run-with-docker (cpu | gpu) (yes | no)
Wenn Sie vorhandene Tests ausführen möchten, verwenden Sie einfach:
./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
Während Sie den Agenten einfach mit den standardmäßigen PPO2-Hyperparametern trainieren und ausführen lassen könnten, wäre Ihr Agent wahrscheinlich nicht sehr profitabel. Die stable-baselines
-Bibliothek bietet einen tollen Satz Standardparameter, die für die meisten Problemdomänen funktionieren, aber wir müssen noch besser werden.
Dazu müssen Sie optimize.py
ausführen.
python ./optimize.py
Dies kann eine Weile dauern (Stunden bis Tage, abhängig von Ihrem Hardware-Setup), aber im Laufe der Zeit wird es nach Abschluss der Tests auf der Konsole gedruckt. Sobald ein Test abgeschlossen ist, wird er in ./data/params.db
gespeichert, einer SQLite-Datenbank, aus der wir Hyperparameter abrufen können, um unseren Agenten zu trainieren.
Von dort aus werden Agenten mit den besten Hyperparametern trainiert und später an völlig neuen Daten getestet, um die Verallgemeinerung des Algorithmus zu überprüfen.
Fragen könnt ihr gerne im Discord stellen!
Geben Sie das folgende Snippet in die erste Zelle ein und führen Sie es aus, um RLTrader in eine Google Colab-Umgebung zu laden. Vergessen Sie nicht, die Hardwarebeschleunigung auf GPU einzustellen, um das Training zu beschleunigen!
!git init && git remote add origin https://github.com/notadamking/RLTrader.git && git pull origin master
!pip install -r requirements.txt
Normalerweise wird dies durch ein fehlendes MPI-Modul verursacht. Sie sollten es entsprechend Ihrer Plattform installieren.
Beiträge sind willkommen und ich werde immer mein Bestes tun, um sie so schnell wie möglich in die Bibliothek zu integrieren. Dieses Projekt soll wachsen, während die Gemeinschaft um es herum wächst. Lassen Sie mich wissen, ob Sie in Zukunft etwas sehen möchten oder ob Ihnen etwas fehlt.
Arbeiten Sie an Ihrem ersten Pull Request? In dieser kostenlosen Serie „How to Contribute to an Open Source Project“ auf GitHub erfahren Sie, wie das geht
Möchten Sie Ihre Unterstützung für dieses Projekt zum Ausdruck bringen und ihm zum Wachstum verhelfen?
Gehen Sie zum Nachfolge-Framework: https://github.com/notadamking/tensortrade
Unterstützer: