главная
статьи
видео
обучение
новости
контакты
Присоединиться в Livejournal Присоединиться в Twitter Facebook Podcast Яndex лента RSS

пятница, 10 февраля 2012 г.

Ремонт торговой системы


Альтернативные балансы торговой системы

Рынок постоянно меняется. Торговые идеи, прекрасно работавшие год или два назад, сегодня уже не работают, а системы, основанные на них, приносят сплошные убытки, т.е. сломались», как в таких случаях говорят. Но это вовсе не значит, что поломки обязательно происходят в одночасье: нередко бывает так, что у системы постепенно падает эффективность, снижается матожидание, профит-фактор и другие статистические показатели, — но торговая идея ещё остаётся вполне жизнеспособной. Достаточно немного подкорректировать систему, изменив, например, параметры индикаторов или размеры ордеров stop loss и take profit, — и она снова заработает с полной отдачей.

Как же «поймать» тот момент, в который нужно или приступать к «ремонту» системы, или просто от неё отказываться?



Трейдеры, работающие с механическими системами, обычно проводят их периодические реоптимизации в заранее установленные сроки. Делается это с помощью компьютерных программ, которые перебирают различные сочетания параметров и отображают результаты в виде особых трёхмерных диаграмм — «форм тестового пространства». При помощи этих диаграмм трейдер из всего множества параметров выбирает те, которые лучше всего соответствуют текущему состоянию рынка. Классический алгоритм этой методики описан в книге Р. Пардо «Разработка, тестирование и оптимизация торговых систем для биржевого трейдера». Но как быть трейдерам, работающим с аналитическими системами, в которых сигналы не полностью формализованы? Ведь такие системы нельзя переложить на язык компьютерного кода.

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

Рассмотрим, как это работает, на простом примере. Допустим, у нас есть торговая система, в которой сигнал на открытие позиции контролируется двумя фильтрами — Ф1 иФ2; если хотя бы один из фильтров не подтверждает сигнала, то сделка не совершается. Однако система у нас, как мы помним, не механическая, а аналитическая, — то есть мы оставили за собой право иногда нарушать те или иные правила, если, как нам кажется, этого требует ситуация на рынке. В процессе торговли (или исследования системы на истории) мы решили проверить, насколько эффективно работают подобранные фильтры.

Прежде всего нужно выяснить, являются правила-фильтры Ф1 и Ф2 двоичными илинедвоичными. Двоичными я называю правила, для которых действие (открытие или неоткрытие сделки) может быть произведено либо с соблюдением, либо с нарушением этого правила, и никакая третья, неоднозначная ситуация невозможна. К примеру, если формулировка фильтра Ф1 гласит: «ADX(14) должен быть больше 20», это двоичное правило: если при поступлении сигнала на открытие позиции ADX(14) был больше 20, и мы открыли сделку, то правило Ф1 соблюдено, если же по какой-то причине (в том числе если был запрет от фильтра Ф2) не открыли — то правило нарушено.

Фильтры почти всегда двоичны. Недвоичные правила обычно регулируют сопровождение и закрытие позиций; о них поговорим ниже.

…Итак, фильтры у нас двоичные. Поступил сигнал на открытие позиции, оба фильтра не запрещали сделки, и мы её открыли. Правила Ф1 и Ф2, таким, образом были соблюдены. Сделка принесла прибыль 120 долларов. Если бы мы нарушили правило Ф1 или Ф2 и не вошли в сделку, то не получили бы ни прибыли, ни убытка — альтернативная прибыль, таким образом, равна нулю для обоих правил. Составляем такую таблицу (соблюдение правила отмечаем единицей):

№ сделки 
 Правило Ф1
 Правило Ф2
Прибыль
 Альт. прибыль

 1

 1

 1

 120

 0

В следующий раз при поступлении сигнала фильтр Ф1 разрешал сделку, а фильтр Ф2запрещал. Сделка не была открыта — то есть правило Ф1 мы нарушили; в таблице обозначаем это нарушение минус единицей. Правило Ф2 было соблюдено. По прошествии времени мы увидели, что если бы сделка была открыта, она бы принесла убыток 100 долларов. Заносим данные в таблицу:

 № сделки
Правило Ф1 
Правило Ф2 
 Прибыль
Альт. прибыль 

 1



120 


 2

-1 



-100 

В третий раз всё было точно так же, как и в предыдущий: при поступлении сигнала фильтрФ1 разрешал сделку, а фильтр Ф2 запрещал. По правилам системы сделку открывать не следовало. Однако, руководствуясь какими-то дополнительными соображениями (ведь у нас аналитическая система), сделку мы, вопреки запрету, открыли. Таким образом, правило Ф1 было соблюдено, а правило Ф2 нарушено. Прибыль составила 80 пунктов, альтернативная прибыль равна нулю. Заносим в таблицу:

 № сделки
 Правило Ф1
 Правило Ф2
Прибыль 
 Альт. прибыль

 1



120 


 2

-1 



-100 

 3


-1 

80 


В общем, с двоичными фильтрами на вход всё просто: и прибыль, и альтернативная прибыль у них всегда одна и та же, надо только отмечать соблюдение/нарушение каждого правила-фильтра. С недвоичными правилами будет немного сложнее.

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

Прежде всего, значения прибыли и альтернативной прибыли в таблице нужно заменить их кумулятивной суммой (указана в скобках) — то есть значениями балансов от сделки к сделке:


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



Рис. 1. Графики альтернативных балансов при равномерном чередовании прибылей и убытков

На рис. 1 приведены графики для случая, когда торговая система ориентирована примерно на одинаковое количество проигрышных и выигрышных сделок, на их более или менее равномерное чередование. (Разумеется, графики представлены в идеализированном, «теоретическом» виде — примерно как схематические изображения фигуры «Голова-плечи» в учебниках по трейдингу; реальные графики будут выглядеть сложнее и запутаннее, но искусство аналитика в том и заключается, чтоб распознать в них соответствие образцам).

В данном случае мы видим, что наше правило-фильтр работает очень хорошо. При соблюдении правила (левый график) наблюдается явный тренд прибыли вверх и явный тренд альтернативной прибыли (далее, АП) вниз. Выигрышным сделкам соответствует нулевая АП (участки A). Проигрышным сделкам также соответствует нулевая АП (участкиC). Прибыль от выигрышных сделок в целом перевешивает убытки. Неоткрытым сделкам, как правило, соответствует убыточная АП (участки B).

При нарушении правила (правый график) тренды графиков вверх/вниз чаще бывают не столь отчетливыми, но все-таки сомнений в противоположной их направленности не возникает. Проигрышным сделкам соответствует нулевая АП (участки D; зеркальное отображение участков A на левом графике). Неоткрытым сделкам может соответствовать как прибыльная, так и убыточная АП (участки E), однако прибыль от выигрышных «альтернативных сделок» в целом больше убытков. Изредка встречаются прибыльные сделки (участок F); прибыль может быть очень значительной — настолько, что даже на время переломит ход графика, однако подобные сделки являются результатом простого везения, и в целом они не покрывают общего суммарного убытка.

Если система ориентирована не на равномерное чередование профитов и лоссов, а на частые мелкие проигрыши и редкие крупные выигрыши, то графики альтернативных балансов для хорошо работающего правила будут выглядеть иначе (рис. 2):


Рис. 2. Графики альтернативных балансов при частых малых убытках и редких больших прибылей

При соблюдении правила мы видим явный тренд прибыли вверх, правда, очень волатильный, с большими размахами волн. Тренд АП в целом должен идти вниз, хотя и не круто, и может подолгу колебаться на каком-то уровне. Но в целом разнонаправленный ход графиков не вызывает сомнений. Выигрышным и проигрышным сделкам соответствует нулевая АП (участки A и B). Неоткрытым сделкам чаще соответствует убыточная АП, но не исключена и прибыльная (участки C).

При нарушении правила наблюдается примерно зеркальная картина, хотя тренд АП не столь волатилен, как тренд основной прибыли при соблюдении правила. Тренды также, несомненно, расходятся. Большая прибыль по выигрышным сделкам (A) случается реже, и суммарно она меньше убытка по проигрышным сделкам (B). Неоткрытым сделкам (C) может соответствовать как прибыльная, так и убыточная АП, но прибыль по АПперевешивает убыток, и как раз на эти сделки приходится «взятие» больших ходов.

Рассмотрим ещё несколько примеров альтернативных балансов. На следующем рисунке (рис. 3) приведены графики основной и альтернативной прибыли, какие покажет статистически бессмысленное правило, не улучшающее показателей торговой системы и потому являющееся ненужным балластом (приведены графики для соблюдения правила; графики для нарушения выглядят приблизительно так же):



Рис. 3. Пример альтернативного баланса для статистически бессмысленного правила

Оба графика на рис. 3 переплетаются, их линии далеко не расходятся (правда, в случае торговой системы «частые мелкие проигрыши и редкие крупные выигрыши» расхождения могут быть больше). Соблюдение правила не дает никаких преимуществ по сравнению с его нарушением.

Потенциально хорошее правило, но нуждающееся в доработке, чаще всего показывает схождения-расхождения графиков основной и альтернативной прибыли (на рис. 4 приведены графики для соблюдения правила; графики для нарушения выглядят приблизительно так же, но с переменой цветов — зелёный график будет внизу):



Рис. 4. Пример хорошего правила, нуждающегося в доработке

Зоны явного расхождения графиков (A) сменяются зонами схождения (B). При каких-то рыночных условиях правило перестает работать или даже начинает работать «с точностью до наоборот» — то есть приносить убытки. Необходимо выяснить, в каких условиях правило не работает и уточнить его, либо ввести дополнительный фильтр.

Непригодное правило показывает явный тренд обоих графиков вниз (рис. 5):



Рис. 5. Пример непригодного правила

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

* * *

Мы рассмотрели примеры работы с двоичными правилами. В подавляющем большинстве случаев двоичными оказываются правила, регулирующие открытие сделок (то есть сами сигналы открытия и фильтры), и правила установки ордеров (например: «СоотношениеTP / SL не менее 2:1», «SL не более 50 пунктов»). Все же прочие правила — закрытия сделок, наращивания позиции, переноса ордеров — чаще всего недвоичны.

Недвоичным правилом является, к примеру, правило «Закрывать сделку за час до выхода Durable Goods Order», поскольку непонятно, соблюдено или нарушено правило, если сделка была закрыта, когда новостей не ожидалось (по стоп-лоссу, тейк-профиту или по ситуации, предусмотренной другим правилом). В подобных случаях считается, что правило не применялось. Соблюдение/нарушение правила мы отмечали в таблице соответственно единицей и минус единицей. Если правило не применялось, его надо пометить нулём (так удобнее вести расчеты в Excel) и при построении графиков соответствующую сделку просто не учитывать. В остальном, анализ проводится точно так же. Однако у каждого недвоичного правила будет разная альтернативная прибыль.

Метод построения альтернативных балансов позволяет анализировать не только работу правил по-отдельности, но и то, как правила работают «в паре», «втроем» и вообще в любой комбинации — насколько хорошо дополняют друг друга или, наоборот, друг другу мешают. Эта работа более трудоемкая, и общих рекомендаций по её проведению дать нельзя. Тут уже нужен большой опыт. Правда, по сути все исследования альтернативных балансов ничем не отличаются от компьютерной оптимизации механических торговых систем.

С помощью альтернативных балансов можно также исследовать альтернативные правила торговой системы. Это дополнительные правила, которые на торговые решения никак не влияют и включаются в систему единственно с целью тестирования.

Приведём простой пример. Торговое правило системы гласит: «величина take profitдолжна быть в 2 раза больше величины stop loss». Добавляем два альтернативных правила: 1) «take profit составляет утроенную величину stop loss», и 2) «take profit в пять раз больше, чем stop loss». При открытии сделки помечаем альтернативные правила как нарушенные. При закрытии сделки (вернее, через некоторое время после закрытия, когда цена достигнет альтернативного уровня take profit либо уровня stop loss) для каждого правила фиксируем альтернативную прибыль (прибыль или убыток, которые были бы получены, если бы альтернативное правило было соблюдено). Когда накопится достаточная статистика, анализируем эффективность правил и на основании результатов принимаем соответствующее решение — выбираем оптимальную величину take profit для нашей системы.

В заключение приведем пример не теоретического, а вполне реального графика (рис. 6) , полученного при тестировании альтернативного правила торговой системы. Основное правило ТС: «При первой возможности stop loss переносится на уровень безубыток+спред» соблюдено (таким образом, в выборке представлены только прибыльные сделки). Альтернативное правило предлагает «не трогать» stop loss и просто дожидаться срабатывания одного из ордеров. По графикам видно, что соблюдение альтернативного правила увеличивает прибыльность торговли, но в то же время появляются убыточные сделки и временные просадки:



Рис. 6. График, полученный при тестировании реальной торговой системы

Иван Рак

1 комментарий:

  1. Здравствуйте! Да где-то примерно так и есть...

    ОтветитьУдалить

Рекомендую

Обмен ссылками

Обмен ссылками
Для установки кнопки установите фрагмент кода: <a href="http://s-scrooge.blogspot.com/"><img alt="Жадные заметки" border="0" src=" http://4.bp.blogspot.com/_j36XDIVvBUc/TGfeX6uHg-I/AAAAAAAABQ4/y9hP_eAFJvI/S250/s1.gif" target="_blank" title=" Жадные заметки" /></a>
на вашем сайте. В свою очередь готов проделать тоже самое, пишите на: sqs.scrooge@gmail.com