Alex Klimov · Transcript · · Updated
Машинное обучение в трейдинге / ML trading / Open AI Reinforcement Learning Gymnasium – Transcript
Video by Alex Klimov · Watch the original on YouTube
Summary
AI-generated from the transcript. Verify details against the source video.
- Библиотека гимназиум представляет собой набор средств для искусственного интеллекта от компании openi для обучения с подкреплением и включает специальную среду для трейдинга.
- Для работы среды можно загружать исторические данные свечей, включая загрузку данных с бинанса с помощью встроенного модуля download.
- В документации библиотеки также рассматривается создание среды для агента с несколькими наборами данных для качественной работы алгоритма.

Use this video with Pro
Reading, copying and transcript downloads are free. Create saved AI results for this video with a signed-in Pro account ($9/month).
Transcript
Search ignores accents. All transcript text stays visible.
друзья Всем привет Спасибо что зашли на канал в этом видео с вами посмотрим как работает библиотека для искусственного интеллекта от Open I мы рассмотрим среду для трейдинга трейдинга посмотрим Собственно как вообще запускается этот алгоритм как он работает Если вам нравится такие видео Поставьте лайк Подписывайтесь на наш канал и Добавляйтесь к нам в социальные сети также Если вы зарабатываете торгового робота И вам нужна помощь разработчиков то можете к нам обратиться и мы с
командой поможем вам реализовать ваш проект Итак давайте перейдём в код и посмотрим на библиотеку гимназию Вы знаете что или возможно видели Раньше у нас на канале было видео по библиотеке Джим это набор средств для искусственного интеллекта от Опана и да для обучения с подкреплением но спустя какое-то время как это обычно бывает совсем библиотеками они изменились и теперь собственно библиотека называется гимназию это набор средств для
библиотеки openi который наследует полностью Джим и она написана для работы с обучением креплением здесь есть уже готовые среды то есть вот инвайромент да мы можем посмотреть но для нашей для наших задач именно для трейдинга в библиотеке Джим была среда для трейдинга Да там где можно было выбрать формат акции криптовалюты и Форекс и в
этой среде можно было обучать нашего агента для того чтобы он сам обучался торговать в гимназиум есть Джим Трейдинг инвайромент То есть можно перейти по ссылке и посмотреть Джим Трейдинг 2 элемент Это среда гимназиум для имитации торговли акций и обучение собственно торговых агентов reforce Learning обучение с подкреплением среда была разработана чтобы можно было быстро и удобно настроить Агента который будет обучаться торговать особенность
библиотеки в том что здесь она как бы она заточена под Трейдинг Можно даже скачивать данные собственно мы посмотрим как это реализовано ну есть хорошие документации То есть все описано как это делается понятно что для качественного обучения то есть для использование обученного Агента в торговле мало одних данных например по закрытию свечей Да вы понимаете что если мы загружаем внутрь какие-то индикаторы так или иначе практически все индикаторы они дублируют
данные по свечкам То есть это фактически просто взгляд на одни и те же данные поэтому они мало что дают на самом деле если мы рассматриваем как бы его вариант поэтому А если вы хотите использовать искусственный интеллект то надо озаботиться о том какие именно данные вы будете загружать в него мы на примере посмотрим как это работает с самыми простыми То есть со свечками будем загружать данные закрытия свечей и
посмотрим вообще как это все собственно устроено То есть если мы перейдем в документацию мы можем У нас есть описание Как это работает то есть установка и Давайте по ходу разберемся посмотрим вообще как это все устроено для этого мы перейдем в наш редактор кода я использую Visual Studio Code Вы можете использовать любой удобный вам редактор нам нужно создать папку теперь открыть ее в наши нашей среде создадим новый файл назовем его Main py для
начала создадим виртуальное окружение создать его можно команды python-m Ген и название окружения может быть любым назовем это инваймент и для начала Давайте установим библиотеку если мы перейдем документации Мы видим что здесь команда Pip in стал Джим Трейдинг инвайрами то есть мы сразу устанавливаем нашу среду терминале прописываем эту команду и ставим ее нам на компьютер Итак библиотека установилась и дальше
нам просто нужно импортировать из нашего нашей библиотеки мы импортируем модуль Downloader то есть мы с помощью неё будем получать данные библиотека уже имеет возможность скачать данные То есть это достаточно удобно не нужно подключаться отдельно к бирже чтобы вытащить то есть Поэтому мы импортируем наш модуль и дальше стандартно то есть библиотеки дата тайм и пандас затем
создадим новую директорию дата в эту папку мы скачаем из модуля download скачаем собственно данные по свечкам давайте это сделаем то есть мы Обращаемся к встроенному модулю и укажем например binance то есть получим свечи с бинанса символ возьмем Bitcoin usdt таймфрейм 1 час папку Data и с 1 января 2020 года Давайте сохраним и
проверим создадим ему файл то есть вот идет обращение И сейчас мы должны до папку дата записать собственно файл с данными Вот это произошло вот у нас появился Да кстати Ремарка я буду показывать я показываю редакторе вижу стол Студио код вообще удобно такие вещи делать на серверах например коллаба где вычисления происходят на сервере в принципе компьютер позволяет быстро все делать Поэтому если вы там с ноутбука
например занимаетесь то вообще ресурсов как бы нужно много и Порой даже удобно использовать Облачный серверы Тем более они бесплатные затем просто импорти наши данные то есть мы создадим дата фрейм потому что библиотека Джим Трейдинг warmind работает с дата фреймом то есть вот мы если переходим Да у нас есть установка импорт это мы все с вами сделали Давайте пролистаем Здесь идет описание среды То есть у нас есть Action
Space это пространство действий Да ну тут кстати Она позволяет считать long short и удержание позиции есть возврат То есть как его поощрение до обучения самого алгоритма собственно можем давать пролистаем Посмотрим это библиотека позволяет учитывать сложные позиции то есть помимо там купить продать одно действие например вот Представьте У нас есть депозит например 100 долларов в прошлой среде там по-моему было то что
можно либо купить либо продать то есть одно действие здесь уже можно частично то есть обучать но в том плане что 50 процентов там как в примере продать Или например 10 процентов зайти в сделку не на весь депозит А на его часть Ну и дальше Вот написано как получить рыночные данные то есть мы можем импортировать и да то есть через обычный Get запрос собственно там на binance там же получить можем вот воспользоваться
модулем то что мы с вами сделали вот эту строчку то есть мы из бинан со скачиваем биткоин и наш таймфрейм дальше мы можем создавать функции то есть мы сейчас их сделаем для того чтобы у нас было на чем обучаться алгорит но я повторюсь то что вообще данный самый простые вот по свечам по закрытии практически фактически Это то же самое Мы берем просто сколько там цена была в такой период например и все и на этом основе обучается алгоритм но понятно что для
эффективной торговли это мало данных дальше Вот написано как там запускать среды Давайте перейдем в код Итак мы с вами создадим дата фрейм и загрузим в него наш скачанный файл То есть со свечками можем распечатать посмотреть но в принципе вы здесь тоже вот видно У нас есть Столбцы Open High low cost и все стандартно Да как обычно дается в и дальше нам нужно вот как по документации библиотеке создать функции будут просто
пересчитывать данные по свечам то есть для того чтобы алгоритм смог посчитать Ну то есть предсказать Да и посчитать Правильно ли он предсказывать либо нет поэтому мы создаем новые Столбцы в дата фрейме Future Close Future Open Future High то есть будущее и которые будут просто это отношение где-то вот ну смещение Да где-то просто отношения Хаек клоус и фактически это те же самые данные Но на них будет обучаться наш
алгоритм затем просто удалим все все лишнее Вот и Ну давайте запустим просто посмотрим Да что у нас распечатаем данная дата фрейм Ну вот сейчас Да у нас получается то что каждый раз мы создаем этот файл делаем запрос Поэтому если будете делать в коллабе то это будет создался однажды это фрейм видим что начинается с 20 года и соответственно вот пожалуйста 23 да то
есть сегодняшнее число 19 по сегодняшнее время и вот мы сделали новые Столбцы по которым мы будем обучать Агента Ну то есть как агент будет обучаться и мы будем контролировать и оценивать его эффективность Так у нас есть уже подготовленные данные далее затем мы просто импортируем наш библиотеку до гимназию импортируем нашу среду полностью да Джим Трейдинг инфармит который мы установили нам пай в принципе
мы уже можем запускать нашу среду но там результат каждый будет такой себе И мы можем создать динамические функции Сейчас я покажу в документациях то есть динамическая функция она будет вычисляться до запускаться на каждом шаге и добавлять свои вычисления и затем создадим уже саму среду через Джим мейк Трейдинг Армин да то есть это уже создана среда а выбираем название то есть биткоин доллар отправляя в нее наш
дата фрейм который будет вычисляться и также добавляем в них функции которые дамы прописали также указываем позиции то есть нас будут три позиции минус 0 и 1 Минус один это шорт Ноль это выход из сделки один это Long если у нас есть комиссии да то есть по умолчанию какая-то комиссия стоит Ну давайте вот для теста поставим 0 потому что вообще если там комиссия выставить адекватную то на повторюсь на данных позах про
только по закрытии свечей алгоритм плохо обучится часто он просто переобучается если там неправильно выставить количество операций да то есть если вы просто перегрузить он переобучиться но вот если комиссия 0 простим варианты и посмотрим какой результат будет всего портфеля при этом и далее вот функция возврата добавим пользовательский журналы Custom Lock то есть мы будем добавлять метрики помощью метода после инициализации нашей среды то есть метод
Matrix и мы сможем просто посмотреть возврат и собственно доходность по портфелю Ну то есть Маркет Return то есть Сколько было например рынок Да какой доходность показывает и также посмотрим как наш алгоритм обучился то есть его эффективность создадим добавим к нам в год и теперь нам просто нужно будет запустить среду мы ее сбрасываем да Перед тем как запускаем Давайте сохраним все и посмотрим что так очистим
здесь посмотрим что у нас собственно все это выйдет закомментируем наш дата фрейм сохраним и попробуем запустить запустить среду и посмотреть какой результат будет у алгоритма то есть что он посмотрит видим что данные скачались Да и видим что Маркет Return то есть рыночный возврат доходность 226 процентов но то есть мы купили например биток в двадцатом году да там когда Мы начинали и собственно понятно чтобы он вырос и
видим что наш алгоритм показал доходность 965 процентов понятно что это очень условная и простой тест для того чтобы он работал понятно что нужно загружать данные но тем не менее видим что позиции много надо еще понимать что комиссии маленькая была то есть практически нулевая да то есть если была бы комиссия то результаты были бы на самом деле плохие таким образом вот так работает библиотека если мы почитаем
документации то у нас есть описание Как можно загрузить другие данные переходим а Multi dates invaroment и здесь нам говорится что научились создавать среду для нашего Агента reforcement Learning Да с одним набором данным но как бы как правило один набор данных имеет ограниченный до возможности один набор данных Да здесь документации говорит что он имеет длину около 100 тысяч дата
поинств Но для качественной работы реформленко Агента нужны миллионы шагов то есть понятно что нужно усложнять данные то есть добавлять не только какие-то производные от Ну например от индикатора если мы загружаем то индикатор это иллюзии Да что различные индикаторы помогут там как-то повысить качество потому что индикаторов это фактически просто дублируется данные по
тем же свечкам то есть какая-то формула происходит зависимость там смещение не смещение Не важно усреднение но по сути это одни и те же данные поэтому здесь нужно понимать что загружать туда нужно совершенно другие данные то есть другой природа которая описывает понятно что описывает одно пространство трейдинга Но с другой стороны какие-то банальные те же ордер бук там ленту сделок по-хорошему там рыночные данные то есть там новости даже может туда запихивать и
уже обучать то здесь у нас есть инструкция как это сделать фактически мы просто создаем новые дата сад Dr то есть туда просто загружаем все это таким образом можно будет также запустить среду и потестить посмотреть собственно если вам нравится видео хотите дальше больше видео по этой теме то поставьте пожалуйста видео лайк Подписывайтесь на наш канал Добавляйтесь к нам в социальные сети также Если вы пишете торгового робота И вам нужна помощь в
разработке можете к нам обратиться мы с командой поможем вам реализовать ваш проект также Если вы хотите сами научиться писать разрабатывать торговые алгоритм У нас есть программа обучения сейчас курс идет вполне активно и возможно будет еще потоки Посмотрим как будет по обратной связи поэтому Если у вас есть вопросы Можете описать к нам и спасибо всем за просмотр и до встречи в новых видео