-
Notifications
You must be signed in to change notification settings - Fork 0
Articles
Ivan Skorokhodov edited this page Jan 6, 2017
·
4 revisions
В статье ребята напилили систему, которая предсказывает тренды по новостям. Выступали с ней на KDD-2000. Одна из первых статей на тему.
Данные
- Взяли ~38 000 новостей с Yahoo по 127 компаниям на интервале 10.1999 - 02.2000. Компании выбирали по доступности новостей.
- Взяли котировки за тот же период с интервалом в 5-10 минут.
Как создавали признаки
- Сначала выявили "тренды" — небольшие интервалы, на протяжении которых курс достаточно хорошо описывается линейно. Делали это с помощью сегментированной регрессии следующим образом: шагали по всему временному ряду окном длиной в 10 точек (~1 час), разбивали его каждый раз пополам, и каждую половинку приближали линейной регрессией. Потом смотрели на разницу между наклонами прямой слева и прямой справа — и если она была достаточно большой, делали "разлом". Если сделали разлом, то потом рекурсивно пробовали сломать каждую половинку. Таким образом они превратили временной ряд в дискретные тренды.
- Потом на основе трендов выявили сегменты побольше (каким-то хреном с помощью кластеризации). За 1,5 месяца по Yahoo вышло 16 сегментов, "интересных" (быстро растущих или падающих) из которых — 11. Говорят, по остальным компаниям картина такая же.
- С новостями не игрались.
- В один объект данные объединяли следующим образом: брали тренд, брали N-часовой интервал до начала тренда и заявляли: "каждая новость из этого интервала породила наш тренд". Таким образом получились пары вида {новость, тренд}. В качестве значения N использовали 0, 1, 5, 10. Лучше всего зашло для N = 0.
Как обучались
- TODO
Как проверялись и итоги
- Торговали виртуальными деньгами во время 40-дневного периода. Акции Yahoo купили-продали 570 раз. Покупали всегда на $10 000. Для одних компаний оказались в значительном плюсе, для других — в значительном минусе. В среднем вышли в плюс на $20 000. Но, если у них было так много шекелей, что они покупали каждый раз на $10 000, то, возможно, деньги можно было вложить и получше.
- Трейдинговая стратегия была простая: покупаешь на $10 000, через час продаешь. Если в течение часа есть вариант получить +1% — продавали сразу. Похожим образом защищались от падений. Аналогичная ситуация с опционами.
- Прогнали 1000 раз случайные покупки по той же трейдинговой стратегии с похожим распределением. В среднем вышел минус на $9 000.
Разное
- Пробовали обучать универсальную модель, предсказывающую для всех компаний — получилось хуже раза в два.
- Смущает, что stdev по компаниям получился высокий для всех вариантов обучения.