Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Я загрузил исторические цены кофе за последние 45 лет и посмотрел, как сезонность влияет на динамику фьючерсов. В целом идея известная, но я хотел перепроверить стратегию самостоятельно. Так и поступил. Процесс работы описал в статье, а в конце материала сделал выводы — когда покупать, когда продавать и на какую доходность рассчитывать.

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Дисклеймер: материал основан на исторических данных и не является руководством к действию. История может повториться, а может и не повториться. Ответственность за принятые финансовые решения и полученный результат вы несете самостоятельно.

Подготавливаем данные

Первое, что понадобится для работы — история фьючерсных контрактов на кофе. Чем больше, тем лучше. Я использовал мартовские, майские, июльские, сентябрьские и декабрьские фьючерсы с 1975 по 2020 год. Всего 250 контрактов по десять месяцев каждый. Делиться данными не буду, но если хотите провести собственное исследование, то здесь вы найдете аналогичный датасет за символические $59.

Итак, мы получили историю цен. Разделим данные на две части — тренировочную и тестовую. На тренировочной части мы проведем исследование, проверим гипотезы и сформируем стратегию. На тестовой части мы прогоним стратегию, посмотрим результат и сделаем выводы. Для тренировочной части мы используем фьючерсные контракты с 1975 по 2004 год. Для тестовой — фьючерсные контракты с 2005 по 2020 год.

Знатоки в курсе, остальным на всякий случай объясню — подход с разделением данных на две части повышает объективность работы и борется с подгонкой параметров под историю.

Формируем фундаментальную гипотезу

Основная гипотеза состоит в том, что время года влияет на цену кофейных фьючерсов. Причина сидит в производственных циклах выращивания кофе, а также фундаментальном законе спроса и предложения. Спрос на кофе неэластичный, поэтому работает простое правило — чем больше товара, тем дешевле цена, чем меньше товара, тем дороже цена.

В нашем случае это означает следующее:

  • Летом, когда проходит сбор урожая, на рынок поступает много предложения, и цена кофе падает
  • Осенью, когда основной урожай собран, предложение постепенно снижается, а цена кофе растет

Давайте побродим по интернету и найдем график сезонности кофе. Например, вот так выглядит сезонность за последние 20 лет:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

В общем и целом картина похожа на правду. С поздней весны цена кофе падает, а с середины осени начинает расти. К сожалению, агрегированный график дает мало детальной информации, поэтому не будем на нем зависать. Просто запомним, что сезонность присутствует в ценах, и пойдем дальше.

А дальше мы имеем две рабочие гипотезы:

  1. Продавай кофе летом, когда бразильская арабика и вьетнамская робуста заполонили рынок
  2. Покупай кофе осенью, когда запасы ароматных зерен снижаются, а кофеиновые наркоманы хотят еще и еще

Посмотрим, что расскажет наш датасет.

Исследуем сезонность

Напомню, что тренировочная часть датасета содержит данные с 1975 по 2004 год. Явная и одновременно лучшая сезонность за этот период была с конца мая по конец июня. Например, вот так выглядит динамика сентябрьских фьючерсов с 19 мая по 24 июня:

Каждая линия показывает динамику одного фьючерсного контракта и отражает возврат на вложенный $1. Зеленые линии показывают фьючерсы, которые выросли за период с 19 мая по 24 июня. Красные линии показывают фьючерсы, которые упали.
Каждая линия показывает динамику одного фьючерсного контракта и отражает возврат на вложенный $1. Зеленые линии показывают фьючерсы, которые выросли за период с 19 мая по 24 июня. Красные линии показывают фьючерсы, которые упали.
Усредненная динамика цен фьючерсных контрактов на кофе с поставкой в сентябре. Начало сезонного движения — 19 мая. Конец сезонного движения — 24 июня.
Усредненная динамика цен фьючерсных контрактов на кофе с поставкой в сентябре. Начало сезонного движения — 19 мая. Конец сезонного движения — 24 июня.

Мы видим, что в среднем кофе дешевеет на 7% за тридцать пять дней раннего лета. Четыре раза за тридцать лет цена сентябрьских фьючерсов выросла. Остальные двадцать шесть раз напиток аристократии дешевел, иногда довольно существенно. Точные цифры выглядят так:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Идентичная ситуация происходит с июльскими контрактами — пять раз за тридцать лет фьючерсы на кофе выросли, в остальных случаях цена упала. Средний, максимальный и минимальный показатели сопоставимы. Оставшиеся контракты также корректируются, начиная со второй половины мая, правда с менее очевидной динамикой.

С продажами разобрались, перейдем к покупкам. На зеленую сторону доходности вырываются два претендента — декабрьский и майский фьючерсы. Оба начинают забег в октябре и оба растут вплоть до экспирации.Вот так выглядит динамика декабрьских контрактов за тридцать лет:

Каждая линия показывает динамику одного фьючерсного контракта и отражает возврат на вложенный $1. Зеленые линии показывают фьючерсы, которые выросли за период с 1 октября по 17 декабря. Красные линии показывают фьючерсы, которые упали.
Каждая линия показывает динамику одного фьючерсного контракта и отражает возврат на вложенный $1. Зеленые линии показывают фьючерсы, которые выросли за период с 1 октября по 17 декабря. Красные линии показывают фьючерсы, которые упали.
Усредненная динамика цен фьючерсных контрактов на кофе с поставкой в декабре. Начало сезонного движения — 1 октября. Конец сезонного движения — 17 декабря.
Усредненная динамика цен фьючерсных контрактов на кофе с поставкой в декабре. Начало сезонного движения — 1 октября. Конец сезонного движения — 17 декабря.

Сезонность декабрьских контрактов в цифрах:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Покупать декабрьские фьючерсы в октябре не так весело, как продавать сентябрьские контракты в мае, но посмотреть есть на что. Количество растущих периодов больше половины, при этом средний рост составляет 19.5%, а среднее падение 11.7%. Сезонность тоже прослеживается, но в другом амплуа — дефицитный год сильнее толкает цены вверх, чем профицитный год опускает их вниз.

Аналогичная ситуация происходит с майскими контрактами — несколько мощных движений в 1976, 1977, 1994 и 1997 году навели шума на кофейном рынке и положительно повлияли на среднюю доходность:

Каждая линия показывает динамику одного фьючерсного контракта и отражает возврат на вложенный $1. Зеленые линии показывают фьючерсы, которые выросли за период с 23 октября по 17 мая. Красные линии показывают фьючерсы, которые упали.
Каждая линия показывает динамику одного фьючерсного контракта и отражает возврат на вложенный $1. Зеленые линии показывают фьючерсы, которые выросли за период с 23 октября по 17 мая. Красные линии показывают фьючерсы, которые упали.
Усредненная динамика цен фьючерсных контрактов на кофе с поставкой в мае. Начало сезонного движения — 23 октября. Конец сезонного движения — 17 мая.
Усредненная динамика цен фьючерсных контрактов на кофе с поставкой в мае. Начало сезонного движения — 23 октября. Конец сезонного движения — 17 мая.

Сезонность майских контрактов в цифрах:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Промежуточные выводы по сезонности с 1975 по 2004 год:

  1. Мы видим сильную сезонность на продажу, начиная со второй половины мая и заканчивая концом июня.
  2. Сезонность на покупку менее очевидна, но тоже присутствует. Точка старта — октябрь. Точка финиша — экспирации декабрьских и майских контрактов соответственно.

Таким образом мы подтвердили фундаментальную гипотезу на тестовом датасете. Теперь сформулируем простую торговую стратегию и посмотрим на поведение фьючерсов с 2005 по 2020 год.

Формулируем и тестируем торговую стратегию

В качестве стратегии мы будем использовать сезонность в чистом виде — продавать кофе в мае и покупать в октябре. Я опущу небольшую оптимизацию системы (там все равно ничего интересного, я просто подобрал оптимальные даты, перебрав разные варианты на тестовом датасете) и сразу сформулирую правила.

Правила для шорта:

  1. Продаем сентябрьские контракты 21 мая текущего года
  2. Закрываем позицию 22 июня текущего года

Правила для лонга № 1:

  1. Покупаем декабрьские контракты 1 октября текущего года
  2. Закрываем позицию 19 декабря текущего года

Правила для лонга № 2:

  1. Покупаем майские контракты 21 октября текущего года
  2. Закрываем позицию 15 мая следующего года

С правилами разобрались, начинаем тестировать. Шорт кофе на сентябрьских контрактах с 2005 по 2020 год:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Результаты стратегии в цифрах:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Результат заметно хуже, чем на трениворочных данных. Это логично — на тренировочном датасете мы знали будущее и подобрали оптимальные параметры, в то время как на тестовых данных такой сверхспособности не было. Тем не менее майско-июньская сезонность осталась. Мы сделали 75% положительных сделок, в среднем зарабатывая 2.3% за каждый сезон без учета брокерских комиссий. Неплохо, если учесть что продолжительность одной сделки составляет месяц.

Едем дальше. Лонг кофе на декабрьских контрактах с 2005 по 2020 год. Он же Лонг № 1:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Результаты стратегии в цифрах:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

В среднем мы заработали 1.3% на сделку, но получили всего шесть прибыльных позиций из шестнадцати. Если сезонность и существовала на тренировочных данных, то на тестовом датасете она пожелала удачи и уехала на Карибы.

Последний тест последней стратегии — лонг кофе на майских контрактах с 2005 по 2020 год. Он же Лонг № 2:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Результаты стратегии в цифрах:

Как я изучил цены на кофе за последние 45 лет, какие нашел закономерности и что из этого вышло

Если при покупке декабрьских контрактов, мы немного зарабатывали, то, удерживая майские фьючерсы, мы немного теряем. Средний результат на сделку составляет -1.1%, количество положительных сделок составляет семь из девяти. Короче говоря, на тренировочных данных сезонность майских контрактов отправилась вслед за декабрьскими.

Делаем выводы

Мы сделали фундаментальное предположение, изучили влияние сезонности на исторических данных, сформировали и проверили стратегию. Приключения закончились, пришло время оценить результаты:

  1. Сезонность, которая претендует на практическое применение — продажа фьючерсов в конце мая и закрытие позиций в конце июня. Работает на июльских или сентябрьских контрактах. За этот период кофе в среднем дешевел на 7.1% до 2005 года и на 2.3% после него.
  2. Остальные идеи, связанные с сезонностью, хуже прослеживались на тренировочных данных не прошли проверку на тестовом датасете. Копать дальше в этом направлении не имеет смысла.

Так или иначе сезонность на рынке кофе существует. Использовать фактор сезонности как самостоятельную торговую стратегию — идея спорная, хотя любопытная. Использовать фактор сезонности как помощника (например, не покупать кофе в июне) или изучить вопрос глубже и добавить дополнительные фильтры — однозначно перспективный вариант.

Постскриптум

В телеграм канале fedotovjournal я выложил google-таблицы, в которых вы найдете исходные данные по сезонным контрактам и подробные данные по тестовым портфелям. Также на днях я выложу интересное дополнение по весенней сезонности, которое показывает, как фьючерсный рынок меняет привычки и адаптируется к участникам. Заходите на канал, если хотите узнать новые подробности, и подписывайтесь, если хотите быть в курсе событий. Спасибо, что дочитали до конца!

66
4 комментария

Все почитал. Вроде, норм. Если есть код или ссылка на гитхаб - дайте, пожалуйста, поглядеть охота. Ну и да, а в чем вы такие красивые графики рисовали?

Кода на гитхабе нет, а графики делал в google sheets. Ничего лучше за все время так и не нашел :)

1

Да вы правы цены меняются и конечно же все мы это уже оценили сами.

Неплохо, учитывая что фьючера и опционы полететь могут в этом году