GuruNet
GuruNet личный блог
10 сентября 2016, 11:55

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

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

 

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

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

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

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

 

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

 

В статьях, указанных выше, тестирование блоков торговой системы проводилось для фьючерса на пару рубль доллар, контракт 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

 

Выводы

 

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

7 Комментариев
  • InvMan.xyz
    10 сентября 2016, 13:10
    ММ алгоритмы торгуют банки на FOREX предоставляя ликвидность на рынок. Тема интересная, но сложная. Документирются такие алгоритмы слабо из-за того, что банки не публикуют алгоритмы как они оббирают участников рынка. Прибыль на рынке это ликвидность она переходит от одних к другим, раскрытие своих алгоритмов — передача своих денег другим людям.
  • noHurry
    10 сентября 2016, 13:43
    Учитывая, что все сервисные блоки торговой системы имеют положительное математическое ожидание
    привязка к «торгуемому инструменту и таймфрейму» это уже подгонка под историю.  
  • forex-light
    10 сентября 2016, 13:46
    что-то в этом есть
  • buy_sell
    10 сентября 2016, 15:11
    Рынок всегда движется так, чтобы нанести максимальный финансовый ущерб игрокам. Какой индикатор может указать это направление?
  • Roman Ivanov
    10 сентября 2016, 22:43
    Такой подход уменьшает подгонку только потому, что из области поиска выпадают варианты, когда несколько компонентов системы дают синергию. Меньше область поиска — меньше шансов на подгонку. Правда и меньше шансов найти что-то рабочее.
    Не понятно только как «Использование метода случайного входа позволяет проектировать торговые системы с минимальным количеством параметров.». Параметров не меньше, даже может больше, но не учитываются те их комбинации, которые дают синергетический эффект.
    ЗЫ: А что если самое вкусное лежит в области синергии?
  • Виталий
    10 сентября 2016, 23:09
    Очень качественная подача информации. Внятно, коротко и оформлено правильно.
  • Алексей
    12 сентября 2016, 15:16
    1)Лучше этот алгоритм переносить под определенный фиксированный таймфрейм внутри дня... 
    2) Много зависит еще где будет работать эта система...
    Лучше форекс там ликвидность больше...
    3) Соотнешение прибыли/убытка 2:1 и выше не к чему хорошему не приведет… Хоть и заманчиво.
    4) Придумайте свой алгоритм, без программ. Он будет эффективнее...
    5) Смешно… Но действительно можно прибыльно так торговать...
    р.ы. История повторяется… Только не на индикаторах и не графиках…

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн