Блог им. mirovan

Торговая система на основе уровней Вуди. Часть 1. Тестирование и отладка торговой системы

В поисках своей торговой системы, необходимо взять за основу какой-либо инструмент для технического анализа. Одним из таких инструментов являются уровни пивот, что в переводе с английского означает «разворот».

Pivot Point — разворотная точка или разворотный уровень. На основе пивот-уровня рассчитываются уровни поддержки и сопротивления для заданного временного диапазона: дневного, недельного или месячного.

В поисках своей торговой системы, необходимо взять за основу какой-либо инструмент для технического анализа. Одним из таких инструментов являются уровни пивот, что в переводе с английского означает «разворот».

Pivot Point — разворотная точка или разворотный уровень. На основе пивот-уровня рассчитываются уровни поддержки и сопротивления для заданного временного диапазона: дневного, недельного или месячного.
 
Уровни-пивот легли в основу многих торговых систем. Некоторые утверждают, что пивот-уровни работают на всех ликвидных финансовых рынках, которые демонстрируют устойчивые торговые диапазоны.

Среди разнообразных уровней пивот я хотел бы выделить уровни пивот Вуди.
 
Уровни пивот Вуди весьма похожи на обычные уровни пивот, но рассчитываются немного по-другому, давая больше веса цене закрытия предыдущего периодrа. Используются следующие правила для расчета пивот-уровней Вуди:


Торговая система на основе уровней Вуди. Часть 1. Тестирование и отладка торговой системы
Где P – пивот-точка для определения уровней Вуди
R1, R2 – уровни сопротивления
S1, S2 – уровни поддержки
 
В классическом варианте данной торговой системы при подходе цены к первому или второму уровням сопротивления/поддержки мы должны входить в контртренд.
 
Однако мы зададим некоторые другие параметры для входа:
  • При пробитии уровня R1 – осуществляется вход в лонг
  • При отскоке от уровня R2 – осуществляется вход в шорт
  • При пробитии уровня S1 – осуществляется вход в шорт
  • При отскоке от уровня S2 – осуществляется вход в лонг
 
Чтобы немного упростить данную торговую систему, оставим в ней только уровни R1 и S1.
 
Протестируем данную торговую систему в Wealth-lab со следующими параметрами:
 
 Торгуемый инструмент – фьючерс на индекс РТС
  • Период бектестинга: 2 июня 2008 года – 1 августа 2012 года
  • Проскальзывание – 50 пунктов
  • Комиссии не учитываем
  • Таймфрейм – 15 минут
  • Разрешенное время для входа в позицию с 11.00 (исключаем первый час торговой сессии)
  • Закрытие позиции в 23.30 (при определенном размере прибыли переносим позицию через ночь)

При тестировании торговой системы нам необходимо выявить оптимальные параметры следующих переменных
  • Стоп-лосса
  • Количество сделок в день
  • Размер прибыли при которой позиция переносится через ночь

Итак, правила и цели сформированы, остается запрограммировать торговую систему и провести тестирование.
 
После подбора оптимальных параметров получилась следующая кривая доходности.
Торговая система на основе уровней Вуди. Часть 1. Тестирование и отладка торговой системы



Торговая система на основе уровней Вуди. Часть 1. Тестирование и отладка торговой системы

 Распределение прибыли по годам



Как видно из рисунков выше данная система вполне имеет право на существование. Самым прибыльным был 2011 год с доходностью 65%, самым низко прибыльным 2010 год с доходностью 6%. При просадке в размере 8,5%, полученной в ходе тестирования, соотношение риск/прибыль очень хорошее. Отчет о тестировании представлен на рисунке.
 
Торговая система на основе уровней Вуди. Часть 1. Тестирование и отладка торговой системы

 
В ходе тестирования выявлены следующие оптимальные параметры торговой системы:

Подробнее на robostroy.ru

Код торговой системы также доступен для всех.
 
В следующей части я опишу робота для данной торговой системы на QPile (встроенный язык терминала Quik) и Stock# (библиотека для построения торговых роботов).
★37
28 комментариев
Роман Некрасов, в системе всего один оптимизируемый параметр — стоп-лосс. Вы называете это подгонкой?
Роман Некрасов, Поэтому в системе есть ограничение на количество сделок в день.

К тому же код в открытом доступе, ничего не мешает добавить фильтр.
mirovan, скиньте код на народ. Я не хочу на этом сайте светить свой номер телефона и прочие данные, которые запрашиваются для скачки.
avatar
Горбунов Алексей, isynapse.ru/wp-content/uploads/2012/08/code.txt прямая ссылка.
Роман Некрасов, Спасибо, Роман, это мне не приходило в голову. Хотя пивот звучит именно как разворот, а я использую их совсем наоборот. Обязательно надо попробовать протестировать тейк-профит на пивотах. Спасибо за совет!
mirovan, а может до тестирования посчитать какие относительные объемы проходят на пивотных уровнях и посмотреть что там идет: открытие или закрытие позиций.
avatar
UlySseS, да, как идею можно попробовать посмотреть на объем и ОИ. Может из этого что-то и получиться. Даже хотя бы в качестве фильтра. Спасибо, возьму на заметку.
Роман Некрасов, если пивот — для тейка, то ЧТО для входа?
avatar
Спасибо за систему. Несмотря на те но, которые тут можно высказать, я за системный трейдинг и тестирование стратегий.

проскальзывание включено?
avatar
Горбунов Алексей, да, Алексей, 50 пунктов.
Эту систему также перенес на Qpile и Stock#(огромное спасибо за библиотеку ;)), немного позже напишу об этом.
mirovan, извините, ускользнуло от внимания:)
avatar
Написано, что проскальзывание – 50 пунктов
avatar
бегло посмотрел у себя. Не проверял код на подсматривание и на устойчивость параметров.

Единственный минус, который выделил после просмотра — очень маленький средний профит. В остальном — рабочая стратегия.
Новичкам советую :)

Сам пользоваться не стану, системы получше есть хвастаюсь):)
avatar
Горбунов Алексей, на isynapse.ru в коде встречаются и косяки вроде первой свечи и ошибки в коде. Хотя не критичные, поправишь — рез-т только лучше становится:)
avatar
«После подбора оптимальных параметров получилась следующая кривая доходности.»

у меня после подбора опт параметров в прошлом и не такая получалась ))))))
avatar
Зотова (Яроцкая) Майя, попробуйте сделать такую подгонку, которая за 4 года стабильно показывает профит. Часто подгонка, это выстрел в 1 год или даже месяц, в остальное время 0 профита или минус.А тут же профит стабильно каждые 3 месяца.

Я не вникал в суть стратегии и не успел посмотреть на трезультаты тестирования параметров. Но если тут нет косяка в коде, стратегия кажется вполне рабочей и не подогнаной.
avatar
у нас с Шурой Муханчиковым работает стратегия, которая при оптимизированных параметра показывает полный ужас. Зато, на этом, практически единственном параметре показывает соотношение риск прибыль 1 к 8. Кто-то бы назвал это подгонкой. Мы запустили стратегию и она уже работает год. Заработала больше 100%.

описывал её в клубе алготрейдеров S#, не могу найти сейчас.
avatar
Горбунов Алексей, я тестирую все системы на 10 годах, тут сложности нет — такие результаты бывали огого!!!
avatar
Зотова (Яроцкая) Майя, тогда не знаю, где там косяк =)
мирован вот картинку и код приложил, все могут посмотреть и для себя решить, что с ней делать. А так, на пальцах, сложно судить :)
avatar
mirovan, спасибо, что поделились.
Пару слов критики:
1. Обратите внимание на распределение прибыли по сделкам: 504 сделки в 0%. В первую очередь стоит поработать над фильтрацией этих нулевых сделок, т.к. они съедают на проскальзывании
2. Как следствие — маленькая средняя прибыль. При проскальзывании 50п можно будет протолкнуть только небольшое кол-во контрактов, тем более на вечерке.
3. Исключите пока переносы овернайтов: по графику видно, что иногда утренним гэпом выносит сделку, и проскальзывание тут будет уже не 50п, а это у Вас не учтено
4. Обратите внимание на период 2010.07 — 2011.04: 9 месяцев без прибыли. Есть смысл просмотреть посделочно, что там происходит.
avatar
Антон Кротов,
и еще:
Есть сделка в +17%, она стоит отдельно от всех и, являясь случайной, завышает статистику. Есть смысл при тестировании ее пропускать
avatar
Антон Кротов, спасибо за советы.
Действительно, есть еще один вариант работы с помощью этих уровней без переноса овернайт, там результаты еще лучше. А флет — действительно меня удручает, видимо стратегия не для рынка в 2010 году.
Антон Кротов, дельный каммент.
avatar
хм, вы ведь там сначала по Daily посчитали эти уровни, затем переключаетесь на мелкий тайм фрейм и их же торгуете. то есть очевидно происходит заглядывание в OHLC текущего дня, разве нет?
avatar
vlad1024, я смотрю предыдущий день. Т.е. уровни рассчитываются исходя из OHLC предыдущего дня
А какой режим тестирования используется? Raw Profit Mode-> Fixed Dollar?
avatar
Jetta, Использовал Shares/Contract в размере 1 контракта
mirovan, Ok'
avatar

теги блога Максим Милованов

....все тэги



UPDONW
Новый дизайн