Machine Learning. Kaggle соревнование по предсказание цен по американским акциям от Хедж фонда "Two sigma". Мой опыт участия.

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Добрый день мои маленькие любители машинлернинга:) Наконец нашел время написать по теме.

Только что закончилось интересное соревнование на Каггле проходившее почти год, в котором я принимал участие и благополучно попал в Топ 1% и занял 20 место. https://www.kaggle.com/c/two-sigma-financial-news/leaderboard .

Machine Learning. Kaggle соревнование  по предсказание цен по американским акциям от Хедж фонда "Two sigma". Мой опыт участия.
Если кто не в курсе про Kaggle, это такая соревновательная площадка, принадлежащая гуглу, на которой различные компании ставят задачи связанные с анализом данных, и датасайтесты со всего мира соревнуются кто лучше решит. Похоже на наш ЛЧИ, только по машинлернингу. Призовой фонд на каждое соревнование как правило 10-100 тыс. долларов. (в этом конкретном было 100 тыс.). Одновременно проходит 5-10 соревнований.Суть всех заданий примерно одна, участникам дают трэйн выборку, с известной целевой переменной и тестовую выборку без целевой переменной, которую надо предсказать.Хедж фонд «Two Sigma» в этом соревновании поставил следующую задачу: необходимо предсказать для каждой американской акции, на сколько она будет лучше или хуже рынка, значение может принимать значение в диапазоне [-1,1] — это и есть целевая переменная, Score соответвенно меряется как усредненное значение по всем акциям и по всем дням, разницы между реальными значениеми и предсказанными целевой переменной из тестовой выборки. Подробней можно почитать здесь https://www.kaggle.com/c/two-sigma-financial-news/overview/evaluation.Что дано? Даны два датасета, первый — торговые данные в формате OHLCV по каждой акции за период с 2007 года по 2018 года, второй — новостные данные за этот период, причем новостные данные уже агрегированны по каждой акции по новизне и сентименту, т.е. весь анализ новостей уже сделан компанией Two Sigma. Все данные примарно 11 млн. строк. Дополнительные данные, помимо этих, использовать для тренировки модели запрещено.Что нужно делать? Необходимо было, полностью в облаке (у них называется kernel) написать программу, которая на вход принимала бы все эти  данные, а на выходе давала модель, кот. дает прогноз изменения цены конкретной акции относительно широкого рынка. Это прогноз соответственно дается на тестовой выборке которую мы не знаем, потому как тестовые данные организаторы брали из будующих цен. Т.е. модель нужно было сдать в декабре 2018, а тестовая выборка была с января по июль 2019. 

Как решали?.. Основные модели которые использовали участники это деревья, в основном XGBoost и LGBM. Также были те кто использовали нейронные сети и регресии. Те кто использовал исключительно тех анализ и прочую ересь типа волн эллиота, оказались в  ж… Лично я выбрал одиночную LGBM без стакинга, потому как время выполнения всей модели, вместе с обучением было ограничено двумя часами. Очень мало добавил новых фич по причине сильного переобучения, в итоге оставив только около 50. Также большее внимание я уделил валидации в итоге использовав для обучения только треть всех данных, в основном последние. От многих идей связанных с использованием внешних данных пришлось отказаться с ними скор был лучше, но могли дисквалифицировать.

Что работает, что нет? Главным фактором при решении подобной задачи на таком таймфрейме, является валидация. Все кто использовали периоды высокой волатильности для обучения своих моделей, остались далеко позади, не потому что модель плохая, а потому что распределение трэйн и тест выборки сильно отличались. Сэнтимент при прогнозировании цен на 5 дней не имеет значимости и только переобучает модель. Поэтому стоить пропускать мимо себя аналитику типа «сегодня вышла такая новость, значит завтра рынок пойдет туда» — это не работает.

Выводы: Задача прогнозирования цен на 5 дней, при условии данных OHLCV и готового сэнтимента не является классической задачей машинного обучения, легко переобучается и постоянно меняет распределение, и соответственно плохо поддается прогнозированию. Но при этом все остальные методы работают еще хуже. Профи кот. обычно занимают все первые места на соревнованиях по машинному обучению, не попали даже в 20 лучших. Для компании «Two Sigma» это скорей всего окажется опцион вне денег.

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

Источник: smart-lab.ru

Комментарии: