В статье предлагается использовать глубокую нейронную сеть, многослойный перцептрон, для предсказания краткосрочного тренда временного ряда SPY, а также отдельных наиболее ликвидных акций входящих в индекс S&P500.. Предложенная нейронная сеть иметь пять слоёв. Для избегания переобучения после 1-го и 2-го слоёв сделано исключение 50% (dropout 0.5). Слои являются полностью связанными (fully-connected). На вход подаётся вектор цен длительностью шестьдесят предыдущих минут и значение тренда 60х1. Слои имеют 500, 200, 40, 20, 2 нейронов. В качестве функции активации скрытых слоёв выбрано ReLU, функцией активации выходного слоя выбрана функция softmax. Период обучения D и период прогнозирования Т выбираются при помощи метода перекрёстной проверки (Cross-validation). Метод обучения нейронной сети – end to end.

На in-sample если считать без комиссии - шарп 3-4. После всяких оптимизаций удалось получить шарп ~2 с учетом комиссий. Однако на out-of-sample результат нулевой. Воспроизвести нормально результаты статьи не удалось даже близко. Возможно что-то делали не так.

В статье предлагается использовать нейронную сеть прямого распространения для предсказания временного ряда индекса NASDAQ. В качестве способа тренировки используется метод обратного распространения ошибки. Для обучения используется техники сопряжённых градиентов (SCG), алгоритм Левенберга — Марквардта (LM), одноступенчатый (OSS), градиентный спуск с адаптивной скоростью обучения (GDA), градиентный спуск с momentum (GDM). На вход подаётся значения индекса за 4 или 9 девять предыдущих дней, а также день недели. В качестве критериев выборки модели использовались R2 и MSE. Для случая 4х дней в качестве функций активации использовались TANSIG, PURELIN, LOGSIG. Для сети с 20-40-20 нейронами в скрытых слоях наиболее эффективным оказался метод OSS и функция TANSIG. Для последних метода и функции проверены различные конфигурации сети. Для случая 9ти дней наиболее эффективными оказались метод OSS и функция LOGSIG. В данном случае наилучшей оказалась конфигурация 20-40-20.

Тестирование показало околонулевую доходность

Автор тестировал стратегии по покупкам инсайдеров. Скачал с Edgar за 11 лет 2.5 млн записей, обработал - оставил 650к записей о действиях инсайдеров, прогнал через random forest (что использовал как предикторы - не раскрывает). Отранжировал результаты и получил кросс-сектионал доходность за 3 мес (тестовая выборка) 3.09% (как я понимаю 12.36% годовых).

 

Исследуется возможность торговли акциями при предсказании на основании твитов (stocktwits.com). StockTwits позволяет маркировать твиты Bearish или Bulish. Собственно, самая простая стратегия - берем твиты по тикеру с прошлого открытия до текущего открытия и считаем S-Score=(#Bullish-#Bearish)/(#Bullish+Bearish), затем нормализуем (считаем z-score). Чувствительность меняется базовым периодом Z-score. Открываем на открытии, закрываем на закрытии. Используем бумаги с ценой>5$. Пороги подбирали индивидуально под акции. Если брать верхнюю квартлиь тикеров по объему - шарп 1.24  , если вся совокупность шарп 2.11 

Второй сценарий использования автор применяет в компании Social Market Analytics - считают sentiment scores с использованием машинного обучения (Natural Language Processing) - какую используют не раскрывают. Затем взвешивают сентимент экспоненциально. Далее акции делятся на квинтили на основании S-Score в отношении вселенной акций в этот день. Формируют лонг позицию из акций, которые в верхнем квинтиле и шортовую, из акций нижнего. Шарп 4.5. 

Несложная стратегия формированию оптимального портфеля. Используется 12 етф: 

  • U.S. Stocks SPY
  • International REITs RWX 
  • European Stocks VGK
  • U.S. Intermediate Treasuries IEF 
  • Japanese Stocks EWJ
  • U.S. Long-Term Treasuries TLT 
  • Emerging Markets Stocks VWO
  • Commodities DBC
  • U.S. REITs VNQ
  • Gold GLD
  • U.S. Technology* QQQ
  • U.S. High-Yield Bonds* HYG

Далее формируем случайным образом 20 портфелей с весами акций [0.02...0.25] или 0. Сумма весов д.б. равна 1. Затем максимизируем шарп каждого портфеля с использованием генетических алгоритмов. Шарп измеряем на диапазоне полгода. На ETF получаются шарп 1.01. 

Кроме ETF был протестирован примерно аналогичный подход для акций NASDAQ-100 плюс QQQ, только с базовым периодом= месяц. Шарп получился 1.18.  Автор еще рекомендует использовать в качестве фильтра VIX/VIXMT или схожий механизм, чтобы находиться в позиции во время спокойного рынка, но особого увеличения шарпа нет.

Анализируется возможность предсказания цен акций  с использованием нейронных сетей (deep neural networks) и анализа новостей. Соответственно, в качестве предикторов используется цена и ряд данных контент-анализа:

  • Bag of keywords (BoK): Сформированы ключевые слова и проверяется их наличие в статье;
  • Polarity score (PS): связывается влияение ключевых слов и изменения цены;
  • Category tag (CT): перечень категорий, которые могут быть индикаторыми определенных событий (слияния и т.п.).

Далее все это загоняется в нейронную сеть и формируется прогноз. На всех этих предикторах доля ошибок получалась 43.13%.

Дополнительно строились корреляции между компаниями и оценивалось влияние новости одной компании на связанные - для акций с корреляцией больше 90% доля верных предсказаний 52.44%

Пример использования машинного обучения для торговли. Анализировалось поведение контрактов ZF (5 лет облиг) и ZF (10 лет облиги). Обрабатывалась трендовая составляющая - разница цены и скользящих средних (недельных и двухнедельных). В работе использовалась deep belief network, состоящая из машин Больцмана. Результат прогнозирования использовался для бэктеста, время удержания позиции 5 дней. Результаты: нормальной статистики доходности не дается, шарп судя по графику очень неплохой (больше ~2). Средняя годовая доходность ок. 2.8% (не забываем что это облигации).

В статье описывается воздействие новостей компаний на доходность. Показано, что направление дневной доходности может быть предсказано статистически значимо, при компьютерном анализе новостей. Использованы алгоритмы state-of-the-art text analysis. Анализировали формы 8-К - сообщения компаний о существенных событиях. Определяли по моделям Latent Dirichlet Allocation (тулбокс доступен)и прогоняли через random forest. Результат: out-of-sample угадывается 55% направлений доходности (рост/падение).