В поисках наилучшего метода
|

В поисках наилучшего метода

В поисках наилучшего методаВ построении торговых систем применяется множество методов, один оригинальнее другого. Но далеко не всегда оригинальность автоматически подразумевает успешность торговли. Увы, довольно часто научные, если это слово вообще применимо, изыскания теоретиков и практиков трейдинга приводят к нулевым результатам. Либо же торговая система, казавшаяся прибыльной, очень скоро при реальной торговле начинает давать негативные результаты.

Не грех вспомнить азбучные истины

Считается, что количество технических методов, которые можно автоматизировать, ограничено. Однако преобразованию в механическую торговую систему (МТС) подлежит, по сути дела, любая форма технического анализа. При большом желании и не менее большом профессионализме можно автоматизировать даже паттерны на графиках каги или крестиков-ноликов. Другое дело, насколько прибыльной окажется такая торговая система, ведь точность определения той или иной фигуры весьма относительна.

Возможности программ построения и тестирования механических торговых систем, конечно, не сравнятся с мощью человеческого ума (в большей степени это верно для MetaStock, в меньшей – для TradeStation), но зато машина лишена нехорошей особенности трейдерской психологии – в силу собственного азарта видеть сигналы входа там, где их нет. Поэтому будущее технического анализа, особенно применительно к краткосрочным спекуляциям, скорее всего, будет за автоматизированными стратегиями.

Если уж говорить о традиционно используемых в построении МТС индикаторах компьютерного теханализа, то не грех вспомнить ложное измышление многих трейдеров о том, что существуют хорошие и плохие индикаторы. Как бы ни подвергались некоторые технические индикаторы нападкам, все же подавляющее большинство из них рано или поздно находит свое применение в МТС. Другое дело, на каких финансовых инструментах эти системы тестируются. Современное программное обеспечение позволяет проводить сравнительное тестирование одной и той же стратегии сразу по нескольким биржевым инструментам. Проведя эту процедуру, легко обнаружить, что результаты тестов могут резко различаться. Миф, что хорошая торговая система должна показывать одинаковую или почти одинаковую прибыльность по всем имеющимся в наличии финансовым инструментам, влечет за собой попытки создать некую усредненную, <среднебольничную>, торговую стратегию. В результате же получается стратегия средней паршивости. Привязывая стратегию сразу ко всем акциям или валютным парам, технический аналитик пропускает мимо себя возможный потенциал прибыльности этой системы, который можно было бы реализовать на каком-то одном финансовом инструменте. Пытаться унифицировать стратегию для инструментов, торгуемых на разных рынках, вообще бессмысленно по определению.

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

Что касается работы МТС на российском фондовом рынке, то это вообще тема отдельного разговора. Если на американском фондовом рынке или на том же FOREX торговые системы могут показывать 100% прибыльности в течение 2-3 лет (абсолютная прибыльность в течение большего срока – явление, скорее, из области фантастики, хотя теоретически и такое возможно), то на рынке российских акций просадок не миновать.

Поэтому, тестируя торговые системы на российском фондовом рынке, не следует заниматься сизифовым трудом, добиваясь 100% прибыльных сделок. Лучше обратить все внимание на уменьшение просадки, возможно, путем экспериментирования со стоп-лоссами. Это же утверждение верно для биржевой торговли некоторыми товарами, обладающими сравнительно небольшими ликвидностью и объемами торговли, – например, углем или кукурузой. Также нелишне напомнить, что нагромождения индикаторов в торговых системах обычно ни к чему хорошему не приводят. Об этом в той или иной форме утверждают в один голос сами же создатели индикаторов. Но на пытливые умы начинающих трейдеров никакие увещевания не действуют. Нельзя ни в коем случае использовать в одной торговой системе индикаторы, принадлежащие к одному классу. Так, использовать стохастик вместе с %R Вильямса просто нелогично. Наиболее логичный вариант применения различных классов индикаторов в одной торговой системе, подходящий для трейдера, который только учится разрабатывать собственные МТС, – использовать для генерации сигналов осциллятор; для фильтра тренда – тренд-следящий индикатор, например скользящие средние; для определения стопов – какой-либо фильтр волатильности, например ATR.

Извечный вопрос технических аналитиков

Извечный вопрос технических аналитиков – что лучше: MetaStock или TradeStation? Справедливости ради следует отметить, что, помимо этих двух, существует еще масса программ технического анализа, им не уступающих. Так, например, программа DimonX позволяет тестировать торговые системы одновременно по разным инструментам и делает это намного быстрее, чем MetaStock. Список таких программ можно продолжать до бесконечности. Выбор между двумя наиболее раскрученными брэндами сводится к тому, что именно эти программы составляют основной ассортимент <развалов> с компьютерными дисками, на которых торгуют пиратской продукцией.

Что касается MetaStock, то в большинстве случаев речь вообще идет об усеченной версии, не позволяющей получать данные в режиме реального времени. В частности, в Минске, где я живу, вообще невозможно найти полную версию MetaStock. Тем не менее, и в усеченной торговые системы тестировать можно, и это главное. Если провести небольшое маркетинговое исследование по трейдерским сайтам в Интернете, то можно обнаружить, что MetaStock держит по популярности пальму первенства не только в странах СНГ, но и на Западе. Примерно 70% всех выложенных в журналах и на сайтах формул торговых систем написаны на языке этой программы. Популярность объясняется большей простотой написания торговых систем в MetaStock по сравнению с основным конкурентом – TradeStation. Но за простоту приходится расплачиваться менее широкими возможностями логического конструирования стратегий. В частности, TradeStation имеет перед MetaStock преимущество хотя бы в том, что, создавая собственный индикатор, пользователь имеет возможность задавать переменные, как в любом нормальном индикаторе, которые входят в пакет того же MetaStock. Если же пользователь MetaStock создал свой индикатор, то сменить периоды и прочие значения он может, только если переделает код. Это, конечно, неудобно. Но язык Easy Language, используемый в TradeStation, требует очень серьезного изучения, это настоящий язык программирования, чего не скажешь о языке MetaStock. Правда, System Builder, встроенный в последнюю версию TradeStation, уже позволяет начинающему пользователю конструировать торговые системы по шаблонам.

“Черные ящики” или открытые системы?

Конечно, каждая из программ технического анализа имеет свои преимущества и недостатки. В идеале трейдеры могли бы комбинировать разные программы, если бы не одно <но>: в каждой из программ используются свой язык построения торговых систем и свой формат файлов, в которых они записываются. Это делает невозможным использование и тестирование одной и той же торговой системы в разных программах. На мой взгляд, причина этого недосмотра производителей коренится в отсутствии здоровой конкуренции на рынке. Пока это рынок баснословно дорогих программ для ограниченной аудитории, но если разработка торговых систем приобретет у трейдеров большую популярность, то рано или поздно производители задумаются об унификации форматов. Когда-то IBM приняла мудрое решение ввести т.н. принцип <открытой архитектуры>. Выгода этого решения для компании сейчас, спустя много лет, очевидна. Отдельный разговор о готовых торговых системах, неважно, что это – <черные ящики> или открытые системы. Обычно у трейдеров при слове <черный ящик> в памяти всплывают ассоциации с нейросетевыми технологиями. Я бы несколько расширил область действия этого понятия, причислив к черным ящикам и такие системы, как ElWawe Analyser или Fibonacci Trader.

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

Типы торговых систем

Механические торговые системы можно классифицировать по-разному. По способу генерации сигналов входа можно выделить трендовые и контртрендовые системы. Первый вариант систем работает только в условиях четко направленного тренда. Достоинством этих систем является способность к длительному удержанию позиции и малое количество сигналов, недостаток – убыточность при нетрендовом рынке. Чтобы уменьшить убыток, в таких системах следует применять фильтры. Контртрендовые системы – это антипод трендовых. Они создаются специально для торговли при боковом тренде, что подразумевает частую смену позиций и ведет к <съеданию> прибыли за счет комиссионных, особенно при внутридневной торговле. По техническому признаку МТС можно разделить на системы на основе скользящих средних, осцилляторные системы, системы на основе индикаторов тренда, паттерновые торговые системы и торговые системы на основе дивергенций. Первый класс систем – наиболее простые и распространенные. Чаще всего в разных комбинациях используются пересечения двух скользящих средних с разными периодами. Более сложный вариант системы этого класса – системы на основе адаптивных скользящих средних. Как правило, они хорошо работают на трендовых рынках. Торговые сигналы нередко запаздывают. Скользящие средние в торговых системах чаще всего используются не самостоятельно, а в качестве фильтра тренда.

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

Системы, использующие индикаторы тренда (Aroon, ADX, MesaSineWave и т.п.), очень популярны. В отличие от скользящих средних, индикаторы дают более точные сигналы и не запаздывают с ними. Эти системы можно использовать в любом рынке, так как они могут четко определять, в какую сторону направлена доминирующая тенденция как при боковом, так и при трендовом рынке. Ведь, как известно, рынок не может стоять на месте, и бычья либо медвежья тенденция должна в любом случае прослеживаться. В этих системах можно применять фильтры волатильности, чтобы не находиться все время в рынке. Если вы работаете с TradeStation, можно в дополнение к индикаторам использовать трендовые линии.

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

Паттерновые торговые системы применимы, скорее, для Trade-Station, чем для MetaStock. Наиболее распространены системы на основе японских свечей, поскольку в программе можно задавать точные размеры тела свечи, ее теней и цвет. Создание таких систем – дело кропотливое, да и не факт, что в конечном итоге они окажутся жизнеспособными. Концепция японских свечей глубоко психологична, и большой вопрос, сможет ли машина к ней приспособиться.

Случайности и закономерности

Надо признать, что в конструировании индикаторов преобладают методы математической интерпретации цены, а в конструировании МТС – то, что в народе называется <научным методом тыка>. То есть, по сути, проектируя механическую торговую систему, мы нередко ищем закономерность в случайных особенностях поведения индикаторов. Это, кстати, то единственное, что роднит <классические> МТС с нейросетевыми технологиями, на основе которых разрабатываются печально знаменитые <черные ящики>.

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

Существует мнение, что при получении статистического преимущества имеет значение только временной промежуток, неважно с каким периодом графика. Это явное заблуждение. Да, дневные графики иногда бывает легче анализировать, чем внутридневные. Но для тестирования торговой системы бывает важнее всего именно количество баров или свечей, а не время тестирования. Будем говорить, свеча для программы – основная единица длительности тестирования. В частности, на FOREX оптимальные результаты достигаются, как показывает практика, на часовых графиках. Особенно нужно следить за просадками графика доходности. Лучше, чтобы результат тестирования был меньше, но стабильнее. Просадка не должна составлять более 10% – эта цифра не с потолка взята, такие условия в цивилизованных странах обычно ставит руководство брокерских контор перед трейдерами.

Если тренд боковой

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

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

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

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

2004

Роман Мамчиц