Бэктестинг: пересечение RSI разных периодов
В прошлый раз мы проверили трендовую📈 природу индикатора RSI. Нами были получены интересные результаты, особенно при торговле основными секторами. В этот раз мы продолжим двигаться👣 в направлении изменения индикатора RSI, но будем использовать сигнал🛎 разворота тенденции.
Рассмотрим пересечение индикаторов RSI разных периодов. Алгоритмы пишем в Quantopian на Python🐍.
В этот раз:
- Попробуем быть на шаг впереди, используя 13-дневный и 65-дневный периоды RSI.
- Попробуем использовать стандартные 14-дневный и 70-дневный периоды RSI.
- Посмотрим на лучший период прошлого теста и используем 20-дневный и 100-дневный RSI.
- Попробуем отфильтровать тренды с помощью скользящих средних.
Индикатор RSI показывает отношение средних роста и падения цены. Подробнее о RSI можно прочитать в первой статье. Мы же будем проверять сигналы разворота тенденции движения цены. Как известно, короткий период индикатора быстрее реагирует на изменение цены, а длинный - медленнее. Пересечение этих двух периодов позволит нам получить сигнал разворота, чуть раньше.
На графике показаны периоды, когда мы планируем находиться в позиции. Быстрый индикатор часто пересекает медленный, и для сокращения количества транзакций мы добавим диапазон индикатора RSI для удержания позиции после открытия.
🎓Предположение
RSI учитывает движение цены и показывает общую тенденцию в прошлом. Быстрый индикатор RSI с меньшим периодом реагирует быстрее и раньше разворачивается относительно медленного индикатора с бо́льшим периодом. На основании этого мы получим сигнал о смене тенденции раньше.Сделаем следующее:
- Откроем длинные позиции, когда быстрый индикатор пересекает медленный снизу вверх, а медленный RSI выше 50.
- Откроем короткие позиции, когда быстрый индикатор пересекает медленный сверху вниз, медленный RSI ниже 50.
- Удерживаем открытые позиции, когда значение быстрого RSI в диапазоне ±10 от значения медленного RSI.
В конце статьи исходный код на Python и таблица с результатами.
👆Условия
- Торгуем SPY или фондами основных секторов - XLY, XLK, XLI, XLB, XLE, XLP, XLV, XLU, XLF, XLRE.
- Капитал $100 000.
- Торгуем с 2004 до 2017 года (13 лет).
- Торгуем на открытии рынка.
- Периоды индикаторов (быстрый X медленный): 13x65, 14x70, 20x100.
- Направления: только длинные позиции, торгуем в обе стороны.
- Без стопов.
👌Пересечение 13x65
В первую очередь попробуем реагировать раньше толпы и будем получать сигналы при пересечении 13-дневного и 65-дневного периодов RSI. SPY при этих настройках проявляет себя плохо. Особенно в периоды отсутствия ярко выраженных трендов. Алгоритм находится в открытых позициях 61% времени (за весь период капитал вложен в SPY только 61% времени, примерно 8 из 13 лет).
Код проверки сигналов:
Код доступен на Quantrum.me
Торговля основными секторами позволяет заработать и опередить SPY по стратегии "Купи и держи". При бэктесте лучшие результаты показал алгоритм с диапазоном удержания ±12 от медленного RSI. Опережающая доходность есть только при торговле в длинную. Стратегии с короткими позициями показывают отрицательную доходность, и я их в результаты не добавлял. При тестировании алгоритм находится в открытых позициях 91% времени.
👍Пересечение 14x70
Стандартный 14-дневный и 70-дневный периоды показывают в сегодняшних тестах лучшую доходность при умеренной просадке в -24%. Алгоритм в открытых позициях 91% процент времени. И снова лучшими были тесты с диапазоном удержания ±12 от медленного RSI. Предположу, что можно подобрать более удачную величину диапазона. Попробуйте.
👌Пересечение 20x100
Увеличенные периоды до 20 и 100 дней положительно отразились на доходности торговли одиноким фондом SPY. Уменьшив количество сделок в сравнении с 13х65 и увеличив время в позиции до 63%.
Торговля равными долями секторов снова вырвалась вперед. Удалось снизить просадку до -21%. Видно, что стратегия плохо себя ведет в периоды боковика и коррекций с 2015 года. Капитал работает 94% времени, что очень хорошо. Есть явный период простоя в районе 2009 года.
👌Фильтруем вход по SMA(200)
Фильтрация трендов с помощью скользящих средних SMA(20) и SMA(200) лишь ухудшила наши результаты. Само по себе пересечение разных периодов прекрасно фильтрует направление основной тенденции цены. Лучшие показатели доходности при фильтрации сохранились на максимальных периодах RSI(20x100).
🏆Результаты тестов
Результаты доступны на Quantrum.me
- Long - только длинные позиции. Long&Short - длинные и короткие позиции.
- Периоды индикаторов RSI и величина диапазона удержания. {Быстрый}x{Медленный}/{Удержание}.
- Кол-во покупок/ Кол-во продаж.
🎁Код в студию
Код доступен на Quantrum.me
🏁Вывод
Опять не удалось получить доходности при торговле в короткую. Тесты убыточны с большими просадками. Максимальная доходность схожа с предыдущей стратегией следования за индикатором RSI. Сегодняшние тесты показывают чуть меньшую просадку.
Результаты может улучшить оптимизация алгоритма и точный подбор периодов индикаторов и диапазона удержания. Торговля основными секторами является лучшим решением для данной стратегии.
В следующий раз мы протестируем сигналы разворотов по RSI для коротких периодов (2/5 дней).
💬В комментариях напишите ваше мнение о стратегии. Что можно улучшить? Где есть ошибки?
🎓Обучение внутредневному трейдингу в United Traders👍.
Александр Румянцев aka "i.am.raa"
Автор Quantrum.me
Интересуетесь алготрейдингом на Python? Присоединяйтесь к команде. Пишите в личку или на email.