«Прошлое движение цены может предсказывать её будущее направление!» — учёные из Journal of Financial Economics

Это вторая статья из моей серии исследований финансового рынка с помощью кода.
В прошлый раз я проверил правило четырёх недель Ричарда Дончиана из книги Джона Мэрфи «Технический анализ фьючерсных рынков».
Спойлер
Результат оказался неприятным. Прочитать первую часть (Если вы любите это книгу лучше не читайте)
На этот раз я решил пойти другим путём.
Хватит старых книг. Обратимся к науке.
Научная работа с многообещающим результатом
В 2012 году в Journal of Financial Economics вышла работа Time Series Momentum.
Авторы — Тобиас Московиц, Яо Хуа Оои и Лассе Педерсен — исследовали 58 фьючерсных и форвардных инструментов и обнаружили признаки того, что прошлое движение цены помогает предсказывать последующую доходность.
Идея на удивление простая.
Берём инструмент. Смотрим, вырос он за предыдущие 12 месяцев или упал. Если вырос — покупаем. Если упал — занимаем короткую позицию.
Через месяц пересматриваем решение.
Никакой магии. Никаких тайных уровней, которые видны только людям с тремя мониторами и бессонницей.
История цен. Простое правило. Математика.
Сохранилась ли эта закономерность спустя годы?
Для начала я решил посмотреть, что случилось с опубликованными результатами Time-Series Momentum после 2009 года.
Взял доступный ряд месячных доходностей стратегии и проверил период с 2010 года по январь 2025-го.
Получилось +4,89% средней годовой доходности.
На отрезке 2020 — январь 2025 года результат снизился до +2,64%.
Эффект ослаб, но не исчез.
Всё бы ничего, только обнаружилась проблема.
Передо мной была общая доходность стратегии, а не история всех её сделок по отдельным инструментам.
Я мог посмотреть, сколько заработала стратегия. Но не мог на этих данных полноценно разобраться, почему она заработала.
Значит, понадобились другие данные и собственный эксперимент.
Собираем портфель
Я остановился на исследовательском наборе из пакета trendfollowing: 84 фьючерсных контракта, история с 1959 года до 10 июля 2026-го.
В пакет входили:
фондовые индексы,
облигации,
валюты,
энергоносители,
металлы и сельскохозяйственные товары.
Важно учитывать, что история каждого инструмента начинается в разное время. Поэтому в 1959 году доступных рынков было значительно меньше, а по мере продвижения к современности их число увеличивалось.
Это уже не точное повторение оригинальной работы: другие данные, другой набор рынков и собственная модель торговых расходов. Но основные положения стратегии остались.
Прежде чем писать код, я зафиксировал правила эксперимента:
Берём предыдущие 12 месяцев, определяем направление сделки, держим позицию следующий месяц.
Размер позиции тоже рассчитывается заранее: чем сильнее цена инструмента колебалась в прошлом, тем меньшую позицию открывает алгоритм. Это помогает уменьшить влияние особенно резких рынков на общий результат портфеля.
Никаких изменений правил после просмотра результатов, чтобы подобрать себе более красивую доходность.
Итак, поехали.
Код отработал. Результаты порадовали
Я сравнил два периода.
Период | Средняя годовая доходность | Sharpe |
|---|---|---|
1985–2009 | +18,00% | 1,33 |
2010 — июль 2026 | +5,87% | 0,48 |
Здесь приведена средняя доходность модельного портфеля за год, рассчитанная по месячным результатам, после базовых торговых расходов. Это не реальная прибыль на брокерском счёте.
На старой истории результат впечатляющий. В современной — значительно скромнее.
Но положительный.
Ну что, можно бежать в банк, снимать накопления и нести всё на брокерский счёт?
Я бы не спешил.
Потому что положительная доходность в прошлом ещё не означает, что стратегия будет зарабатывать завтра + рынок может измениться + я ещё не добавлял расходы.
И есть ещё одна неприятная особенность у этой стратегии.
В 2020 году в том же Journal of Financial Economics вышла работа Time Series Momentum: Is It There?.
Её авторы обнаружили любопытную вещь: трендовая стратегия может приносить прибыль, но показывать почти такой же результат, как гораздо более простое правило, которому вообще не требуется прогноз по предыдущим 12 месяцам. То есть не понятно: это критерии нашей испытуемой торговой стратегии зарабатывают или просто совпадение других факторов.
Это мы проверим чуть позже, а сейчас добавим расходы.
Краш-тест
Увеличил их расчётный уровень вдвое. Стратегия осталась прибыльной.
Увеличил втрое. На современном периоде всё ещё получалось +4,41% годовых.
Затем посмотрел результаты отдельных контрактов.
60 из 84 показывали положительную среднюю доходность при отдельной проверке на современных данных.
Ну вот, подумал я. Наконец-то проверка, после которой не хочется немедленно отправлять стратегию на кладбище алгоритмов.
Но оставался вопрос: действительно ли алгоритм удачно выбирает направление или похожий результат можно получить случайно?
Для этого у меня был ещё один тест.
Три тысячи случайных соперников
Я создал 3000 вариантов портфеля. В каждом программа случайно решала, покупать или делать ставку на падение. При этом использовались те же инструменты, даты и абсолютные размеры позиций.
В современном периоде до торговых расходов оригинальная TSMOM (Time Series Momentum) получила +6,60% в год.
Медианный результат случайных вариантов оказался около нуля.
Ни один из 3000 вариантов не превысил результат оригинальной стратегии.
Получалось всё интереснее.
Стратегия зарабатывала после расходов. Выдерживала их увеличение. Показывала положительные результаты на большинстве отдельных рынков. А теперь ещё и обошла три тысячи случайных соперников.
Но случайный выбор направления — не самый сильный противник.
Если какой-то рынок на длинной дистанции чаще растёт, случайные ставки на его падение могут только мешать зарабатывать.
И тогда я решил выяснить одну простую вещь.
А кто вообще принёс нашей стратегии деньги — покупки или продажи?
Где деньги, Лебовски?
Оказалось, что за период с 2010 года по июль 2026-го покупки давали в среднем +8,51% годовых до расходов, а ставки на падение, наоборот, отнимали 1,91 процентного пункта.
То есть основную прибыль обеспечивали покупки.
И тут возник вопрос.
А зачем мы вообще пытаемся предсказывать направление рынка?
Что, если оставить те же инструменты, те же правила расчёта размеров позиций, но полностью отказаться от прогнозов?
Никаких поисков тренда. Никакого анализа предыдущих 12 месяцев.
Просто всегда покупать.
И если такой примитивный алгоритм заработает не меньше нашего научного, что тогда мы вообще проверяли?
Самый скучный соперник
Я решил добавить нашей стратегии соперников.
Первый — Always Long.
Он вообще не пытается предсказывать направление рынка.
Просто постоянно держит позиции на рост по доступным инструментам. При этом размер позиций рассчитывается тем же способом, что и в TSMOM (Time series momentum).
То есть мы убираем прогноз, но оставляем основные правила построения портфеля.
Второй — Historical Mean.
Это уже немного хитрее.
Ведь постоянная покупка — довольно грубая альтернатива. А что, если определять направление не по последним 12 месяцам, а по средней доходности инструмента за всю доступную к этому моменту историю?
Если средняя положительная — покупаем. Если отрицательная — открываем позицию на падение.
Никакого анализа именно последнего года.
Получается, один алгоритм вообще не выбирает направление, а другой выбирает его без нашего трендового правила.
Если оба окажутся не хуже TSMOM, у меня возникнет очень неудобный вопрос к первоначальной гипотезе.
Я сравнил их на периоде 2010 — июль 2026 года после базовых расчётных торговых расходов.
И вот что получилось.

Я посмотрел на результаты.
Потом ещё раз.
Всё это время мы проверяли стратегию, которая пытается предсказывать направление рынка на основе предыдущих 12 месяцев.
Она зарабатывала. Выдерживала испытания. Превосходила случайные направления.
А теперь выяснилось, что портфель, который вообще не использует этот прогноз, показал доходность выше.
Неплохо мы сходили за научным преимуществом!
И по коэффициенту Sharpe простые соперники выглядели убедительно: 0,65 у Always Long, 0,64 у Historical Mean против 0,48 у TSMOM.
Но объявлять Always Long безусловным победителем нельзя.
Во время самых сильных падений стоимости портфеля он терял до 33,08% от предыдущего максимума, а TSMOM — до 20,45%. И в целом результаты Always Long колебались сильнее.
Дополнительная статистическая проверка тоже не позволила уверенно утверждать, что TSMOM хуже: полученная разница могла объясняться особенностями исследованного периода.
Но и убедительных доказательств того, что сам 12-месячный прогноз даёт преимущество перед простыми соперниками, я не получил.
Что осталось после исследования
Результаты я зафиксировал, исследование завершил.
Статус: CLOSED — самостоятельное устойчивое преимущество сигнала не подтверждено.
Это не означает, что все трендовые стратегии бесполезны, и не опровергает исходную научную работу.
Просто в нашем эксперименте прибыльность стратегии и способность её правил предсказывать рынок оказались разными вопросами.
Да и стоимость открытых контрактов в среднем превышала капитал нашей модели в 8,3 раза и реальные ограничения торговли полностью не проверялись.
Можно было продолжить менять период расчёта, добавлять новые условия и искать настройки, которые дали бы более красивую доходность. Но это были бы уже новые варианты стратегии, подобранные после знакомства с результатами. Для их подтверждения понадобилась бы независимая проверка на других данных.
Поэтому на этом остановился.
Полный исследовательский проект на GitHub: протокол, Python-код, результаты, графики, Excel-книга и проверка воспроизводимости расчётов, включая описание обнаруженного расхождения в одном вспомогательном результате.

Об авторе
Разработка · ИИ · Исследования
Занимаюсь самостоятельными исследованиями, разработкой программ и автоматизацией. Все проекты собираю в GitHub-портфолио.
Ранее на Хабре:
Как я уделал Microsoft, но это никому не нужно (кайфую сам) — история создания Jupiter, программы голосового ввода текста для Windows.
Старый трейдер поделился секретом заработка. Я проверил с помощью кода. Удалось заработать? - можно ли заработать на рынке фьючерсов, взяв стратегию из известной книги
Послесловие.
Когда я начинал, мне казалось, что задача простая.
Есть гипотеза. Есть данные. Есть алгоритм.
Проверяем доходность — получаем ответ.
Но оказалось, что положительная доходность может быть только началом разговора.
Так что же мы вообще называем работающей торговой стратегией — ту, которая заработала на исторических данных, или ту, у которой мы смогли доказать, почему она зарабатывает?
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.