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

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

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

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

Проблема

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

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

Рис. 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. Мне интересна тематика автоматизированного принятия решений по торговле и инвестированию, в том числе с применением нейронных сетей. Считаю, что за этой технологией будущее. Если у кого то будет желание пообщаться, можно писать мне здесь или по контактам, указанным ниже.

Контакты:

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

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

рынках!

44
реклама
разместить
27 комментариев

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

1

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

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

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

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

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

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

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

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

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

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

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