{"id":14284,"url":"\/distributions\/14284\/click?bit=1&hash=82a231c769d1e10ea56c30ae286f090fbb4a445600cfa9e05037db7a74b1dda9","title":"\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u0430\u043d\u0446\u044b \u0441 \u0441\u043e\u0431\u0430\u043a\u0430\u043c\u0438","buttonText":"","imageUuid":""}

Поиск аномального поведения, кризисов и коррекций на рынках с применением нейронных сетей

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

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

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

Проблема

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

Рис. 1. Месячный график S&P500

Все кризисы, коррекции и прочее с точки зрения торговли и инвестирования в Long являются аномалиями. На рис. 1. Жёлтым приведено аномальное поведение рынка по индексу S&P500. Кризис 2008, короновирус, иные проблемы могут привести как к анормальному поведению финансового инструмента в отдельности, как целого сектора экономики, так и всего рынка в целом. То, что написано в статье ниже применимо как для отдельных компаний, так и для отраслей и рынка. В качестве примера будет рассмотрено детектирование аномалий с применением нейронных сетей на базе индекса S&P500.

Факторы аномалий

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

Рис. 2. Месячный график S&P500

Первое и самое простое – это технические причины. У компании, отрасли или рынка в целом может не быть фундаментальных или иных причин для коррекции, но следует понимать трейдеры и инвесторы фиксируют прибыли, ребалансируют свои портфели, и всё это неизбежно приводит к волатильности на рынке. Увидел трейдер или инвестор возможность, и переложился в другую компанию. И на рынке может не быть каких-то кризисов, или позиции, которые зафиксированы трейдерами или инвесторами фундаментально себя показывают плохо. Это также могут быть растущие компании, которые вполне себе не плохо себя чувствуют.

То есть, нужно понимать, что одним из точно анализируемых факторов является сам рынок. Цена котировок того или иного инструмента или данные технических индикаторов.

Тем не менее, у кризисов и коррекций может быть вполне себе фундаментальная причина. Давайте взглянем на компанию American Airlines (AAL) (рис. 3).

Рис. 3. American Airlines, котировки, выручка, P/E ratio

Вы видите сами как поменялись фундаментальные показатели компании в кризис. Границы закрыты, самолёты не летают => Падение выручки и изменение P/E. Конкретно в данном случае оно отрицательное на графике в связи с убытком. Но оно может быть и сильно задрано по отношению к своим средним значением. То есть, когда выручка и прибыль падают, а инерционность рынка держит значения котировок в какой-то области, то P/E растёт. И соответственно, как вы, так и другие инвесторы и трейдеры, понимания влияние фундаментальных показателей на движение котировок принимают решение и сокращении, выходе из позиции и пр.

То есть, вам важно контролировать и фундаментальные показатели, и фундаментально оценивать компанию по различным факторам.

Но если посмотреть на ту же компанию AmericanAirlinesна рис. 4, то вы видите лаг между выходом отчетности и началом коррекционного движения??

Рис. 4. American Airlines, котировки, выручка, P/E ratio

Инвесторы и трейдеры принимают решения не только на основании технического и фундаментального анализов. Это может быть как понимание текущего контекста, так и настроений других инвесторов. Взгляните на рис. 4, еще ничего не известно о проблемах, на сколько серьёзен убыток, но инвесторы УЖЕ сокращают свои позиции. Почему?? Это страх. У людей есть понимание, что границы закрываются, самолёты летают всё меньше, они видят поведение и настроение других людей, и соответственно также принимают решения.

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

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

Рис. 5. Взаимосвязь эмоционального настроя трейдеров и инвесторов (верхний график) и котировок криптовалют (нижний график)

Как вы видите из рис. 5, есть корреляция между настроением инвесторов и курсом котировок. То есть, если вы хотите комплексно оценивать риски, то важно оценивать и этот фактор.

Но факторов для анализа как компании и отраслей, так и рынка в целом можно привести большое количество. Вот некоторые из них. Например, анализ платёжеспособности. Этот фактор справедлив как для компаний, так и для физических лиц. Например, для физических лиц можно анализировать долю просроченных кредитов. Чем больше просроченных кредитов, тем ярче сигнал о финансовых проблемах у людей. Банально, людям нечем платить. То есть, очевидно текущее и будущее снижение спроса. Или тоже самое применительно к компании. Анализ доли просроченных выплат по облигациям.

Рис. 6. Показатели платёжной дисциплины компании Трансаэро

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

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

Рис. 7. Фьючерс на рулонную сталь

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

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

Подход к решению

В данной статье будет рассматриваться решение детектирования аномалий с применением автоэнкодеров.

Рис. 8. Общая структура автоэнкодера, взято из статьи

Что такой автоэнкодер?? Взгляните на рис. 8. Это такая нейронная сеть, которая состоит из 3- частей. Левая часть энкодер, правая часть декодер и центральное место их пересечения, которое всегда сужено. За счёт этого сужения, задача автодекодера получить обобщенную функцию вашего контролируемого показателя.

Рис. 9. График работы автоэнкодера

Автоэнкодер обучается только на хороших данных (учитывайте это в разметке и датасете). Взгляните на рис. 9. Верхний график это котировки и показания автоэнкодера. Снизу отклонение (это может быть среднеквадратическое или иное отклонение). Красным показана линия котировок, а зелёным расчётные значения автоэнкодера. Когда автоэнкодер видит нормальные значения, которые были в его обучающей выборке, то он адекватно построит функцию, и отклонения будут небольшими. Но если возникает аномалия (самая правая часть графика), то автоэнкодер будет продолжать пытаться построить график так как он был обучен. И само собой в случае аномалий будет получено значительное расхождение, так как подобных случаев не было в обучающей выборке. Сами аномалии можно контролировать по некому пороговому значению отклонения, выше которого события будут определяться как аномалия.

Рис. 10. Пример порогового значения отклонения для детектирования аномалии

Здесь же хочу отметить преимущества данного подхода по детектированию аномалий. Инвестирование и торговля на фондовом рынке это ответственный процесс. Вы не можете себе позволить сливать огромное количество денег для обучения ваших моделей детектировать аномалии. Автоэнкодер, как вы уже заметили выше, обучается ТОЛЬКО на положительных случаях. Ему не нужно обучаться на отрицательных случаях. И в связи с этим, он очень быстро может быть готов к работе.

Датасет

Как я уже сказал выше, мы оценивать индекс S&P500 будем только технически в качестве демонстрации по двум параметрам. Будем оценивать движение котировок и OBV.

Мы рассматриваем торговлю и инвестиции в Long, поэтому из датасета выбрасываем все коррекционные движения, детектированные по EMA3, EMA9, EMA20. Пример выброшенных из датасета временных рядов вы можете видеть на рисунке ниже.

Рис. 11. Пример исключённых временных рядов из датасета

Датасеты можно скачать здесь.

Результат работы автоэнкодера

Скрипт автоэнкодера можно скачать здесь.

Давайте посмотрим на результаты работы автоэнкодера.

Рис. 12. Показатели точности обучения автоэнкодера для цены закрытия

Рис. 13. Результат работы автоэнкодера для котировок S&P500

Обращу ваше внимание, что данный результат для общей (не обучающей выборки, в которую включены коррекции, кризисы и прочее). Результат вы видите сами. График сверху это реальные котировки и расчёт автоэнкодера. Результат снизу погрешность, по которой детектируются аномалии.

Давайте взглянем поближе.

Рис. 14. Малые коррекционные движения

Рис. 15. Большие коррекционные движения

Давайте посмотрим на результат обучения автоэнкодера для OBV.

Рис. 16. Показатели точности обучения автоэнкодера для OBV

Рис. 13. Результат работы автоэнкодера для OBV S&P500

Рис. 14. Результат работы автоэнкодера для OBV S&P500 локально

На рис. 13 и 14 сверху приведены значения OBV, а снизу погрешность. Увеличение погрешности означает, что инвесторы и трейдеры начинают сокращать свои позиции.

Если мы суммируем погрешности, то получаем следующее:

Рис. 15 Суммарное значение погрешности автоэнкодеров по цене закрытия и OBV

Обратите внимание на область на рис. 16.

Рис. 16. Суммарное значение погрешности автоэнкодеров по цене закрытия и OBV с выделенной областью кризиса

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

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

Заключение

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

Контакты:

Всех благ, побед и

успехов на фондовых

рынках!

0
27 комментариев
Написать комментарий...
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

А вообще, я ещё добавлю, мне видится, что если вы не способны ждать несколько секунд, то не очень то вам и нужно. Я никого не заставляю ничего делать. Не нравится?? Идите к конкурентам. Рынок и мир огромные, благо сейчас есть выбор.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

В данной статье я не продаю услуги своего стартапа и то, что написано в статье с ним не связано. Это первое.

У меня с моего телефона на сайт зашло за две секунды. Может быть дело не во мне а в вас?? Может быть вам пора купить новый телефон или интернет, чтобы у вас всё нормально работало?? Это второе.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

Нет, тут нет времени. Здесь совершенно другой принцип.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

Здесь нейронная сеть обучается восстанавливать небольшие кусочки функций. Здесь нет генерации сигналов, прогнозирования или ещё чего-нибудь.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

Порциями отвечу вам в разных комментариях.

"И так на свежую голову.
1. У вас есть датасет состоящий из значений котировок (котировка в тик).

2. Вы а) выбрасываете все нисходящие тренды и масштабируете данные к единой размерности.

3. На этих данных вы выдаете предсказание поведения функции в будующем"

Смотрите. Логика работы данной системы следующая. ЗДЕСЬ НИЧЕГО НЕ ПРЕДСКАЗЫВАЕТСЯ. Это первое что нужно понять.

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

При этом, вы должны понимать. Что если взять электростанцию, то вы не можете взорвать несколько из них разными способами, чтобы получить данные об аномальных значениях, которые приводят к краху, поломке, снижению показателей и пр. в любой системе. У вас есть ТОЛЬКО положительные значения. И вы рассчитываете ОТКЛОНЕНИЯ от нормально работающей системы. И по данным отклонениям вы и принимаете решения.

То есть, у вас нет прогноза. Вы оцениваете ТЕКУЩУЮ ситуацию и её отклонение от нормальных значений. Суть метода и называется, детектирование аномалий. Не предиктивная аналитика.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

Когда вы детектируете аномалии на временных рядах фондового рынка, вам нужно сформировать такие датасеты, которые вы считаете нормальными.

Например, вы торгуете на недельном графике. И вас не интересует часовая волатильность. У вас одна разметка. Вы долгосрочный инвестор, у вас другая разметка. Вы контролируете по ряду показателей, у вас третья разметка.

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

Ответить
Развернуть ветку
Аполлон Степанов
Автор

"П.с. Хорошая практика подписывать графики или давать аннотации, что бы читатели не втыкали, что там изображено.

4. Без каких либо предисловий и разъяснений вы переносите данные на кривую OBV"

Я описываю то, что нужно для понимания в статье. Тот кто читает статью, а не смотрит на картинки не имеет вопросов. Я всё очень просто и популярно объясняю.

Что касается OBV. То вы, наверное не до конца поняли. Я указывал на различные причины кризисов, коррекций и прочего. Причём, разные из них показывают разное. OBV приведен как индикатор сокращения позиций инвесторов для демонстрации, а не с целью показать вам как нужно создавать наиболее эффективные подобные системы. Это не диссертационная работа и я не создаю для вас систему за деньги. Если вам нужна подобная система, вы можете сделать её самостоятельно выбрав любые другие критерии оценки.

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

Ответить
Развернуть ветку
Аполлон Степанов
Автор

"5. Предсказываете и сравниваете с реальными данными

6. Если отклонение (не важно какое) реального графика и предективной функции больше порога, то это считается аномалией."

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

"расчетное значение это и есть предсказание или другими словами некое значение функции полученное математическим моделированием исходя из исторических данных"

Я вам еще раз повторяю. То, что вы говорите - это предиктивная аналитика. В данной статье ЭТО НЕ ИСПОЛЬЗУЕТСЯ. В данной статье рассчитываются отклонение по ТЕКУЩИМ данным. Это НЕ ПРОГНОЗ. Это расчёт ожидаемого поведения относительно ТЕКУЩЕГО контекста, а не расчёт ожидаемого поведения будущих периодов.

Вы говорите об одном и том же уже в который раз, и я уже который раз говорю, что это не так.

Привожу простой пример.

Вы взяли N баров начиная с последнего. И для ЭТИХ ЖЕ САМЫХ N баров вы рассчитываете ожидаемое поведение. Вы не строите прогноз вперед на месяц, год и прочее. Это не предиктивная аналитика. Это нельзя назвать прогнозом. Прогноз это когда вы даёте какое-то заключение на будущее. Здесь этого нет.

Здесь есть функция контроля.

Вы знаете что такое метрология?? Как делается заключение о годности изделий?? Даётся допуск на чертеже. Это ожидаемое значение. Это НЕ ПРОГНОЗ. А есть контролируемое значение. И они сравниваются.

Здесь тоже самое. Есть ожидаемое значение, есть реальные данные рынка.

Ответить
Развернуть ветку
Аполлон Степанов
Автор

"Что бы статья была добротной
1. Не хватает пары бизнес кусков, которые помогут понять читателям о чем вообще речь и трансформировать математику в бизнесс-аналитику. Нужна серьезная работа команды по разъяснениям"

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

Серьёзная работа стоит и времени и денег. Я свою прошлую диссертационную работу делал 8 лет.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

Торгово-инвестиционные системы это сложные продукты. Сложные и взаимосвязанные между собой.

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

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

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

И это понимают все. Всё нормальные люди. И тот же ФРС поэтому сделал всё, чтобы не допустить обвала рынков в кризис.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аполлон Степанов
Автор

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

Я вот смотрю данные по объему активов ИИС на 2021 год от Мосбиржи. Это всего лишь 286 миллиардов рублей. А оборот 149 миллиардов рублей. По сравнению с оборотом мосбиржи: "Объем торгов на рынке акций за три квартала 2021 года достиг 20,8 трлн рублей. По итогам всего 2020 года этот показатель равнялся 23,9 трлн рублей.", - это почти несущественная величина.

Ответить
Развернуть ветку
Николай Петров

Похоже на молитвы с графиками и сложными формулировками.
Кому-то может и понравится их содержимое, мне было бы интересно узнать выхлоп

Ответить
Развернуть ветку
Аполлон Степанов
Автор

Конкретно данная технология не является основной для генерации сигналов для торговли и/или инвестирования, а является вспомогательной, которая позволяет детектировать значительные коррекционные настроения на рынке. К ней нельзя предъявлять требования по доходности.

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

У меня есть статья про торговых алгоритм на базе НС, который даёт до 10% в месяц. Но, если говорить честно, там есть к нему вопросы, и его нужно дорабатывать.

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

Ответить
Развернуть ветку
24 комментария
Раскрывать всегда