В нашем недавнем обновлении точности прогнозной аналитики Hybrid Intelligence мы кратко обрисовали направление, в котором движется наша команда машинного обучения. В этом посте мы представим более подробный обзор того, над чем работает команда ML.

1. Коллективный разум + ML = гибридный интеллект

Машинное обучение начинается с данных. Мы получаем данные от удивительного сообщества - почти 115 000 интеллектуальных инвесторов анализируют рынок и делают прогнозы на платформе Cindicator. Но чтобы собрать правильные данные, вам нужно задавать правильные вопросы. Вот где начинается магия машинного обучения.

Прежде чем задать какие-либо вопросы о движении конкретных активов, наша аналитическая группа выполняет моделирование методом Монте-Карло более 10 000 раз. Команда машинного обучения вместе с разработчиками Cindicator создала для этого очень удобный сервис и API, который можно использовать на разных платформах Cindicator. Это позволяет нам определить априорную вероятность события и дает нам отправную точку.

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

На картинке выше мы визуализировали пример моделирования Монте-Карло. В этом примере мы хотим задать такой вопрос: «Текущая цена биткойнов составляет 7 190 долларов США. Вырастет ли она до 8 000 долларов США в течение 10 дней? » Текущая цена показана желтой линией (7 190 долларов США), а целевая цена - синей линией (8 000 долларов США). Как видите, разные симуляции дают разные результаты. После объединения всех результатов мы определяем, что априорная вероятность этого события составляет 31% - относительно маловероятное событие. Итак, в этом примере аналитика может скорректировать целевую цену или целевое значение этого вопроса. Кроме того, это априорное значение вероятности можно будет использовать позже в платформе машинного обучения.

2. Проблемы машинного обучения, которые необходимо решить

Итак, мы задали вопросы и собрали множество ответов. Что нам теперь делать с этими данными?

С точки зрения машинного обучения у нас есть три основные проблемы, которые необходимо решить:

  1. Проблема классификации. Это когда нам нужно предсказать вероятность того, что данное событие произойдет. В дополнение к двоичной классификации нам необходимо предоставить вероятность от 0 до 1;
  2. Проблема регрессии. Это когда нам нужно спрогнозировать будущую цену актива, чтобы результат был непрерывной переменной;
  3. Проблема кластеризации. Мы сканируем нашу базу пользователей на предмет выявления ботов и недобросовестного поведения.

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

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

На данный момент мы разработали более 30 различных моделей для различных типов вопросов. Вот несколько примеров используемых нами подходов.

1. Модель на основе теоремы Кондорсе.

Мы сортируем пользователей по точности на основе их предыдущих показателей, а затем в любом конкретном случае модель, основанная на теореме Кондорсе, учитывает только тех пользователей, которые доказали свою правоту более чем в 50% случаев. В результате мы берем среднее значение ответов только от этих пользователей.

2. Модель, основанная на теореме Байеса.

Для каждого пользователя, который участвовал в конкретном мероприятии, мы рассчитываем их априорную вероятность правильного ответа как отношение их предыдущих правильных ответов. Затем на основе ответа, отправленного этим человеком, мы вычисляем условную вероятность (например, учитывая, что этот человек ответил ›0,5, какова вероятность того, что этот человек прав?) Затем, если условная вероятность пересекает определенный порог, мы можем инвертировать ответ этого пользователя. Мы выполняем такие вычисления для каждого пользователя, участвовавшего в мероприятии, и в конце модель возвращает средний ответ.

3. Различные модели ранжирования.

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

Эти модели довольно просты и создают второй слой поверх ответов пользователей в нашей платформе машинного обучения.

3. Сделайте окончательный прогноз.

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

Общая структура выглядит так:

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

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

4. Что в настоящее время находится в разработке

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

1. Анализ настроений

Мы тестируем различные подходы к мониторингу Twitter в режиме реального времени, чтобы предсказывать события черного лебедя на криптовалютных рынках. Идея состоит в том, чтобы использовать обработку естественного языка (NLP) для быстрого определения важных новостей, которые могут двигать рынок. Это поможет нам предвидеть резкое повышение волатильности.

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

2. Чистый ML для рыночных данных

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

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

3. Различные архитектуры нейронных сетей.

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

Наше исследование продвигается к разным архитектурам нейронных сетей, которые могут принимать различные типы входных данных - не только прогнозы аналитиков, но также рыночные данные в реальном времени и настроения в социальных сетях, - чтобы объединить их и сделать точный прогноз. Интересно, что для таких задач мы можем использовать сверточные нейронные сети и генеративные состязательные сети (GAN) или автоэнкодеры.

Каждую неделю в своих колонках Выходные Data Scientist и GAN of the Week руководитель группы ML Алекс Осипенко делится примерами того, как некоторые из этих и других интересных моделей Работа.

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

Использованная литература:

  1. Приближение мудрости толпы
  2. Агрегация информации, рациональность и теорема жюри Кондорсе
  3. Введение в скрытые марковские модели
  4. Байесовские сети
  5. Краткий обзор нейронных сетей с прямой связью
  6. Надежная прогностическая модель для прогнозирования цен на акции
  7. "Технический анализ"
  8. Глубокие инвестиции на финансовых рынках с использованием моделей глубокого обучения
  9. Влияние данных микроблогов на прогнозирование фондового рынка: использование Twitter для прогнозирования доходности, волатильности, объема торгов и индексов настроений
  10. Твиттер настроения предсказывает фондовый рынок