Марат

Читают

User-icon
36

Записи

37

NLP, сантименты, фондовый рынок.

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

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

Вот мы и добрались до Америки. Накладываем паттерны там.

Мой переход к программированию и машингленинг (случилось это где то год с небольшим), отчасти был связан с мыслями глянуть, а что там в забугорье творится. Проходить опять тот же путь ручного перелопачивания, что я прошел на отечественном рынке, понятно дело не хотелось. Но то котировок не было, то еще чего то, и вот наконец то дошли ручки до Америки, тем паче робот для автоматического скачивания котирок есть, модели для тестирования есть, осталось только пуско-наладочные работы.
К слову, по поводу выкачки американских внутридневных котирок через Питон не все так просто оказалось, как казалось раньше. Google Finance ограничивает скачивание часовиков 730 днями (а ниже — еще меньше), у Yfinance я вообще внутридневных не нашел. Была большая надежда на AlphaVantage, но и там ограничение на intraday в несколько дней. Еще и данные в каком то месте оказались кривыми, на что я даже написал кляузу им в поддержку, на что мне ответили что так и надо, это все «adjusted close» и закрыли тему. Так что у кого есть какие то секретные места, где все это можно быстро выкачать — делитесь.

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

Накладываем патерны друг на дружку.


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




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



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

Паттерны на 60 минутках

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

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

Немножко о паттернах, с помощью питона.


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

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

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

Мои "значки на танчиках"

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

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

CNN+wavelet = blue stocks forecast

После использования вейвлетов для классификации, я конечно сразу попробовал оценить ценность вейвлет для прогнозирования, но тестирование мягко говоря затянулось. Эпох я прогонял много, 600, а одна эпоха это минута. И оставляя нейросеть на ночь я забывал, то одно, то другое. Затем я стал пробовать разные learning rate, датасеты, архитектуры и обнаружилось что тот самый позитивный первоначальный результат (в виде 55% accuracy на валидации и over +75% на тесте) исчез, сеть не могла зацепить ничего, даже на тесте. В пятницу я решил в последний раз прогнать сеть и уже с 50 эпохи сеть начала уверенно обучаться. Обьяснение тому что на том же наборе данных, одна и та же сеть, то обучается, то необучается, у меня одно — каждый раз нейросеть начинает блуждать по гиперплоскости функции ошибки с разных мест, и при одном наборе весов застревает в зоне локальных минимумов, которые чуть-чуть лучше 50%, не в силах перескочить в область более низких минимумов. 
Данные все те же — голубые, отечественные. Тестирую на недельках, прогноз на недельку вперед. 

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

CNN+wavelet

Займемся бессмыслицей. Никакого прогнозирования, просто попробуем методами вейвлет преобразований и CNN ответить на вопрос — есть или нет разница в цикличности при росте фишки и падении? Эллиот чертил 3 волны вверх и 2 вниз. Давайте почертим и мы.
Данные я взял недельные, от понедельника до пятницы, но с разбивкой по 15 минуткам, итого ряд в 175 элементов. Судя по прошлым результатам, мизерная длина, и никакой цикличности там нет. Но...«а вдруг?!». Ну а разбивка недельная, в надежде уловить недельную цикличность, все таки понедельник это «день тяжелый», пятница это «тяпницы», четверг это маленькая пятница. В общем каждый день недели уникален и помню какие то корреляции/антикорреляции даже были, вроде пятница и понедельник шли вразрез, а четверг и пятница шли вместе. Впрочем точно не помню.
Каждому ряду в 175 отчетов я присвоил лейбл (1 рост, 0 падение). Ряд прогнал через вейлет преобразование, получив квадратную картинку. Все это добро загнал в CNN и стал ждать чего нейросеть намутит. В теории, после вейвлет преобразования, на полученной картинке, не должно быть никакого намека на то росла фишка или нет. Следы наличия тренда присутствуют, но какого именно не указывается. Хотя это не точно. А вот точно что должны быть следы цикличности, и если при росте и падении цикличность разная то точность классификации должна быть больше 0,5… Хотя это не точно.  Ну нам жалко чтоли, попробовать? Пуская нейросетка крутит колесико. Крутило колесико нейросеть долго....:

CNN+wavelet



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

Еще о торговле по частотам

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

Еще о торговле по частотам
Опять уже привычный период в 220 (годовая периодичность), который тянется до 2500 отчета. Ну если быть точней он меняется, начал с 220, потом опустился ниже, затем вернулся обратно, но мы люди не гордые, упростим ситуацию, будем считать период константой.
Опять накладываем гармонику с годовым циклом и получаем что то вроде:

Еще о торговле по частотам

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

Частоты на фондовой бирже. Часть1.

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

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

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

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

теги блога Марат

....все тэги



2010-2020
UPDONW