Skip to content

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 по компаниям получился высокий для всех вариантов обучения.
Clone this wiki locally