Блог им. Lugovtsov

Проектирование торговой системы с помощью метода случайного входа.

    • 10 сентября 2016, 11:55
    • |
    • GuruNet
  • Еще

Проектирование торговой системы с помощью метода случайного входа.

 

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

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

В итоге получается торговая система с фантастическими показателями по прибыльности и максимальной просадке.

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

Метод случайного входа позволяет снизить вероятность переоптимизации и получить на выходе более устойчивую торговую систему, по сравнению со стандартным подходом.

 

Проектирование торговой системы, стандартный путь.

 

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

Сигнал на вход моделируется в одной из программ и добавляется сигнал на выход из сделки, например, в конце рабочего дня. Начало создания торговой системы положено.

Как правило, кривая формы доходности не удовлетворяет разработчика. Для получения лучшей формы кривой доходности в систему добавляют:

  • фильтр направления тренда
  • фильтр силы тренда
  • подтверждение сигнала на вход
  • сигнал на выход
  • фильтр сигнала на выход
  • стоп
  • и так далее

На каждом этапе появляются дополнительные параметры для оптимизации. Чем их больше, тем проще подобрать такую комбинацию параметров, которая приблизит форму кривой доходности, на исторических данных, к идеалу.

В итоге, после проведения множества тестов, кривая доходности приобретает примерно такой вид:

Кривая доходности на этапе проектирования системы

Система запускается в работу и приносит разочарование:

Реальная кривая доходности

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

 

Проектирование торговой системы с помощью метода случайного входа.

 

В статье «Случайный вход – эффективный метод тестирования торговых систем» подробно рассматривается техника тестирования блоков торговой системы с помощью данного метода.

Идея заключается в том, чтобы использовать «обвес» торговой системы для повышения ее реальной эффективности, а не для подгонки под исторические данные.

В случае такого подхода, проектирование торговой системы начинается не с сигнала на вход, а с определения необходимого функционала.

Например, для трендовой системы необходимо обязательное наличие:

  • Фильтра на вход в сделку в направлении основной тенденции.
  • Трейлинг стопа.
  • Сигнала на выход, в случае разворота тренда (их может быть несколько).

Каждый из этих блоков можно протестировать отдельно, используя метод случайного входа. При этом используются стандартные параметры для используемых индикаторов. Подробности в статьях:

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

И только после тестирования компонентов системы можно перейти к поиску оптимального сигнала на вход в сделку.

 

Выбор оптимального сигнала на вход в сделку.

 

В статьях, указанных выше, тестирование блоков торговой системы проводилось для фьючерса на пару рубль доллар, контракт Si-6.16. По итогам тестирования методом случайного входа были получены следующие результаты:

  • Оптимальный фильтр на вход в сделку в направлении основной тенденции – на двух экспоненциальных скользящих средних, таймфрейм фильтра Day, периоды стандартные 9 и 18.
  • Трейлинг стоп – классический трейлинг стоп на текущем таймфрейме, расчет параметров автоматический, исходя из гарантийного обеспечения.
  • Сигналы на выход:
    • Выход на внешнем баре, таймфрейм Day;
    • Выход на развороте тренда, определяемым по дивергенции цены и MACD на таймфрейме H1.

Осталось подобрать оптимальный сигнал на вход в сделку. Для тестирования использована торговая платформа «BetaRelatedMarkets_V3».
Исследуем следующие сигналы на открытие позиции:

  • Индикатор выходит из зоны перекупленности перепроданности.
  • Индикатор пересекает сигнальную ниже уровня перепроданности или выше уровня прекупленности.
  • Индикатор пересекает медиану. Для индикаторов без четко определенных уровней медиана = 0, для индикаторов с уровнями, медиана = (уровень перекупленности + уровень перепроданности)/2
  • Разворот индикатора на 3-х точках ниже уровня перепроданности или выше уровня перекупленности. Определяется анализом 3-х соседних баров.
  • Разворот индикатора на 5-ти точках ниже уровня перепроданности или выше уровня перекупленности. Определяется анализом 5-ти соседних баров.
  • Ключевой разворот на графике ниже уровня перепроданности или выше уровня прекупленности.
  • Дивергенция или расхождение показаний индикатора и цены. Значения индикатора должны быть ниже уровня перепроданности или выше уровня перекупленности.
  • Индикатор корректируется от макс/мин. Значения индикатора должны быть ниже уровня перепроданности или выше уровня перекупленности. Индикатор должен скорректироваться от достигнутого экстремума на пороговое значение.

В торговой платформе доступно 46 осцилляторов для определения точки входа в сделку.

График оптимизации имеет следующий вид:

График оптимизации сигнала на вход в сделку

Как видно из графика, 95% результатов находятся в положительной области. То есть сигнал на вход в сделку не имеет такого большого значения, как это кажется на первый взгляд.

Выберем сигнал на вход в сделку на дивергенции цены и индикатора %b.

Бэктест системы:

Бэктест системы Si-6.16

График доходности системы:

График доходности системы на Si-6.16

Осталось проверить систему на другом контракте, например Si-3.16.

Бэктест системы:

Бэктест системы Si-3.16

График доходности системы:

График доходности системы на Si-3.16

 

Выводы

 

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

★6
7 комментариев
ММ алгоритмы торгуют банки на FOREX предоставляя ликвидность на рынок. Тема интересная, но сложная. Документирются такие алгоритмы слабо из-за того, что банки не публикуют алгоритмы как они оббирают участников рынка. Прибыль на рынке это ликвидность она переходит от одних к другим, раскрытие своих алгоритмов — передача своих денег другим людям.
avatar
Учитывая, что все сервисные блоки торговой системы имеют положительное математическое ожидание
привязка к «торгуемому инструменту и таймфрейму» это уже подгонка под историю.  
avatar
что-то в этом есть
avatar
Рынок всегда движется так, чтобы нанести максимальный финансовый ущерб игрокам. Какой индикатор может указать это направление?
avatar
Такой подход уменьшает подгонку только потому, что из области поиска выпадают варианты, когда несколько компонентов системы дают синергию. Меньше область поиска — меньше шансов на подгонку. Правда и меньше шансов найти что-то рабочее.
Не понятно только как «Использование метода случайного входа позволяет проектировать торговые системы с минимальным количеством параметров.». Параметров не меньше, даже может больше, но не учитываются те их комбинации, которые дают синергетический эффект.
ЗЫ: А что если самое вкусное лежит в области синергии?
avatar
Очень качественная подача информации. Внятно, коротко и оформлено правильно.
avatar
1)Лучше этот алгоритм переносить под определенный фиксированный таймфрейм внутри дня... 
2) Много зависит еще где будет работать эта система...
Лучше форекс там ликвидность больше...
3) Соотнешение прибыли/убытка 2:1 и выше не к чему хорошему не приведет… Хоть и заманчиво.
4) Придумайте свой алгоритм, без программ. Он будет эффективнее...
5) Смешно… Но действительно можно прибыльно так торговать...
р.ы. История повторяется… Только не на индикаторах и не графиках…
avatar

теги блога GuruNet

....все тэги



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