Постов с тегом "backtesting": 24

backtesting


Бэктестинг: купи и держи со скользящими средними

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

Будет приведено несколько алгоритмов:

  • пересечение SMA200 и цены;
  • пересечение SMA200 и SMA10;
  • пересечение SMA200 и SMA50;
  • пересечение EMA200 и EMA50;
  • пересечение EMA200 и EMA50 плюс покупка облигаций.


( Читать дальше )

Бэктестинг: с чего начать?

Бэктестинг: с чего начать?

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



( Читать дальше )

Программируем простейший бэктестер (часть 1)

Один из самых частых вопросов, который начинающие программисты-трейдеры задают мне в почту или скайп это — «Как написать бэктестер?». Глобализовать задачу не хочется, дабы она не умерла из-за потери концентрации и мотивированности, поэтому пойдем поступательно, от простейшего, к простому и за несколько итераций реализуем набор алгоритмов, которые позволят тестировать торговые стратегии, базирующиеся на свечках (Bar). Первый бэктестер должен будет уметь исполнять рыночные заявки, по цене закрытия самого последнего бара, присутствующего в контексте торговых данных, для нашего финансового инструмента. Примерный план действий такой:

  1. Реализуем класс, который эмулирует сделки для наших заявок.
  2. Реализуем класс, который последовательно читает свечки из текстового файла и добавляет их в контекст торговых данных.
  3. Реализуем к примеру пробойный обработчик на открытие позиции.
  4. Реализуем обработчик на закрытие позиции.
  5. Реализуем консольное приложение, которому можно будет передавать имя текстового файла с историческими данными и которое будет выполнять бэктест для этих данных.

Видео по первому пункту:


NYSE/Nasdaq: как у меня дела ч.1

И так что мы имеем: 6500 тикеров и желание их тестировать. Вся проблема в том, что мало кто позаботился о нашем желании ничего не изобретать. Да, можно запустить велс на 16 виртуалках и потом склеить графики, да, можно попробовать написать аддон для мультичартс чтобы улучшить его портфельные качества, но python упрощает жизнь, поэтому даже велосипеды писать не очень лениво.
Для начала ответим себе на простой вопрос, все ли акции мы собираемся торговать? Конечно же не все. Для начала необходимо понимать что акции бывают различные:
  • sp500, dow30, nasdaq30 components
  • sectors
  • mkt cap
  • price
  • liquidity
  • ADR
  • ETF, ETN
Так вот не просто сходу получилось. Простой вопрос «что торговать?» стал сложным. Для начала выделим главные параметры и исходить будем из того что дает нам любой проп-шоп:

1) плохая комиссия
2) нет оверов
3) большие плечи
Таким образом нам подойдут:
1) любые акции дороже доллара, которые хорошо ходят
2) любые акции куда можно без проблем войти от $10k на позу и выйти
3) etf и обычные стоки мы будем разделять, т.к. это совсем разные группы инструментов


( Читать дальше )

....все тэги
UPDONW
Новый дизайн