Индикатор силы тренды TSI на Python » Элитный трейдер
Элитный трейдер


Индикатор силы тренды TSI на Python

16 июля 2018
?The trend is your friend. Одна из стратегий на рынке — это покупка активов в направлении тренда. Узнать тренд можно множеством способов и каждый имеет свои плюсы и минусы. Самый известный и одновременно рабочий способ определения долгострочного тренда — это 200-дневная скользящая средняя.

Но хочется знать на сколько всё хорошо. Какова вероятность, что мы вскочим в рынок и он не рухнет? вместе с нами? Для этой цели мы сегодня исследуем индикатор силы тренда (TSI), найденный мною на просторах интернета.

Для определения основного тренда будем использовать индикатор Rate-of-Change (ROC), показывающий скорость изменения цены. И его сглаженный вариант.

?Тренд на рынке по ROC(200)

Индикатор ROC показывает процент изменения текущей цены относительно прошлого значения. Параметр индикатора — кол-во дней между которыми сравниваем цены. Формула:

Индикатор силы тренды TSI на Python


ROC(200) может быть использован, как альтернатива SMA(200) (обычная скользящая средняя), тест которой описан в этой статье. Если ROC(200) выше нуля — тренд бычий, если ниже — медвежий.

?Сглаженный ROC(200)

Для удаления резких колебаний мы сгладим исходные значения ROC(200) по следующей формуле:



Ниже результат для сравнения:



сравнение ROC индикаторов

?Сила тренда TSI

Для измерения силы тренда создадим индикатор по шагам:
Получим абсолютные значения изменения цены за короткий период (например, 10 дней).
Получим ATR за короткий период.
Получим историю соотношений изменений цены к ATR.
Дважды сгладим полученные значения на короткий и длинный (например, 50 дней) периоды.

Наиболее сильный тренд, это когда изменение цены больше значения ATR за один и тот же период. Убедительное изменение цены при низкой волатильности, по логике, должны привести к успеху. Формула:





Значения TSI всегда положительные. Для наглядности графика мы умножим эти значения на знак положения ROC(200):



Если приглядеться, то на графике видно, что периоды сильного роста сопровождаются значением TSI более 0.5 (пунктирная линия). Но так ли это на самом деле?

?Немножко анализа

Попробуем быстренько посмотреть, какое значение TSI для NASDAQ:QQQ
является наиболее удачным исторически. Да и вообще, есть ли такое значение? Для этого проверим TSI выше определённого значения и соберём некоторые показатели. Таблица:



TSI — значение силы тренда.
Growth Days — количество растущих дней в выборке.
Total Trend — количество дней с силой тренда выше выбранного значения.
Ratio — отношение растущих дней к продолжительности тренда.
Tradable — процент дней удержания позиций ко всей истории.
TSI Change — сумма абсолютных изменений цены за время сильного тренда.
ROC/s.ROC(200) Change — сумма абсолютных изменений цены за бычий тренд по обоим ROC(200).
Total Change — сумма абсолютных изменений цены за всё время.

Таблица наглядно показала, что со сглаженным значением s.ROC(200) мы промахнулись. Итог хуже простого удержания.

А вот сам по себе ROC(200) показывает лучшие результаты, хоть и хуже SMA(200). Значение Ratio находящееся чуть выше 50% говорит о слабом преимуществе.

Ниже графики зависимости некоторых показателей от TSI:



На графиках видно, что обогнать ROC(200) сам по себе мы не сумели, но сохранили доходность сократив время удержания. Так для TSI>=0.4 мы можем находиться в рынке 58% времени и получить доходность всего на ~5% ниже ROC. Гипотетически.
?Вывод

Это поверхностный анализ и результаты стоит проверить в торговых стратегиях, чем мы и займёмся на следующей неделе. Сделаем тест ROC(200) против «купи и держи».

?В комментариях пишите, ваши вопросы по индикатору и наблюдениям. Запрашивайте код. Также можете написать ваши соображения, почему всё получилось именно так.

(C) Источник
Не является индивидуальной инвестиционной рекомендацией
При копировании ссылка обязательна Нашли ошибку: выделить и нажать Ctrl+Enter