Блог им. afecn19 |Практическое использование нейросетей на рынке 2. На примере трансформеров.

  Таки собрался дописать вторую часть своих результатов применения трансформеров для предсказания на российском фондовом рынке. Может и хорошо что не спешил, так как пафос первой части о трансформерах дающих какие то уникальные результаты по сравнению с другими архитектурами нейросетей, оказался несколько преувеличенным, по крайней мере LSTM дал вполне сравнимый результат с трансформерами. Потом я попробовал градиентный бустинг, дерево решений и вновь получил схожий результат. Так что подавайте в нейросеть правильные признаки и многие модели покажут положительный результат. Тем не менее, раз я начал с трансформерах, и так как их архитектура хорошо отражает рынкок, о них и продолжу. 
  Для любителей вопросов о «таймфреймах, на чем обучал, какие акции, что в качестве таргета, какие параметры, время удержании позиции» итп итд. Акции МосБиржы, из числа наиболее ликвидных. Данные у меня с 2011 до 2021 (и это увы необходимость, так как именно с 2011 года время работы биржи стало 9 часов). Прогнозы строил следующим образом — выкидывал один год (это out-sample), а из оставшихся делал разбивку на train и test. Таким образом получил 10 одногодичных прогнозов. Для меня важно получить доходность на сделку пусть поменьше, но чтобы прибыльность подтверждалась на как можно большем диапазоне, и на всех акциях. Такое чтобы для каждой акции своя модель — для меня неприемлемо. И само собой никаких убыточных годов, как минимум. Знаю многие меняют системы каждые 3 года и для них это нормально, я предпочитаю вылавливать аномалии которые работают десятилетиями. Тут я никого не учу, рынок сам рассудит.    



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

Блог им. afecn19 |О фундаменте замолвим слово.

В последнем посте я попробовал оценить в качестве предикторов показатели деятельности компаний, и кое что вполне так оказалось не бесполезным. Теперь воспользуюсь макроэкономическими показателями. Как пишут заграничные авторы — «вдохновила на это меня этот текст», правда лицезрение кода погрузило меня не печаль, у меня, который  ни разу не программист, из глаз потекла кровь глядя как автор все это оформил, кашмаар.
Для меня неясен вопрос когда данные OBDE становятся общедоступными — через месяц, через два, через три...?! Судя по сайту, сейчас уже выложены данные за март, однако непонятно окончательные ли они, или (как это часто бывает в западной статистике) предварительные, и они еще несколько раз будут пересмотрены. Поэтому я приведу 4 соотношения данных и изменения котировок — месяц в месяц, и с разрывом в 1, 2, 3 месяца. Показателей много, но пока наиболее интересным (как и у автора вышеуказанного текста) выступает CLI — composite leading indicator, то есть опережающий, что нам для прогноза самое то. Есть разные CLI, приведу разбивки по Amplitude adjusted (CLI) 'OECD + Major Six NME':

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

Блог им. afecn19 |О ценности экономических показателей американских компаний для трейдинга.

В конечно счете вся работа алготрейдера сводится к поиску предикторов и раз я научился что то там программировать на Питоне, парсить и нашел сайт где можно выкачать фундаментальные данные по американским компания за 10 лет, то почему бы не глянуть на зависимость котировок от этих самых показателей. Я этого никогда не делал, так как на заре своей трейдерской деятельности подражал трейдерам, которые о фундаментальном анализе отзывались весьма пренебрежительно. И сейчас никаким фундаментальным анализом я конечно не займусь, я оценю так сказать на глазок, полезность фундамента самым простым способом — возьму год, возьму какую то конкретную отрасль и разобью массив на 3 группы, в зависимости от того относились ли индикаторы деятельности к числу лучших, худших или средних. И гляну по усредненным данным насколько отличалась динамика акций у трети лучших по сравнению с третью худших. 
Взял за 10 лет, акции входящие в нынешний SP500, показателей около 60. Получил такое:
О ценности экономических показателей американских компаний для трейдинга.

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

Блог им. afecn19 |NLP, сантименты, фондовый рынок.

Решил покопаться в парсинге и сантиментах. То бишь пишем код, который цепляется к какому то сайту, выкачивает оттуда новости, а затем на ее основе делаем сантимент анализ и строим какие то прогнозы. Полистал иностранную литературу (на русском ничего не нашел, если у кого есть ссылки — кидайте), и нашел 2 схемы оценки сантиментов для фондовых рынков. Первое это Natural Language Processing, которые на основе ЛИНГВИСТИЧЕСКОГО анализа оценивают текст — позитивный он, негативный, или нейтральный.  Вторая схема — когда ты читаешь новости и вручную ставишь лейблы — позитивные это новости для фондового (или какой то конкретной бумажки) или негативные. А затем векторизация и уже на новых новостях железный болван ставит лейблы сам. Из прочитанного мною, нигде в заключении вроде не писали о каких то позитивных результатах, но чтобы не стоять на месте и узнать что, то новое, разобрать эту тему все равно будет полезно.
Все что я пишу очень сыро и пишу в том числе чтобы самому структурировать для себя эту новую тему и получить отклик от людей которые этим занимались.

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

Блог им. afecn19 |Накладываем патерны друг на дружку.


Ну… такое 62 паттерна. Каждый протестить проанализировать, тем более что никакого особого профита они не несут, не очень то и интересно. Решил глянуть что будет если не в отдельности. Например, есть какой то паттерн на дневках, который показал стабильные результаты за последние лет 15. Ну там профиты не то чтобы высокие, но срабатывал паттерн часто и каждый год по 0,1% на сделку, но блин, стабильно, без минусов. А на часовиках такая же скромная система, но тоже стабильная, ровная по годам и фишкам. И на 15 минутках. Вот что если все их обьединить. Курочки по зёрнышку клюют. 
Схема поулчилось такая.
1. 62 паттерна прогнал по 15 минуткам, часовикам и дневкам.
2. Выбрал из них те которые показали профитность на сделку более +0,25 и сработали ну хоть раз 50 (лонг, шорт — не важно).
Получил что то вроде этого:
Накладываем патерны друг на дружку.




3. Для каждого момента времени и фишки посчитал количество сработавших паттернов (0 — ничего не сработало, 1 — один сработал, 2 — два разных паттерна сработало, или одинаковых, но на разных фреймах итд ).



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

Блог им. afecn19 |Паттерны на 60 минутках

На 15 минутках вроде была парочка интересных паттернов, но рассудив что на 60 минутках их будет еще больше, пошел тудысь. Вообще, завозился с этими паттернами, хотя казалось используя питон, да еще и при готовой библиотеке — знай только на разны таймфреймах загоняй котировки в цикле и смотри результат. Вот с оценкой результатов и возникли проблемы. Какие критерии взять? В общем все свелось к ручному просмотру результатов применения тех или иных паттернов. Так что в качеств нейросети работал самая что ни на есть нейросеть-человеческий мозг. Стремился я к стабильности по годам и симметрии.
Отобрал я те что получше и решил прикинуть насколько они вообще годятся для реальной торговли. И тут оказалось что они часто пересекаются с теми системами что я уже использую, и если убрать дни когда я и так в рынке, то для оставшихся дней результаты использования паттернов скромны. Так что по второму циклу я запустил тестирование паттернов для периодов когда мои системы были пассивны. И оказалось что если раньше вполне такими рабочими на 60 минутках казались пара десятков, то сейчас речь идет о 5-6, да и их результаты… ну такие. 

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

Блог им. afecn19 |Немножко о паттернах, с помощью питона.


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

С 0,06-0,07% на сделку особой каши не сваришь, комиссиии, проскальзывания, спрэды сожрут больше (впрочем я не специалист, может кто на тикерах сидит по другому оценят все это) однако привлекло меня другое — для всех лет и для всех фишек не было ни одного убыточного года, а винрейт 63% для шорта и 57% для лонга.   Такое я люблю. Ну а то что профит не велик, ну так это 15 минутки, далеко ли фишка убежит за 15 то минут? Убрав дублирование (это когда в одно и то же время срабатывают сигналы больше чем по  фишке) получаем по 6000 сделок в год по +0,089%  в лонг и + 0,074% в шорт. В последние годы профитность падала, но если перемножить, все равно выходим на сотни процентов годовых. Осталось только найти план без комиссий и научиться торговать без проскальзывания. И если с ликвидными фишками торговлю без проскальзований еще можно как то представить, то с каким нибудь Аэрофлотом… пупок развяжется.

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

Блог им. afecn19 |Мои "значки на танчиках"

Лет 12 назад, когда я впервые ковырял тему нейросетей на фондовой бирже, прочитал как кто то облапошился обучая нейросеть распознавать танчики. Нет, сеть результат показала, но как оказалось на картинке с танчиками был какой то значок, а где танчиков не было, значка не было и нейросеть научилась распознавать не танчики, а наличие отсутствие вот этого значка. Запомнилось мне это наверно, потому что это было единственное, что я тогда понял о нейросетях. 
И вот теперь я поймал свои «значки», когда пытался предсказать динамику, на основе CNN+вейвлетпреобразований. Тут подробней. Нет я не заглядывал в будущее, и не так знак поставил где то. Я не стал нормализовывать цены, ибо считал что для CNN не важно все это, картинки они ведь и в Африке картинки, и вот так выглядит картинка вейвлетпробразования для ВТБ с ее копеечными ценами за акцию и Норникель, с его десятками тысячами рублей за акцию:
Мои "значки на танчиках"

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

Блог им. afecn19 |Частоты на фондовой бирже. Часть1.

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

Вот например такой ряд — немножко похожий на котировку застрявшей в боковике акции.
Частоты на фондовой бирже. Часть1.

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

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

Блог им. afecn19 |Чем проще тем лучше.

Прошлый пост был на модную тему, но с пфуком на выходе, для баланса запостю результаты использование старого доброго градиентного бустинга, с не пфуком на выходе. Использовал 6 наиболее ликвидных фишек, что не просто, фишки маловолатильные.  Период с 2006 по 2020 год, по схеме: прогноз 2010 года на основе данных 2006-2009, прогноз 2011 год на основе 2006-2010, 2012 на основе 2006-2011… итд. 
Так как показатели roc_auc_score, confusion_matrix, accuracy_score нас как трейдеров мало интересует, нас интересует потенйциальный гешефт, переводим сразу все в финансовые результаты, а именно профитность сделки. 
Получилось что то вроде этого:

Чем проще тем лучше.
Это все сделки, но их надо почистить, убрать сдвоенности. Допустим у вас за день 10 сделок выскочило, в разное время, но находясь в момент срабатывания первой сделки вы не в зная будут ли сегодня еще сигналы, совершаете сделку сразу на все. Или например на 2 фишки сработал сигнал одновременно. Но реально то сделка будет одна, так к чему нам вместо 1 реальной сделки рисовать две? Поэтому в следующей таблице уже представлены не сделки, а средняя профитность дней и их количество. 

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

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