CloseToAlgoTrading

Читают

User-icon
113

Записи

55

Алгоритмическая торговля с помощью самообущающегося DQN агента.

Аллоха!

В прошлом моем посте, была затронута тема обучения с подкреплением, где была создана среду для торговли, но были использованны ситетические данные. Теперь же, я добавил возможно использовать данные из датафрейма. Теперь же среда представляет из себя 20 значений цен, описанных OHLC плюс обьем.

Для эксперемента было выбранно 200 дней в обучающую выборку и 50 в тестовую. Обучались два DQN агента, один использовал Q-Network, второй Q-RNN-Network. На картинке можно видеть результаты обоих агентов после обучении на 700 итераций.

Алгоритмическая торговля с помощью самообущающегося DQN агента.



Проверялась работа агентов на 80 эпизодах по 10 раз. Как можно видеть агент использующих QRnnNetwork показал вполне себе неплохие результаты. Так что вполне возможно, что при правильной готовке можно получить таки самостоятельного агента, способного торговать не хуже чем сконструированная стратегия.

Кому интересно как создать агента при помощи TF-agents фреймворка, а так же узнать больше деталей, прошу смотреть видео. Код можно найти на гитхабе, ссылка в описании к видео.




Обучение с подкреплением. Торговая среда для агента.

Всем привет.

Продолжаем искать волшебную таблетку :). Так как самим думать не очень хочется, а технологии шагнули довольно далеко вперед и сделали возможным использование нейронных сетей совместно c алгоритмами обучения с подкреплением, решил я попробовать, что же может из этого получиться.

Я создал простенькую торговую среду, которая правда не содержит никаких реальных данных, а содержит всего лишь сгенерированны ряд по 20 значений. 

Выглядят он так:

Обучение с подкреплением. Торговая среда для агента.



Все начинаеся с того, что агенту доступны певые 10 значений, и у нас есть всего 10 шагов, на которых мы должны получить максимальный результат. 
Агенту так же доступны 4 действия: купить, продать, пропустить шаг и закрыть открытую позицию.

По большому счету, агент просто должен запомнить 10 точек и соответсвующие действия, дабы получить максимальную прибыль.

Далее, взяв простого DQN агента, и два разных варианта среды: одна содержит только один сгенрированный ряд, вторая содержит два:

( Читать дальше )

Нужен совет по опционной позиции.

Всем привет… Нужен совет по одной из позиций.
К сожалению не могу картинку показать. Но чисто в теории может кто подскажет.

Немного случайно родилась такая ситуация. Есть некоторое количество акций, они довольно волатильны нынче. Имеется хэджирующие опционы пут и есть проданные опционы колл. Истекают через месяц. Цена акции почти дошла до страйка колл опционов. Там есть еще небольшой запас хода, но судя по тому что нынче на рынке творится, акции явно могу пойти и дальше за месяц то. 

Собственно у меня два варинта .

— докупить скажем колл опцион чуть повыше от проданного и получить еще небольшую прибыль при движении актива дальше вверх, и закрыть все позиции после того как калл опцион исполнят.

— Ничего не делать и и посмотреть дойдет ли цена выше страйка колл, но тогда надо будет что то делать с пут опционом который хэджирует позицию… да бы не терять на нем денег.

Как бы посоветовали поступить, что бы как можно больше денег выжать из такой ситуции?

Поиск точек входа для алгоритма.

Всем привет.
Сей пост скорее поток мыслей, дабы их структурировать, пообсуждать, а возможно и идею интересную почерпнуть, :)
 
Все кто смотрел мои видюшки уже в курсе, что я тиху по малу пытаюсь прикрутить нейронные сети или мл к торговле, и построить прибыльную систему. Начал я конечно с самых азов и подхода в лоб, но как и предполагалось, ничего у не вышло. Так как весь подход построен на сетях которые обучаются с учителем, нам нужны размеченные данные. Всегда встает вопрос, как же нам получить эти метки. Чем на самом деле являются эти метки? Мне кажется слово триггер будет более правильным описанием того что происходит. Мы делаем некоторое предположение, что после некоторого события, цена пойдет в том или ином направлении, на некоторое минимально ожидаемое расстояние, с некоторой вероятностью. По большому счету мы и пытаемся узнать эту вероятность при помощи нейросетей.

Был проведен эксперемент со стратегией на двух скользящих средних. Пересечение средних — это наш триггер, если цена со 100% вероятностью дошла до минимально заданной цели то мы можем искользовать этот триггер. Далее можно посчитать всякого рода статистику, сколько прибыльных, сколько убыточных сделок. Тут никаких нейросети не нужны, посмотрели результат, увидили что ничерта не работает. :) Однако можно пойти другим путем, берем пересечение прямых, и смотрим куда после нашего триггера пошла цена, вверх или вниз, если видим некоторый перекос в результатах, скажем на истории у нас оказалось 60% прибыльных и 40% убыточных сделок, то тут есть уже над чем подумать. Встает вопрос как узнать будет ли сделка прибыльна или убыточна. Вот тут то и можно попытаться использовать нейронные сети, которые нам могут заменить сложные статистические модели. Мы же всегда работаем с предположениями и вероятностями, если мы скормили модели наши данные, и модель, не дай бог, обучилась и смогла в этих данных что то найти, то мы можем смело сказать, что у нас есть зависимость между нашими данными и результатом. Зависимость эта нам не известна, да и не нужно нам ее знать. Эдакий простой метод и не надо нам все эти заумные статистические, математические методы поиска нужного процесса.

( Читать дальше )

Эксперемент: Часть 5. Неудачи. Торговая система на базе глубокого обучения от начала до реальных торгов.

Всем привет. 

Медленно продалжаем копать в строну нейронных сетей. В этом видео я расскажу о некоторых своих неудачах, которые встретились на моем пути :)



( Читать дальше )

Tорговая система на базе глубокого обучения от начала до реальных торгов. Часть IV. TFX продолжение.

Итак, в ходе моего эксперемента, как это часто бывает, я отошел немного в сторону и погрузился в рассмотрение работы TFX pipeline. Что на самом деле довольно не плохо, так как теперь понимаю как он работает.
Однако TFX, как и большинство опен сорс софта, имеет свои проблемы:

  • Как я писал в предыдущем посте, компоненты работают в основном только с тренировочным и оценочным (train, eval) наборами данных
  • Версия TFX 0.15 работает только с estimator API — однако говорят что в версии 0.21 ввели поддержку keras моделей без конвертирования ее в estimator, к сожалению не удалось это опробовать, так как в этой версии они сломали interactive context. Конечно, можно было бы и без него, просто все компоненты загнать в пайплайн, но хотелось, что бы и в ноутбуке все работало. 
  • При использовании keras моделей, так и не разобрался как заставить работать TFMA в полную силу, а штука выглядит забавной. Если кто то в курсе, буду рад совету %).

В общем и целом можно смело использовать все эти технологии, но лучше без интерактивных компонентов. Загоняем все в apache beam и строим модельки, проверяем, лучшие используем :). Думаю простейший метод это простой конвейер с функцией трансформации данных и самой моделью. Остальное можно и проигнорировать для домашнего пользования. 

( Читать дальше )

Наброски торговой платформы использующей IB C++ API.

Всем привет, 

На днях поднималась тема о IB и C++ API. И вот я решил, что пора уж тоже выложить что то на гитхаб :). 

В идеале это должна быть торговая платформа, работающая как под виндой так и под линуксом. Так как весь этот проект развивается параллельно с другим более простым решением, то в нем мало что реализовано. Есть получение данных, возможность выставления различных ордеров и написание своих модулей/роботов которые включают в себя как GUI так и обработку данных (этот пункт на данный момент реализован как то совмем неудачно, думаю его в плагины перенести). В коде есть 'мусорные' модули, это мои эксперементы с qt gui :).

В целом, идея была в том, что бы не линейно, а асинхронно работать с данными, поэтому может показаться все немного запутанным.

https://github.com/CloseToAlgoTrading/IbTradeQtDev

К чему все это. Если вдруг кому интересно, милости прошу :) можно просто брать и довести до ума, можно помочь в разработке, так как сам я еще лет 500 буду это делать )). Все открыто, все бесплатно. По себе знаю, что такие проекты мало кого заинтерисуют, все делают нечто свое, со своим видением, но может найдутся единомышленники.

Ах да, документации на данный момент нет… есть только некоторые наброски. Все в зачаточном состоянии.



Эксперимент: торговая система на базе глубокого обучения от начала до реальных торгов. Часть III. Начинаем работу с TFX

Всем привет, 
если кому-то все еще интресно, мы продолжаем. Ох и медленно длится у меня процесс )

В общем в этом выпуске начинаем работу с тенсорфлоу тфх пайплайном. Стоит сказать что как бы гугл не рекламировал тфх, продук все еще в стадии развития и как только пытаешься отступиться от примеров, возникают некоторые проблемы. 



( Читать дальше )

теги блога CloseToAlgoTrading

....все тэги



UPDONW
Новый дизайн