Постов с тегом "Machine Learning": 51

Machine Learning


Практическое использование RF на российском фондовом рынке.

Так как  насчет практического применения ML? Как вообще это выглядит?!
 А выглядит это так, что 80% времени data scientist тратит на работу с данными, чтобы потом загнав их в модельку мобильно получить прогноз.   Вообще, предполагалось что такой мощный инструмент как нейросети сможет работать с сырыми данными, то есть загонишь в нейросеть обычную котировку, а дальше могучие нейроны похимичат, сгенерируют кучу фичей и найдут нужную их комбинацию (на самом деле никаких фичей нейросети на создают, но можно представить). Ну вот например такое явление как большой ГЭП, важный показатель? Еще какой! В сырых данных он содержится, то есть можно помечтать что если мы создадим очень сложную нейросеть, то она сможет вытащить это значение самостоятельно. Что такое ГЭП нейросеть конечно не знает, но путем манипуляций с весами она найдет, что когда меняется циферка в дате то образовавшийся большой разрыв в цене имеет большое влияние для хорошей аппроксимации.
 Мечты, мечты. Пока все что я видел в результате скармливания нейросети сырах данных-это слезы, боль и убожество. В общем мы пойдет другим путем. Мы не будет скармливать модели сырятину и мусор, мы постараемся кормить его качественно чтобы удои увеличивались и все такое.
Есть такое понятие как в ML как feature engenering. Наверно единственное более менее креативное что остается человеку в этом бездушном мире машинного обучения. А уж коли мы ведем речь о RF, то сам бог велел заняться этим, RF знаете ли не нейросети, там даже теоретически сырятина в данных не приветствуется. Вот этим мы и займемся.
 Откуда же нам взять эти фичи и главное как? Тут каждому воля вольная. Например можно сдув пыль с WealthLab использовать старичка как генератора фичей. Кто не знает в него вшито около полусотни известных индексов и еще столько же, но с неизвестным кодом. А еще можно запрограммировать свои фичи. По своему «знанию и разумению», своих «знаний и разумений» я накопил много, но почти все они из разряда «все эти технические индикаторы не стоят ничего». Зато кое что из своего показали свою небезнадежность. В общем на первый случай я сгенерировал около 17 своих фичей, затем ранжировал их для каждой стоки, итого 34 фичи. Стоки брал из числа 20 самых ликвидных отечественных фишек с 2010 года по март 2018, что дало 50 тысяч дневных наблюдений. Прямо сказать не густо, но что есть. Тем более речь идет о демонстрации силушки RF.
 Вот набор моих фичей:

Week               49303 non-null int64
GEP                49303 non-null float64
Min10              49303 non-null float64
Cl/High            49303 non-null float64
Cl/Low             49303 non-null float64
Cl/w_High          49303 non-null float64
Cl/w_Low           49303 non-null float64
wdif               49303 non-null float64
dif                49303 non-null float64
Vol20/Vol200       49303 non-null float64
tHigh%             49303 non-null float64
tLow%              49303 non-null float64
tHigh%-tLow%       49303 non-null float64
Cl/SMA21           49303 non-null float64
Cl/SMA5            49303 non-null float64
SMA5-SMA21         49303 non-null float64
Cl/(minSMA)        49303 non-null float64
Cl/(maxSMA)        49303 non-null float64
l_Min10            49303 non-null int64
s_Min10            49303 non-null int64
l_gep              49303 non-null int64
s_gep              49303 non-null int64
l_cl/high          49303 non-null int64
s_cl/high          49303 non-null int64
l_cl/low           49303 non-null int64
s_cl/low           49303 non-null int64
l_wdif             49303 non-null int64
s_wdif             49303 non-null int64
l_SMA5-SMA21       49303 non-null int64
S_SMA5-SMA21       49303 non-null int64
L_Cl/(maxSMA)      49303 non-null int64
S_Cl/(maxSMA)      49303 non-null int64
L-tHigh%-tLow%     49303 non-null int64
S_tHigh%-tLow%     49303 non-null int64


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

Модные приговоры

Оке. Что именно я сгенерировал?!
Как я уже писал мое видение рынка это меняющиеся периоды случайного блуждания со вспышками какой то детерминированности, которые трейдер стремящийся к извлечению профита (а не чего то там еще) и должен торговать.

А как вообще подход в торговле я использую? А тут нужно вспомнить тех самых отцов-учителей которые лет 20 назад изрядно наследили на просторах инета. Атаман, Юра.… всех не упомнишь, но и не важно. Их конкретные подходы для российского фондового рынка оказались бесполезны, зато подход оказался понятным, логичным и что самое главное подходящими для меня. То есть сидишь ты такой с компьютером в обнимку, чего то там считаешь, ищешь закономерности (неэффективности, тут каждый может назвать как захочет), а затем исходя из предположения что эта закономерность продлится еще какое то время, начинаешь использовать на рынке. В чем природа возникающих закономерностей интересна для тех кто хочет понять суть рынка, а тем кто хочет просто рубить бабло наверно не очень. Но если откинувшись в кресло немножко пофантазировать можно вспомнить о таких природных явлениях имеющих числовые оценки как «золотое сечение»,  персистентность, толстые хвосты, нормальное распределение. Можно пофантазировать на тему что толпа (а фондовый рынок хоть он и фондовый прежде всего рынок, то есть толпа людей)  в какие то критические моменты ведет себя шаблонно. Что есть какие то переходы в разные состояния рынка которые можно обсчитать. Что гуру и всякие теханализы с волнами Элиота создают паттерны поведения итп итд. Все это заполировать понятиями точка бифуркация, нелинейность, хаос… а можно на все это плюнуть и просто искать закономерности. Это не требует ни ума, ни какой то прозорливости или образования. Это как искать в куче сена иголку-кому то повезет и он найдет ее сразу, кому то нет, он будет искать ее долго, может всю жизнь, ну а кто то вообще не найдет. Все само собой IMXO.



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

Как я использовал модные методы прогнозирования на фондовом рынке.

Лет 20 назад была модной темой нейросети, и в частности в приложении к прогнозированию на фондовом рынке.  Вообще, нейросети были придуманы в далеких 60 прошлого века, но как это часто бывает от теории до реализации прошли многие году. Если нейросети в других сферах нашли свое место, то о применении нейросетей для успешного трейдинга я честно говоря не слышал. Этому может быть два обьяснения-для фондовых рынков неросети неприменимы (вообще или пока), либо кто сумел их правильно применить, по понятной причине не стал писать об этом кандидатские, а ничтоже сумняшеся стал рубить бабло.

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

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



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

Data Labeling. Разметка данных для моделей машинного обучения.

Приветствую комерады! :) 

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



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

CloseToAlgotrading: Еще один пример того, как мы можем улучшить нашу торговое окружение!

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

В прошлый раз, некоторые участники smart-lab'а скептически отнеслись к докеру, в этом случае он нам тоже очень пригодиться, что бы легко и быстро запустить сам Tensorflow serving.

В общем смотрим :) комментируем.



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

Поиск похожих паттернов

Написал бота для поиска похожих паттернов. Работает он примерно так:

1. Берет котировки крипты
2. Ищет похожие паттерны по всей доступной истории (около 4 лет, по некоторым парам меньше)
3. Считает метрики и гипотетическую buy эквити
4. Иногда выкладывает интересные ситуации в телеграм канал.

Похожую штуку я использую для отбора амеростоков, с той разницей, что там поиск идет по часовикам, а на крипте поиск идет по 5 минуткам. Под капотом смесь пары алгоритмов ML, написано это преимущественно на Go и частично на Python. Юзайте в общем, может будет полезно.

Ниже пара примеров паттерна и совпадений на истории.
Поиск похожих паттернов
Поиск похожих паттернов

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

Обучение с подкреплением (код)

Интересный код, для тех, кто в теме.


Это подборка различных RL алгоритмов в реализации для трейдинга. Если пишете свой алго, возможно, тут есть что позаимствовать. Код, понятное дело, на Python.  Для тех, кто не знает, что такое reinforcement learning — погуглите, это действительно крутая штука. Имхо, это единственная технология machine learning, которая может дать что-то стоящее в трейдинге. Порог входа достаточно серьезный, но дорогу осилит идущий:)

Часть, которая завязана на принятии решении, сильно упрощена, но это реально неплохая стартовая точка.

....все тэги
UPDONW
Новый дизайн