Бэктестинг: следуем за RSI
В прошлый раз мы рассмотрели👀 алгоритм торговли разворотов по сигналам RSI. В этой статье посмотрим, можно ли следовать в направлении↗ движения RSI. Ведь индикатор показывает именно направление изменения цены💵. Алгоритмы пишем в Quantopian на Python🐍.В этот раз:
- Следуем в направлении RSI на одном таймфрейме (день).
- Следуем в направлении RSI на разных таймфреймах (час, день).
- Отфильтруем тренд актива средними.
Чуть подробнее об RSI можно прочитать в прошлой статье. Индикатор показывает отношение средних роста и падения цены. Значение выше 50 указывает на рост цены, ниже - на падение.
На графике показаны периоды, когда мы планируем находиться в позиции.
🎓Предположение
RSI учитывает движение цены и показывает общую тенденцию в прошлом. Обычно тенденция сохраняется некоторое время, на что мы и сделаем ставку.
Сделаем следующее:
- Откроем длинные позиции, когда RSI пересек 55 снизу вверх и короткие позиции, когда RSI пересек 45 сверху вниз. Закроем длинные ниже 45, а короткие выше 55.
- Совместим разные таймфреймы. Будем открываться выше 70 на часовом графике и закрываться выше 70 на дневном. Дополнительный сигнал закрытия будет ниже 30 на часовом графике.
- Проверим, помогут ли нам скользящие средние для улучшения результатов.
В конце статьи исходный код на Python и таблица с результатами.
👆Условия
- Торгуем SPY или фондами основных секторов - XLY, XLK, XLI, XLB, XLE, XLP, XLV, XLU, XLF, XLRE.
- Капитал $100 000.
- Торгуем с 2004 до 2017 года (13 лет).
- Торгуем на открытии рынка. Каждый час для часовых сигналов.
- Периоды индикатора: 10, 14, 20.
- Направления: только длинные позиции, только короткие, торгуем в обе стороны.
- Без стопов.
👌Стратегия следования
Лучшая доходность получена при торговле только длинными позициями. Лучший период из проверенных - 20 дней. SPY в одиночестве дает скромные результаты, сохраняя довольно низкую просадку.
Проверка сигналов в коде: Исходный код доступен на Quantrum.me
Лучший результат показала торговля основными секторами. Секторы покупаются на равные доли портфеля, в случае наличия сигналов и условий для удержания. При появлении нового сектора или исключении имеющегося производится балансировка на равные доли.Секторы показывают просадку в -46%, которую попробуем победить далее.
Открываемся на часовиках, закрываемся на днях
На графике торгуем SPY. Лучшие результаты снова только на длинных позициях и 20-ти периодном индикаторе. На уровне 70-ти на часовом графике мы открывали позицию. Закрывали ее на 70-ом уровне на дневном графике или на 30-ом уровне часового графика, если цена развернулась. Просадка на приемлемом уровне в -16%. До 2009 года алгоритм "спал".
Подготовка часовой истории описана в этой статье. Ниже примеры сигналов из кода: Исходный код доступен на Quantrum.me
Данная стратегия тестируется значительно дольше по сравнению с дневной историей. Это усложняет ее изучение.
👍Фильтруем вход по SMA(200)
Победителем сегодняшних тестов является алгоритм торговли секторами в длинную по 20-дневному RSI. Дополнительно тренд активов фильтруется пересечением SMA(20) и SMA(200). Алгоритм обгоняет SPY по стратегии "Купи и держи", имея уровень просадки в -27%.
Выдержки из кода: Исходный код доступен на Quantrum.me
🏆Результаты тестов
Результаты доступны на Quantrum.me
- Long - только длинные сделки. Short - только короткие сделки. Или в обоих направлениях.
- Период индикатора.
- Стратегия открытия на часовых, закрытия на дневных.
🎁Код в студию
Исходный код доступен на Quantrum.me
🏁Вывод
Результаты подтверждают трендовую природу индикатора. Стратегия следования показывает лучшую доходность в сравнении со стратегией разворотов.
Лучшие результаты оказались при использовании сигналов за 2 недели, RSI(20). Сильное влияние оказывает диапазон просадки значения RSI при удержании позиции. Ниже изменение доходности при торговле секторами, которые были получены при разных уровнях RSI:
- Открыли на 55, держим выше 45 - +304%
- Открыли на 55, держим выше 44 - +340%
- Открыли на 55, держим выше 43 - +322%
- Открыли на 55, держим выше 42 - +278%
- Открыли на 55, держим выше 41 - +265%
Уменьшить просадку в стратегиях позволил фильтр по положению скользящих средних, SMA(20) и SMA(200).
При торговле только короткими позициями положительных результатов достичь не удалось. Падение рынка сопровождается высокой волатильностью. Здесь может помочь увеличение диапазона удержания позиций по уровню RSI. Может быть, контроль волатильности самого RSI.В следующий раз будем тестировать сигналы пересечения разных периодов индикатора RSI. Это будет тоже стратегия следования.
💬В комментариях напишите ваше мнение о статье. Укажите на недочеты и расскажите о вашем опыте использования RSI.
🎓Обучение среднесрочному трейдингу на 💡MindSpace.ru👍.
Александр Румянцев aka "i.am.raa"
Автор Quantrum.me
Интересуетесь алготрейдингом на Python? Присоединяйтесь к команде. Пишите в личку или на email.