Тестируем стратегию входа и выхода по тренду (плюс код на Python)

 | 11.08.2017 15:44

В этом обзоре мы протестируем стратегию входа и выхода по тренду при торговле в лонг. В чем ее суть? В том, что мы открываем и держим длинную позицию, пока тренд в активе бычий, и закрываем ее при смене растущей тенденции. Для определения тренда и выбора моментов выхода и входа мы будем использовать два подхода.

Первый подход

Первый подход состоит в анализе положения цены относительно 200-дневной скользящей средней SMA(200), так как именно SMA(200) разделяет медвежий и бычий рынок. Принцип ее трактовки такой. Если цена актива движется над SMA(200), то тренд считается бычьим. И наоборот, если цена актива находится под SMА(200), то тренд считается медвежьим.

Скачайте приложение
Присоединяйтесь к миллионам людей, которые всегда в курсе новостей на рынке с Investing.com
Скачать

Второй подход

Второй подход заключается в отслеживании момента пересечения 200-дневной средней SMA(200) более быстрой 50-дневной средней SMA(50). Интерпретация здесь следующая. Когда SMA(50) пересекает SMА(200) снизу вверх и движется над ней, то тренд считается бычьим. И наоборот, если SMA(50) пересекает SMА(200) сверху вниз и движется под ней, то тренд считается медвежьим.

Первый подход позволяет получить более ранний сигнал на открытие или закрытие позиции, но дает много ложных пробоев. Для того чтобы сократить число этих пробоев, мы будем проверять нахождение цены над (под) SMА(200) в течение определенного количества дней. Второй подход дает более надежный сигнал, но делает это с отставанием: пересечение SMA(50) и SMА(200) возникает значительно позже, чем изменение цены относительно SMА(200).

Мы проанализируем

Мы проанализируем оба подхода и посмотрим, что бы мы получили, если бы мы: 1) открывали (закрывали) длинные позиции по положению цены актива над (под) его 200-дневной средней SMA(200); 2) открывали (закрывали) длинные позиции по пересечению SMA(50) и SMА(200). Дополнительно мы сравним полученные результаты со стратегией «Купи и держи», по которой мы бы открывали позиции и держали их, не зависимо от тренда.

Тестировать стратегии будем:

  • на индексных ETF-ах: SPDR S&P 500 (NYSE:SPY), Dow Jones Industrial Average (DIA), Nasdaq 100 (QQQ), iShares Russell 2000 (IWM);
  • на сайте Quantopian.com c помощью кода, написанного на Python (приведен в конце поста);
  • на исторических данных за период с 01.01.2004 по 02.08.2017 гг. (13 лет).

Результаты бэктеста

В таблице ниже приведена результативность стратегий для каждого актива. Об эффективности той или иной стратегии можно судить по таким метрикам как Return и Drawdown. Return — это доходность актива с учетом реинвестирования дивидендов, проскальзываний и брокерских комиссий на уровне Interactivebrokers.com. Drawdown — это мера риска актива, отражающая его максимальное снижение в цене. Дополнительно о рисках актива можно судить по коэффициентам Бета (Beta), Альфа (Alpha), Шарпа (Sharpe).