لقد تباطأ تطوير هذه المكتبة، لصالح العمل على TensorTrade - وهو إطار عمل للتداول مع RL: https://github.com/notadamking/tensortrade
إذا كنت ترغب في معرفة المزيد حول كيفية إنشاء هذا الوكيل، فراجع مقالة Medium: https://towardsdatascience.com/creating-bitcoin-trading-bots-that-dont-lose-money-2e7165fb0b29
لاحقًا، قمنا بتحسين هذا الريبو باستخدام هندسة الميزات والنمذجة الإحصائية والتحسين بايزي، راجع ذلك: https://towardsdatascience.com/using-reinforcement-learning-to-trade-bitcoin-for-massive-profit-b69d0e8f583b
سيرفر الديسكورد: https://discord.gg/ZZ7BGWh
مجموعات البيانات: https://www.cryptodatadownload.com/data/northamerican/
لينكس:
sudo lspci | grep -i --color ' vga|3d|2d ' | grep -i nvidia
إذا أدى ذلك إلى إرجاع أي شيء، فمن المفترض أن يكون لديك بطاقة nVIDIA.
أول شيء عليك القيام به للبدء هو تثبيت المتطلبات. إذا كان نظامك يحتوي على وحدة معالجة الرسومات nVIDIA، فيجب عليك البدء باستخدام:
cd " path-of-your-cloned-rl-trader-dir "
pip install -r requirements.txt
مزيد من المعلومات حول كيفية الاستفادة من وحدة معالجة الرسومات الخاصة بك أثناء استخدام عامل الإرساء: https://github.com/NVIDIA/nvidia-docker
إذا كان لديك نوع آخر من وحدات معالجة الرسومات أو كنت تريد ببساطة استخدام وحدة المعالجة المركزية الخاصة بك، فاستخدم:
pip install -r requirements.no-gpu.txt
قم بتحديث ملفاتك الثابتة الحالية، والتي يتم استخدامها افتراضيًا:
python ./cli.py update-static-data
بعد ذلك يمكنك ببساطة رؤية الخيارات المتاحة حاليًا:
python ./cli.py --help
أو ببساطة قم بتشغيل المشروع بالخيارات الافتراضية:
python ./cli.py optimize
إذا كان لديك مجموعة قياسية من التكوينات التي تريد تشغيل المتداول عليها، فيمكنك تحديد ملف تكوين لتحميل التكوين منه. أعد تسمية config/config.ini.dist إلى config/config.ini وقم بتشغيله
python ./cli.py --from-config config/config.ini optimize
python ./cli.py optimize
ابدأ تشغيل صندوق المتشرد باستخدام:
vagrant up
سيكون الكود موجودًا في /vagrant. العب و/أو اختبر مع أي حزمة تريدها. ملاحظة: مع vagrant، لا يمكنك الاستفادة الكاملة من وحدة معالجة الرسومات الخاصة بك، لذلك يكون ذلك بشكل أساسي لأغراض الاختبار
إذا كنت تريد تشغيل كل شيء داخل حاوية عامل إرساء، فما عليك سوى استخدام:
./run-with-docker (cpu | gpu) (yes | no) optimize
python ./ cli.py --params-db-path " postgres://rl_trader:rl_trader@localhost " optimize
قاعدة البيانات وبياناتها موجودة ضمن data/postgres
محليًا.
إذا كنت تريد تدوير بيئة اختبار عامل الإرساء:
./run-with-docker (cpu | gpu) (yes | no)
إذا كنت ترغب في تشغيل الاختبارات الموجودة، فما عليك سوى استخدام:
./run-tests-with-docker
./dev-with-docker
conda create --name rltrader python=3.6.8 pip git condaactivate rltrader conda install Tensorflow-gpu git clone https://github.com/notadamking/RLTrader pip install -r RLTrader/requirements.txt
على الرغم من أنه يمكنك فقط السماح للوكيل بالتدرب والتشغيل باستخدام معلمات PPO2 الفائقة الافتراضية، فمن المحتمل ألا يكون وكيلك مربحًا للغاية. توفر مكتبة stable-baselines
مجموعة رائعة من المعلمات الافتراضية التي تعمل مع معظم مجالات المشكلات، ولكننا بحاجة إلى تحسينها.
للقيام بذلك، سوف تحتاج إلى تشغيل optimize.py
.
python ./optimize.py
قد يستغرق ذلك بعض الوقت (من ساعات إلى أيام اعتمادًا على إعداد الأجهزة لديك)، ولكن بمرور الوقت ستتم طباعته على وحدة التحكم عند اكتمال التجارب. بمجرد اكتمال التجربة، سيتم تخزينها في ./data/params.db
، وهي قاعدة بيانات SQLite، والتي يمكننا من خلالها سحب المعلمات الفائقة لتدريب وكيلنا.
ومن هناك، سيتم تدريب الوكلاء باستخدام أفضل مجموعة من المعلمات الفائقة، ثم اختبارهم لاحقًا على بيانات جديدة تمامًا للتحقق من تعميم الخوارزمية.
لا تتردد في طرح أي أسئلة في الديسكورد!
أدخل المقتطف التالي وقم بتشغيله في الخلية الأولى لتحميل RLTrader في بيئة Google Colab. لا تنس ضبط تسريع الأجهزة على وحدة معالجة الرسومات لتسريع التدريب!
!git init && git remote add origin https://github.com/notadamking/RLTrader.git && git pull origin master
!pip install -r requirements.txt
عادةً ما يحدث هذا بسبب فقدان وحدة mpi. يجب عليك تثبيته وفقًا للمنصة الخاصة بك.
يتم تشجيع المساهمات وسأبذل قصارى جهدي دائمًا لتنفيذها في المكتبة في أسرع وقت ممكن. يهدف هذا المشروع إلى النمو مع نمو المجتمع المحيط به. اسمحوا لي أن أعرف إذا كان هناك أي شيء ترغب في رؤيته في المستقبل أو إذا كان هناك أي شيء تشعر أنه مفقود.
هل تعمل على طلب السحب الأول؟ يمكنك معرفة كيفية المساهمة في مشروع مفتوح المصدر على GitHub من هذه السلسلة المجانية
هل تريد إظهار دعمك لهذا المشروع ومساعدته على النمو؟
توجه إلى الإطار اللاحق: https://github.com/notadamking/tensortrade
المؤيدون: