Баннер МОФТ

Создание советников - обмен опытом

Здесь собраны темы, которые на данный момент потеряли свою актуальность.

Модератор: trader-master

Создание советников - обмен опытом


Сообщение VSPexp » 01 сен 2010, 13:26

В этой теме прошу поделиться "бывалых" трейдеров и програмистов, как же создать своего советника. Как правильно действовать новичку чтоб не попасть в просак с самого начала? Поделитесь опытом! Как правильно составить техническое задание - на что обратить внимание, и как правильно протестировать советника. Практические советы которые помогут представить торговые правила в виде кода, создать способную систему.
VSPexp
 
Сообщений: 1804
Зарегистрирован: 10 ноя 2009, 11:09
Откуда: Владивосток
Баллы репутации: 140
Добавить балл в репутациюВычесть балл из репутации

Re: Создание советников - обмен опытом


Сообщение Александр Степнов » 01 сен 2010, 17:51

Самым сложным будет правильно прописать код так, чтобы советник потом работал "как вам нужно", я в интеренете статейку занимательную видел. Если найду, то обязательно сюда кину. Начинать в первую очередь нужно с "части программиста", остальное уже немного легче.
Александр Степнов
 
Сообщений: 70
Зарегистрирован: 26 июл 2010, 14:44
Баллы репутации: 14
Добавить балл в репутациюВычесть балл из репутации

Re: Создание советников - обмен опытом


Сообщение VSPexp » 02 сен 2010, 01:26

Статья состоит из нескольких частей в общем и целом затрагивающих все аспекты создания механической и автоматической ТС

1часть
Предлагаю Вашему вниманию свой перевод серию статей из почившего ныне в бозе журнала ADT magazine. Автор статей, Патрик Янг, излагает основы проектирования и тестирования механических торговых систем. Своевременное знакомство с этими статьями может спасти килотонны труда трейдерам, которые приступили к разработке собственных систем. Каждый, кто хочет сам делать торговые системы, должен, во избежание горького разочарования, изучить эти статьи очень внимательно. Статьи были опубликованы 10 лет назад, в 1998 году, однако актуальность их с тех пор ни на йоту не уменьшилась.

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

Основные принципы
“Разработка торговой системы - это 10% вдохновения и 90% пота”
Sunny Harris


Когда был изобретен “счетчик карт”, не многие смогли добиться постоянной удачи в опустошении казино, уповая на то, что младенец, прочитавший нужные книги, сможет что-то сделать, не овладев первоначально техникой этого дела. По-моему, системный трейдинг в некотором смысле очень похож на эту ситуацию. Повсеместный рост мощности вычислительной техники на рабочем столе каждого трейдера реализовался в массивный взрыв их возможностей. Десять лет назад большинство трейдеров не могло сделать нечто большее, чем просто “мухлевать” с несколькими входами на своих легендарных, поделенных точками, экранах с Reuters или Telerate. Сейчас они могут получать целую лавину данных, обрабатывать их, вычленять из цифр рыночные модели или соединять их вместе, и запускать поиск информации по фантастически сложным критериям. Если это не совсем “святой Грааль”, то все же может в долгосрочной перспективе обещать неплохую прибыль. Несмотря на такие серьезные инновации, ловушек в системном трейдинге осталось много и они многолики.
Первый, из возникающих вопросов - собираетесь ли Вы вступить на тернистый путь разработки собственной системы или же хотите купить систему, не требующую дополнительных настроек, т.н. “черный ящик”. Многие подобные системы показали, что могут “делать” деньги в течение некоторого времени, однако, значительное число из них абсолютно непригодны. В действительности многие хотели бы работать с “черными ящиками”, особенно с теми, что демонстрируют чрезвычайно хорошие результаты на исторических данных. Но следует знать, что подобные системы просто достаточно точно “подогнаны” к прошлым рыночным ситуациям (curve fitting) и не могут доказать свою “прочность” на реальном, устремленном в будущее рынке.
Другой проблемой “черных ящиков” является доверие к их результатам. Трейдеры, работающие с системой, должны быть действительно уверенны в своей системной методике. Это позволяет длительное время соблюдать торговую дисциплину. Согласитесь, что трудно не задумываясь следовать инструкциям программы с неизвестной логикой, когда от Вас отвернулась фортуна.

Тому, кто решил потратиться на приобретение системы типа “черный ящик”, я рекомендую удержать себя от больших затрат и просто послать чек редактору ADT. В течение шести месяцев, используя генератор случайных чисел, я верну часть Ваших первоначальных вложений (без прибыли, конечно). Я уверен, что величина возвращенной части будет значительно больше, чем средний доход, получаемый от многих “черных ящиков”!

Цель этой серии статей заключается в широком обзоре основных аспектов системного трейдинга. Кроме того, мы попытаемся предложить, как неискушенным, так и опытным разработчикам, подобие некой помощи на пути к созданию “законченной” торговой системы.
Конечно, возникает вопрос, “что такое, на самом деле, законченная система?”. Первичная и самая актуальная заповедь всех трейдеров заключается в создании системы, которая будет эффективной в их собственном представлении. Другими словами, система должна быть тем, что соответствует вашими собственным инвестиционным целям. В этом отношении концепция четкого бизнес-плана (по которой было много дискуссий в предыдущих выпусках ADT) является настолько же важной, как и создание самой системы торговли.
Собираясь создать торговую систему, мы имеем одну естественную цель, заключающуюся в разработке “долгоиграющей” машины для получения прибыли. Программа должна быть, как говорят системные трейдеры, робастной (устойчивой). Другими словами, она должна устоять во время тяжелых рыночных “штормов” и бороться с ними с упорством непотопляемой гоночной яхты. Системы, которые не будут робастными во всех сериях, различных рыночных ситуациях, обречены на поражение. Мы ждем от системы умения совладать со всеми “временами года” и настроениями рынков и, желательно, чтобы во всех этих ситуациях она была прибыльна. Таким образом, создание робастной системы является одной из целей, к которой стремятся абсолютно все разработчики.
Другие цели связаны с индивидуальными обстоятельствами. Их можно классифицировать следующим образом:
• Величина капитала
• Психологические аспекты
• Желаемая прибыльность
• Текущее обслуживание
• Индивидуальные требования к системе
• Величина капитала

Величина капитала
Профессиональные трейдеры, работающие в институциональных организациях, должны решить - хотят ли вкладывать все средства только в системную торговлю или разделить свои лимиты на “системную” и “несистемную” части. По моему опыту, многие банковские трейдеры выделяют небольшую часть своих торговых лимитов для какой-либо следящей за трендом системы. Последняя используется в роли постоянного генератора прибыли на интервалах, выходящих за рамки внутридневной торговли, отчасти, как неплохой способ поддержания долгосрочной перспективы. Сами же трейдеры концентрируются на краткосрочных операциях. Кроме того, институциональные инвесторы часто имеют возможность торговать на нескольких рынках. В данном случае возникает проблема, какую систему использовать: простую модель, ориентированную на специфический рынок, или более универсальную, которая может применяться на различных рынках.
В отношении частных инвесторов ситуация намного проще. Такие инвесторы обычно ограничены количеством свободного времени и размером торгового счета. Не обманывайте самого себя в отношении свободного времени. Если Ваша профессия занимает полный рабочий день и это время полностью загружено, то Вы не сможете торговать на “внутридневной” основе. Я встречал некоторых работников, которые следили за своими позициями по пейджерам, спрятанным под полой одежды. Но тогда, в дополнении к риску получить осложнения на службе, возникает проблема постоянного дискомфорта в нижней части диафрагмы, что может легко придать Вам облик человека, изрядно страдающего от нервной чесотки. Вместо “внутридневной” торговли, работайте с “дневными”, а может быть и “недельными”, системами, которые требуют меньшего контроля и могут быть проверены после работы, в домашней обстановке.
Наряду с этим, не тешите себя иллюзиями при отсутствии достаточного капитала. При активах в 25 000 $ невозможно успешно управлять торговой системой, имеющей максимальную историческую просадку в 40 000 $. И еще несколько мыслей для непрофессиональных разработчиков торговых систем, которые намериваются оставить свою постоянную работу, чтобы иметь возможность торговать целый день. Вспомните, что Вы сейчас имеете постоянный годовой доход, плюс все сопутствующие этому преимущества. Системная торговля будет занимать все 365 дней в году, без отпускного пособия. При этом Вам будет необходимо заработать сумму, не только эквивалентную теперешнему доходу, но и достаточную для покрытия значительных расходов: пенсионных взносов, медицинской страховки и т.д. И уж точно не следует оставлять работу, уповая на “надежную” систему, которая показывает великолепные результаты на исторических данных. В реальном мире только уникальная система будет “делать” столько же денег, сколько показывает ретроспективное тестирование (этот аспект мы детально обсудим в следующей статье).

Психологические аспекты
Очень важно реально оценивать свои собственные умственные способности и ограничения, в противном случае созданная Вами система может вызвать глубокие личностные разочарования. Не существует правильных и неправильных типов личности, просто мы все разные. Например, у Вас получилась чрезмерно волатильная система. Она выдает частые и широко амплитудные колебания прибыльности, тогда как Вы хотите сохранить свой капитал и постепенно его наращивать при низком риске. Естественно, такая система Вам не подойдет.
Если же Ваше желание торговать связано с необходимостью острых ощущений, то содержимое наших статей вряд ли будет для вас полезным. Система никогда не даст той нервной дрожи (или удовлетворения), которое можно получить, принимая собственные решения. Это не входит в ее задачи. С другой стороны, она может помочь Вам заработать больше долларов. Помните, что интересная жизнь - это не то же самое, что хорошая торговля. Система призвана помогать автоматизировать Ваши решения и сделать результаты торговли более надежными. Она должна уменьшить количество ошибок в Вашем анализе при помощи компьютеризации актуальных вычислений.
Если же Вы хотите только эмоций, оставьте на время этот способ торговли. Если Вам нравиться проводить свой собственный анализ и воплощать свои мысли в действия, тогда системный трейдинг также не для Вас. Вместе с тем, если Вы часто становитесь жертвой “аналитического паралича”, тогда система может быть неплохим “доктором”, заставляющим поверить в свои идеи и помочь превратить их в реальные торговые действия.

Ожидаемая прибыль
Если Вы настойчиво пытаетесь разработать систему, которая будет регулярно, из года в год, приносить 1000% годовых, то с тем же успехом Вы можете забраться на крышу и лаять на луну. Это все, что остается Вам делать. Если Вы сможете постоянно делать 20% годовых в течение 20 лет, то Ваше имя впишут золотыми буквами в книги по экономике и инвестициям. Системы могут зарабатывать больше, однако, они не могут делать невозможного. В отношении прибыльности системы необходимо иметь реалистичные желания.

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

Индивидуальные требования к системе
Этот момент также относится к психологическим критериям, в том смысле, что Вы можете запланировать определенные специфические требования к системе. Одни хотят ограничить максимальную просадку определенным процентом (10 или 20%). Это является обычным для систем, цель которых заключается в сохранении денег. Других не удовлетворяет система, имеющая длинный ряд непрерывных потерь, скажем 10 или больше убыточных трейдов подряд. Все сказанное в большей степени является отражением психологии трейдера, который будет использовать систему, а не что-нибудь еще. Помните, Вы должны ощущать себя со своей системой комфортно. В противном случае, когда настанет период потерь, Вы, вероятно, перестанете в нее верить и откажетесь от торговли раньше, чем система сможет восстановить свою прибыльность.
Продумайте законченный, детальный проект, который Вы хотите осуществить. В следующем разделе мы будем рассматривать составляющие, которые будут объединяться конкретной математикой торговых систем.

2часть

Проектирование торговых систем
Известно, что «те, кто не знают историю, вынуждены ее повторять». Разработка механических торговых систем дает возможность изучить историю и найти способы использования этого знания в будущем. Необходимо при этом постоянно помнить о важности предотвращения подгонки истории под исторические данные. Мы подробно обсудим этот важный аспект в последующих статьях, посвященных тестированию на исторических данных.
Есть семь ключевых элементов, о которых необходимо помнить при создании торговой системы:
1. Идеология системы
2. Техника фильтрации
3. Входы в позицию
4. Первоначальные стопы
5. Скользящие защитные стопы
6. Выход из позиций
7. Повторный вход и методика переворота

Идеология системы
Есть три типа систем, которые могут быть использованы для торговли:

1. Системы, следующие за трендом
В этом случае нам надо сначала определить, куда идет рынок – вверх, вниз или вбок. Это может быть одно правило или набор из нескольких правил.

2. Пробойные системы
Следующие за направлением пробоя после консолидации или торговли в диапазоне.

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

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

Входы в позицию
Целью создания правил входа в позицию является получение однозначных правил, которые не нуждаются даже в минимальной интерпретации со стороны человека.

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

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

Выходы из позиции
Могут осуществляться как по достижению одного из стопов или цели или изменения тренда и т.д.

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

Некоторые ловушки
Простейшие ошибки при создании систем достаточно легко обнаружить.
Прежде всего, важно количество правил в торговой модели и их сложность. Хорошие системы настолько просты, что вы можете за 5 минут объяснить их теще, перед тем, как оставить ее торговать за себя. Поэтому, если система включает в себя 20 страниц формул, то почти наверняка речь идет о подгонке под исторические данные.
Во-вторых, фильтрация сигналов, будучи сама по себе очень полезной, может быть излишне сложной. Некоторые трейдеры продолжают добавлять фильтры, пока эквити торговой системы не превратится в линию без просадок. Нужно понимать, что, хоть мы и стремимся отфильтровать некоторые сигналы, приводившие к убыточным сделкам, но мы не можем отфильтровать их все. Слишком большое количество фильтров – это тоже разновидность подгонки. Многие опытные разработчики систем не применяют в системе более 5 фильтров.
Важным фактором является учет ликвидности базового для торговой системы рынка. Не торгуйте биржевые контракты с объемом менее 5 тыс. лотов в день и открытым интересом менее 20 тыс. контрактов.
Многие системы генерируют сигналы по ценам закрытия рынка. Хотя большинство торговых программ (Tradestation или Metastock) позволяют вам при тестировании открывать позиции по ценам закрытия дня, вам надо учитывать, когда в реальности вы сможете получить сигнал от своей торговой системы и когда – его исполнить. При исполнении сигналов «по закрытию» на следующий день «по открытию» могут возникать значительные расхождения с результатами тестирования с ценами исполнения «по закрытию».
Хотя может быть возможно написать сигналы, которые генерируются на основе прогноза диапазона закрытия дня незадолго до закрытия рынка, их исполнение будет возможно только в пределах того лимита ликвидности, который проходит за этот остаток сессии. Некоторые трейдеры ошибочно предполагают, что они смогут продать, к примеру, тысячи контрактов на медь с прекрасным исполнением сразу перед закрытием LME. В реальности, однако, такие заявки вызовут колоссальное движение цен и все равно весь ордер не будет исполнен.
Более того, исполнение собственных сделок сразу перед закрытием рынка в ожидании наступления сигнала «по ценам закрытия» может само по себе вызвать сдвиг цены закрытия в ту область, где сигнал не возникает.
При учете таких моментов, связанных с окончанием торгового дня, важно учесть, что некоторые рынки не имеют точно определенного времени окончания работы (например, форекс). Просто к вечеру происходит постепенное исчезновение ликвидности, причем в разные дни это может происходить в разное время. Торгующим на таких рынках надо заранее определить точку, в которой они сами закрывают или открывают позиции.
При оценке ценовых данных за день необходимо уточнять, включены ли в них данных о послесессиях. Максимумы регулярной торговой сессии могут быть значительно меньше, а минимумы – больше, чем максимумы и минимумы послесессии, не говоря уже о ценах закрытия дня.

3 часть

Стопы и системы
“…из двух компонент, системы торговли и управления риском, последняя значительно важнее для ваших результатов как трейдера или управляющего фондом. ”
Ralph Vince

Существует большое количество различных концепций, которые могут быть использованы в качестве стопов в торговых системах, как изолировано, так и в различных сочетаниях.
Наиболее популярны у разработчиков систем следующие стопы:
1. Первоначальный стоп (initial stop): процент или фиксированное количество капитала от цены открытия позиции.
2. Скользящий стоп (trailing stop): позиция закрывается, когда теряется заранее определенное количество (в процентах или абсолютном количестве) прибыли. Цена стопа следует за рынком снизу (для длинных позиций, для коротких – сверху) по мере того, как рынок движется в нужную нам сторону.
3. Целевой стоп (profit target): позиция закрывается по достижению прибылью определенного значения.
4. Стоп на безубыточность (breakeven): При достижении определенного уровня прибыли первоначальный стоп повышается до цены открытия позиции. Я часто включаю этот стоп в свои системы, поскольку это соответствует моему стилю торговли. Мне нравится уменьшать психологическое давление на себя знанием того, что, начиная с определенного момента (часть в ранней стадии развития трейда), мой риск убытка по трейду равен нулю.
5. Стоп по неактивности (inactivity / time stops): Этот тип стопов срабатывает когда рынок оказывается неспособен пройти в нужном направлении на определенную величину или процент в течение определенного срока после открытия позиции.

Конкретные величины стопов зависят от трейдеров. К примеру, ветеран системной торговли Williams предпочитал относить стопы достаточно далеко. С другой стороны ряд трейдеров успешно торгует системы с очень близкими стопами, вплоть до одного тика. Существует мнение, что хорошие трейды начинают приносить прибыль практически немедленно после открытия позиции. Минусом такого подхода является огромное количество сделок, которые закрываются практически сразу после открытия. Легко может статься так, что вы при таком подходе получите только 20 прибыльных сделок из 500 открытых позиций. Мало кто из трейдеров имеет терпение торговать такие подходы.
Для определения того, насколько широким должен быть ваш первоначальный стоп, можно изучение поведение рынка в период перед открываемой позицией.
Например, некоторые трейдеры могут использовать в качестве первоначального стопа уровень сразу за экстремумом последних 14 дней (минимум для длинных позиций или максимум для коротких). Для больших таймфреймов могут использовать экстремумы за более длительные периоды – 20 или дней.
Другой адаптивный подход может быть основан на измерении волатильности. К примеру, можно взять средний дневной диапазон цен за последние 10 дней (Х) и поместить стоп на удалении в 10*Х от цены входа. Точная цифра, безусловно, будет зависеть от размера вашего капитала и вашей устойчивости к риску.
В целом, чем шире начальный стоп, тем меньшее влияние он оказывает на результаты системы.
Сделать торговую систему, которая дает 90% выигрышных сделок очень просто. Надо всего лишь поставить очень широкий первоначальный стоп и очень близкий целевой стоп. Например, первоначальный стоп в размере 1500$ и целевой стоп на 100 $. Остается одна маленькая проблема – такая система будет убыточной.

Лучшие трейдеры планеты в самом хорошем для себя случае делают 4 прибыльные сделки из 10. В то же время самые худшие трейдеры обычно делают 8 или 9 успешных сделок из 10.

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

Например, торговая система имеет вероятность получения прибыльной сделки 35%, а результаты сделок независимы друг от друга. Тогда вероятность 10-и подряд убыточных сделок равна (1-0.35)^10, что составляет 1.3%. Если средняя величина стоп-лосса составляет 2% (как это рекомендуется многими разработчиками), то в серии из 1000 сделок будет 13 просадок по 20% каждая.

Еще один важный момент, который надо иметь ввиду, состоит в том, что чем меньше просадка, тем легче ее отыграть (эффект асимметричности левериджа). Рассмотрим таблицу:
Потеря капитала,% Прибыль, необходимая для восстановления, %
5 5.3
10 11.1
15 17.6
20 25.0
25 33.3
30 42.9
35 53.8
40 66.7
45 81.8
50 100.0
55 122.0
60 150.0
Имейте в виду, что последовательные серии убытков – это не просто некая абстрактная возможность. Это то, что будет происходить постоянно. Когда они случаются, необходимо иметь достаточно веры в систему для того, что бы продолжать следовать ее советам. По закону Мерфи такие ситуации, в которых проводится тестирование на уверенность, происходят сразу после начала торговли системы. Это еще одно соображение против использования так называемых «черных ящиков» - торговых систем, чью логику вы не знаете. Необходимо проделать необходимую работу самостоятельно и воспитать в себе уверенность в собственном торговом подходе.

Необходимо так же учитывать проскальзывания при исполнении сигналов. Это – важный элемент при создании торговых систем. Почему-то ряд трейдеров полагает, что их брокер обладает сверхчеловеческой возможностью постоянно осуществлять стоп-ордера по тем ценам, по которым они установлены. Трейдерам надо иметь реалистичные ожидания в этой области.
Точно так же необходимо корректно выставлять уровень брокерской комиссии. Да, у вас может быть договор с брокером, по которому % комиссии снижается при увеличении объема операций. Однако с целью безопасности ставьте при тестировании наибольшее из возможных значений брокерской комиссии.
VSPexp
 
Сообщений: 1804
Зарегистрирован: 10 ноя 2009, 11:09
Откуда: Владивосток
Баллы репутации: 140
Добавить балл в репутациюВычесть балл из репутации

Re: Создание советников - обмен опытом


Сообщение VSPexp » 02 сен 2010, 01:30

Варианты выходов при проектировании торговых систем

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

При тестировании действенности методики входа хорошо сначала выходить из трейда просто через определенное количество баров. Если вы будете делать что-то более сложное, то очень скоро вы обнаружите, что на самом деле тестируете свои выходы, а не входы. Если вы будете менять условия выходов при попытке отработать стратегию входа, то результаты будут варьироваться настолько сильно, что будет невозможно сделать никаких достоверных заключений о действенности стратегии входа. В сочетании с правильным выходом почти любая стратегия входа будет выглядеть великолепно. В сочетании с плохим выходом та же самая стратегией входа будет выглядеть ужасно.
Целью входа является инициация трейда в правильном направлении. Для тестирования эффективности входа можно просто измерять в каком проценте случаев трейды инициировались в правильном направлении. Например, вход “A”, имеющий 60% прибыльных трейдов после 5 дней лучше, чем вход “B”, имеющий только 45% прибыльных трейдов после 5 дней.

Не надо делать выводов о риске или прибыльности при выборе лучшего входа. Что, если вход “A” приносит убытки, а вход “B” - прибыль? Остается ли вход “A” лучше? Ответ - “Да”, поскольку целью входа является не получение прибыли, а инициация трейда в правильном направлении. После этого все остальное зависит от выхода. Входу “B” просто повезло сделать больше денег из-за конкретного срока выхода, который мы выбрали. Мы легко можем изменить наш выход и обнаружим, что вход “A” будет давать большую прибыль, чем “B”, поскольку он инициирует трейд в правильном направлении чаще. Для максимизации прибыли необходимо комбинировать правильный вход с правильным выходом.

Выход на основании Money Management
Вероятно, самым простым и в то же время наиболее важным является выход на основании Money Management, классический “стоп-лосс”. Это выход, который защищает торговый капитал и предотвращает разорение.

Торговля без стоп-лосса - это верный путь к разорению. Широко известный трейдер и писатель Виктор Нидерхоффер (Victor Niederhoffer) потерял десятки миллионов долларов денег клиентов, когда довел счет своего фонда до нуля (и даже остался должен что-то около 20 млн долларов сверху). Это не удивительно. Неизбежность такого исхода была предрешена годы назад, когда Нидерхоффер писал:
“Я никогда не использовал стопы. Применение мной фиксированных правил выхода предоставляет моим противникам слишком большое преимущество”

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

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

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

Адаптивные стоп-лоссы
Для того, чтобы разработать стоп-лосс адаптивный к условиям текущей рыночной волатильности, необходимо уйти от фиксированного стоп-лосса и изучить другие пути размещения защитного стопа в зависимости от характеристик рыночной волатильности.
Один из подходов заключается в изучении движения цен для определения места размещения стоп-лосса. Например, наименьшее или наибольшее значение цены за Х последних дней может быть использованно как стоп-лосс. Мы называем такой вариант “стоп-лосс канала” (Channel Stop). Стоп-лосс канала очень адаптивен к текущим рыночным условиям, поскольку он меняется с изменением тренда и волатильности. Канальный стоп-лосс находится на удалении от цен в периоды высокой волатильности и сильного тренда и приближается к ценам в периоды низкой волатильности и снижения силы тренда. В основе этого стопа лежит очевидная логика - мы знаем, что прорыв важных максимумов и минимумов часто является сигналом разворота тренда. Поэтому стоп-лосс, размещенный на уровне максимумов или минимумов является обоснованным с точки зрения технического анализа.
В тоже время у этого стопа есть свои недостатки. В период сильного тренда он может быть размещен слишком далеко от разумной точки выхода. С другой стороны, на консолидирующемся рынке с низкой волатильностью такой стоп может, наоборот, быть слишком тесным. Кроме того, возможная величина потерь все время варьируется и зависит от того, как далеко цены ушли от точки входа, что затрудняет расчет величины риска на сделку.
Другой адаптивной стратегией является использование значительных уровней поддержки и сопротивления для определения позиции стоп-лосса. Можно использовать важные рыночные паттерны, например, опорные точки минимумов или максимумов для определения размещения стоп-лосса. Преимуществом использования цены и технических точек для определения позиции стоп-лосса является то, что что стоп располагается в соответствии с логикой в месте, откуда дальнейшее движение против открытой позиции будет являться логическим оправданием закрытия этой позиции.
Другим способом разработки стоп-лосса является изучение текущей рыночной волатильности. Мы можем использовать средний торговый диапазон (Average True Range) в течение определенного периода времени или стандартное отклонение цен (Standard Deviation) в течение какого-то периода и умножать эту величину на некую константу для определения того, как далеко может быть расположен от нашего входа. Одним из наших любимых стоп-лоссов является просто взять Average True Range за определенный период, умножить его на некий фактор и расположить на этом удалении от входа стоп-лосс. Для предотвращения случайных движений цен рекомендуется распологать стоп на удалении более, чем одна величина Average TrueRange от точки входа. Преимуществом использования стоп-лосса основанного на Average True Range является то, что он высоко адаптивен к текущим рыночным условиям. Расстояние от точки входа до точки выхода будет увеличиваться в периоды высокой рыночной волатильности и уменьшаться в приоды низкой рыночной волатильности. В реальной практике можно обнаружить, что проблемы с этим стопом начинают возникать тогда, когда краткосрочная рыночная волатильность становится необычно маленькой и узкие стопы могут быть выбиты случайным движением. Для устранения этих ложных срабатываний стопов мы рассчитываем как краткосрочную рыночную волатильность (3-4 дня), так и долгосрочную (15-20 дней) и устанавливаем стопы с использованием того значения волатильности, которое на данный момент оказалось большим. Это позволяет стопам двигаться достаточно быстро и предотвращает ложные срабатывания стопов после нескольких необычайно спокойных дней.
Другой вариант адаптивного стоп-лосса связан с использованием стандартного отклонения (Standard Deviation) прошедших цен как величины, связанной с волатильностью. Например, можно рассчитывать стандартное отклонение за определенный период, умножать полученную величину на некую константу и размещать стоп от точки входа на полученную величину. Обоснование этого стопа такое же, как и у ATR стоп-лосса. Цель состоит в том, чтобы игнорировать случайние колебания цен, но уменьшать потери в том случае, когда цены начнут действительно серьезное движение против открытой позиции.
Адаптивные стоп-лоссы, основанные на волатильности играют важную роль в управлении капиталом. Вероятная величина потерь может быть быстро посчитана до момента открытия позиции и мы можем быть уверены в том, что потенциальный размер убытков соответствует текущим рыночным условиям.

Например, предположим, что наша система предлагает разместить стоп-лосс на расстоянии
полутора величин 20-дневного ATR от точки входа. Если мы возьмем в качестве исходных данных рынок S&P 500 начала 90х годов, то Average True Range был равен в то время $1,250, следовательно стоп-лосс надо разместить на расстоянии $1,875 от точки входа. Теперь предположим, что размер капитала составляет $100,000 и мы хотим рисковать за один раз 10% этого капитала. Основываясь на волатильности начала 1990-х годов мы будем торговать 5 контрактами, рискуя, таким образом, $9,375 нашего капитала. Теперь предположим, что мы торгуем ту же систему в 1999 году. Теперь Average True Range рынка составляет $5,600. В соответствии с этим стоп-лосс располагается на растоянии $8,400 от точки входа. Если мы по прежнему торгуем те же самые $100,000 капитала с приемлимым риском 10%, то мы должны покупать только 1 контракт. Как вы видете, адаптивный стоп-лосс - это прекрасный способ управления рисками в условиях меняющейся рыночной волатильности.

Выходы.
Не являются ли ваши стоп-лоссы слишком узкими или слишком широкими?
Часто случается так, что стоп-лоссы оказываются или слишком тесными и вызывающими частые ложные срабатывания или, наоборот, слишком широкими и приводящие к неоправданным потерям нашего капитала. По результатам наших исследований мы пришли к выводу, что для большинства систем выгоднее иметь относительно широкие стоп-лоссы.
На первый взгляд кажется, что чем уже стоп-лоссы, тем меньше убытки. Однако это выглядящее логическим заключение не подтверждается при тестировании. Почти во всех случаях широкие стоп-лоссы дают больший процент прибыльных сделок и снижают потери. Небольшие стопы выглядят психологически привлекательными, однако могут в действительности снижать производительность систем, поскольку чувствительны к частым срабатываниям, вызываемым случайными движениями цен. С другой стороны, большие стопы тоже могут быть психологически привлекательными, поскольку они срабатывают значительно реже и системы с широкими стопами обычно генерируют большее количество прибыльных сделок. Однако оборотная сторона широких стопов состоит в том, что трейдер периодически страдает от относительно больших потерь, хотя и не очень частых, размер которых может психологически восприниматься очень тяжело. Есть ли компромисное решение данной проблемы?

Мы верим, что да. Интересный феномен, который мы наблюдали в наших исследованиях состоит в том, что часто возможно расширять размер стоп-лосса на короткий период после открытия позиции. Мы считаем возможным давать рынку в первые несколько дней после открытия позиции большую свободу более широкими стоп-лоссами. Однако после определенного количества дней стоп-лосс часто может быть значительно уменьшен. Например, если мы имеем стоп-лосс в размере $5,000 при входе на рынок S&P 500 и размер этого лосса нами неприятен ?, то вполне возможно иметь стоп-лосс такой величины только несколько первых дней после открытия позиции, а потом сузить его до $2,500 на все оставшееся для открытой позиции время. Вероятность выйти по стопу размером в $5,000, таким образом, уменьшается, хотя сохраняется возможность того, что значительное движение против вашей позиции в первые несколько дней заставят вас выйти по стопу максимального размера. Точная величина стопа и сроки его изменения должны определяться с помощью компьютерного и статистического анализа характеристик системы. Для некоторых следующих за трендом торговых систем мы обнаружили, что можно значительно увеличить доходность применяя большие стопы в первые дни трейда и в последующем уменьшая их на 50 и более процентов по мере увеличения продолжительности открытой позиции.
Эта техника сужения стопов через несколько дней имеет под собой логическое обоснование: мы знаем, что точность предсказания сигналов входа уменьшается по мере удаления от точки входа в будущее. В большинстве случаев индикаторы, определяющие вход, лучше предсказывают движение цен в следующие два дня, нежели в следующие две недели. Начиная трейд с широким стоп-лоссом мы даем ценам достаточную свободу для движения в правильном направлении, пока это соответствует периоду высокой достоверности сигнала входа. По мере продвижения трейда в будущее достоверность сигнала на вход снижается, поэтому мы сужаем стоп-лоссы, что отражает уменьшение нашей уверенности в продолжении движения цен в нужном нам направлении.
Существуют и другие возможности решения проблемы широкого стоп-лосса. Например, использование на более поздних сроках трейда breakeven stop (стоп защищающий количество акций) или profit protection stop (стоп защищающий прибыль). После активизации этих стопов возможность принятия больших стоп-лоссов существенно уменьшается или вовсе устраняется.

Правильное понимание и использование стоп-лоссов жизненно необходимо для выживания трейдеров. Стоп-лоссы эффективно ограничивают величину максимальных потерь, которые могут быть получены при торговле, что вносит свой вклад в самую важную задачу торговли - сохранение торгового капитала. Торговля без стоп-лосса - это путь к значительному увеличению вероятности катастрофического уменьшения вашего торгового счета.
Важность стоп-лоссов исчерпывающе полно суммирована Jack Schwager в его книге “TheNew Market Wizards”: “Если вы не будете принимать маленьких убытков, то рано или поздно вас посетит праматерь всех потерь… ”

Trailing Stops (скользящий стоп)
Теперь, после того, как мы предприняли необходимые предосторожности для предотвращения катастрофических потерь путем использования стоп-лоссов, можно сконцентрироваться на стратегиях, которые созданы для накопления и удержания прибыли на рынке. При правильном применении эти стратегии призваны выполнять две важные функции - они позволяют прибыли накапливаться, в то же самое время они должны защищать уже полученную после входа в трейд прибыль.
Хотя область их применения чрезвычайно широка, мы не считаем, что трейлинг-стопы следует применять для всех торговых ситуаций. Большинство из описываемых нами трейлинг-стопов сконструированны специально для того, чтобы позволять накапливаться прибыли. Поэтому лучше всего их использовать с системами, следующими за трендами. Для контртрендовых систем лучше подходят более агрессивные выходы. Философия “если у вас есть прибыль - берите ее” лучше работает при торговле против трендов, когда величина возможной прибыли ограничена. Однако, быстрое снятие прибыли при торговле по тренду обычно приводит к одним расстройствам - мы выходим из рынка с небольшой прибылью только для того, чтобы наблюдать как громадный тренд продолжает двигаться в нашем направлении днями или даже месяцами после нашего преждевременного выхода. Поэтому мы рекомендуем использовать различные стратегии выхода в зависимости от рыночных условий. Более агрессивные варианты выходов будут обсуждены ниже, сейчас мы сконцентрируемся на стопах, сконструированных для того, чтобы накапливать с течением времени значительную прибыль.
Понимание трейлинг-стопов критически важно для трейдеров, торгующих тренды. Это связано с тем, что торговля трендов обычно связана небольшим процентом прибыльных трендов, что делает чрезвычайно важным получение максимально возможной прибыли в тех случаях, когда такой не частый, но значительный тренд происходит. Типичные трейдеры, торгующие тренды, получают основную часть своей прибыли с редких, но значительных трендов, все оставшееся время они стремятся к эффективному уменьшению убытков во время более длительных движений вбок.
Рациональное обоснование использования трейлинг-стопов основано на ожидании редких и необычайно сильных трендов и возможности получения значительной прибыли во время этих главных трендов. Если вход своевременен и рынок продолжает двигаться в направлении входа, то трейлинг-стопы - превосходная стратегия выходов, которая позволяет нам получить значительную часть прибыли с этого тренда.
Трейлинг стопы, описываемые здесь, имеют сходные характеристики, знание которых важно для понимания того, как мы их используем в наших торговых системах. Эффективные трейлинг-стопы могут значительно повысить прибыльность торговых систем, основанных на следовании за трендом, позволяя нам максимально использовать трейды с потенциально большой прибылью. Соотношение profit/loss обычно значительно увеличивается при правильном использовании трейлинг-стопов. Однако есть некоторые отрицательные стороны этих стопов. Количество прибыльных сделок может иногда уменьшаться, так как эти стопы могут позволять умеренно-прибыльным трейдам превращаться в убыточные. Также, редкие значительные откаты после открытия прибыльной сделки могут делать использование этих стопов психологически трудным. Ни один трейдер не получит удовольствия, наблюдая как большая прибыль уменьшается до незначительной или как прибыльная сделка становится убыточной.
The Channel Exit
Простейшим способом следования за трендом является установка стопа, который постоянно двигается в направлении тренда используя текущие максимальные или минимальные цены. Например, при следовании за восходящим трендом стоп может быть установлен на минимальное значение последних нескольких баров; при следовании за трендом вниз - на максимальное значение последних нескольких баров. Количество баров, используемых для определения максимальных или минимальных цен, зависит от того, сколько свободы мы можем позволить себе дать тренду. Чем больше баров мы используем, тем больше свободы даем мы тренду и тем можем потерять прибыли при откате, прежде чем сработает стоп. Использование малого количества баров приводит к сужению стопов и быстрому выходу из трейда.
Этот тип стопов обычно называют “Channel Exit” (стоп по выходу из канала). Слово “channel” происходит от канала, который формируют, используя X-дневные максимумы и минимумы для выходов из короткой или длинной позиций соответственно.
Для большинства наших примеров мы предполагаем, что мы работаем с дневными барами, но мы можем работать с данными любого временного масштаба в зависимости от типа систем, которые мы создаем. Стоп по выходу из канала чрезвычайно гибок и может работать как с недельными барами, так и с пятиминутками. Также держите в уме, что все примеры относительно длинных позиций легко могут быть применены и для коротких позиций.
Обоснование стопа по выходу из канала очень простое. Предположим, мы решили использовать 20-дневный канальный выход для наших длинных позиций. Каждый день мы будем определять минимальную цену за последние 20 дней и помещать наш стоп в эту точку. Многие трейдеры могут размещать канальный стоп на несколько пунктов ближе или дальше этой точки - в зависимости от их предпочтений. По мере того, как цены движутся в направлении тренда минимальная цена последних 20 дней постепенно увеличивается, таким образом “идя следом” за трендом и чуть ниже него и позволяет защищать определенное количество накопленной прибыли. Важно отметить, что канальные стопы всегда движутся только в направлении стопа и никогда в обратном направлении. Когда цены упадут ниже минимальной цены последних 20 дней трейдер закрывает свои позиции с использованием стопа.
Первый и наиболее важный вопрос о канальном выходе - сколько использовать баров для определения точки выхода. Должны ли мы устанавливать стоп на уровне минимума последних 5 дней или 20, или, быть может, нужно какое-то иное число? Ответ зависит от свойств системы. Ясно установленный набор характеристик системы всегда очень полезен для ответа на этот важный вопрос. Хотим ли мы сделать долгосрочную систему с поздними выходами или хотим сделать краткосрочную с быстрыми выходами? Большая длина канала обычно позволяет получать больше прибыли в течение длительного времени при наличиии длинного тренда. Более короткий канал позволяет получать больше прибыли если на рынке преобладают более короткие тренды. В результате наших исследований мы пришли к выводу, что для долгосрочных систем следует использовать трейлинг-стопы с числом баров 20 и более, среднесрочные системы лучше работают при числе баров от 5 до 20, а краткосрочные системы получают максимальную прибыль при временном окне до 5 дней. Мы также обнаружили, что очень короткие каналы, с длинной от 1 до 3 дней хорошо работают при “убегающем” рынке, когда развивается очень крутой тренд. Мы наблюдали, что такой тип трейлинг-стопа при наличии сильного тренда часто позволяет оставаться в трейде почти до самой вершины.
Представляется, что между выходами по канальным стопам различной длины есть логичекое противоречие. Более длинные каналы будут давать больше прибыли, однако велика будет и упускаемая часть прибыли. Более короткие каналы будут давать меньше прибыли, однако захватывать большую ее часть. Как разрешить это противоречие и и создать выход, который бы накапливал значительную прибыль и, одновременно, уменьшал долю упускаемой прибыли? Очень эффективный подход состоит в постепенном сужении канального стопа по мере развития тренда. Вначале следует использовать канальный выход, основанный на большей ширине временного окна, далее, по мере развития тренда или при наличии крутого тренда, ширину канала надо сужать для получения очень узкого канала, эффективно фиксирующего прибыль.
Вот пример применения такого подхода. После входа в длинную позицию и размещения стоп-лосса для предотвращения катастрофического уменьшения торгового капитала, мы будем использовать скользящий стоп, основываясь на минимальном значении цен за последние 20 дней. Этот 20-дневный канальный стоп обычно достаточно широк для предотвращения ложных срабатываний и позволяет оставаться в позиции до получения некой прибыли. На неком, заранее определенном уровне прибыльности, который может быть основан на среднем торговом диапазоне, умноженном на некий коэффициент или на фиксированной прибыли в долларах, длина канала может быть уменьшена и стоп размещается в точке, соответствующей минимальным значениям ен за последние 10 дней. Если нам повезет достичь следующего уровня прибыльности, например прибыли в размере 5 торговых диапазонов, то мы сужаем канал до 5 дней и выходим при достижении ценой значения минимума последних 5 дней. При максимальной уровне прибыльности, что случается очень редко, мы можем расположить стоп на уровне минимума прдыдущего дня для сохранения той большой прибыли, что уже получена. Как вы видите, эта стретагия дает ценам достаточно свободы для накопления прибыли в начале трейда и затем, по мере накопления прибыли стопы сужаются. Чем больше прыбыль - тем уже стопы. Чем больше мы имеем, тем меньше мы хотим отдать.
Есть другой путь улучшения кального стопа, впрочем, дискутабельный: сужать или расширять традиционный канал используя ширину канала или умноженный на коэффициент средний торговый диапазон. Предположим, вы работаете с 20 дневным канальным выходом. Сначала вы высчитываете ширину канала как разницу между 20 дневным максимумом и 20 дневным минимумом. Затем вы сужаете канал, увеличивая минимум и уменьшая максимум на некую заранее определенную величину. Например, на 5% от ширины канала или на 5% от среднего торгового диапазона и используете полученную величину для размещения вашего стопа. Это позволяет создать чуть более узкий канала.
Последний момент, который надо обсудить, связан с важным недостатком канального стопа. Эта методика достаточно популярна, поэтому в точках Х-дневных максимумов и минимумов обычно размещается достаточное количество ордеров. Это может вызвать в этих точках значительное проскальзывание рынка при попытке использования этого метода в вашей торговле. Описанный выше метод сужения ширины канала на определенный процент от его ширины или от среднего торгового диапазона - это один из способов вывести ваш стоп из зоны, где их размещают большинство участников рынка и, таким образом, добиться их лучшего исполнения.
The Chandelier Exit
Если канальный стоп [для длинных позиций] рассчитывается исходя из минимального значения за х-дней, то рассматриваемая в этом разделе стратегия размещения скользящих стопов основана на учете максимального значения за х-дней.
Chandelier Exit (я бы перевел этот термин как “подвешенный” стоп (сhandelier - люстра, канделябр) ) рассчитывает скользящий стоп исходя или из максимального значения максимальной цены или максимального значения цены закрытия за определенный период. Расстояние от максимальной точки до скользящего стопа лучше всего рассчитывать в единицах ATR (Average True Range). Однако возможно измерение и в денежном выражении или в пунктах от стоимости контракта.
Ниже приведено три примера (как обычно, используются примеры для длинных позиций. Для коротких позиций необходимо “перевернуть” логику.)
1. Стоп размещается в точке, равной максимальной цене с момента открытия позиции минус три ATR.
2. Стоп размещается в точке, равной максимальной цене с момента открытия позиции минус $1500.00.
3. Стоп размещается в точке, равной максимальной цене с момента открытия позиции минус три 150 пунктов.
Достоинством этого стопа является то, что он движется вверх в тот же момент, когда достигнут новый максимум. Название Chandelier (люстра) кажется нам подходящим для этого стопа и должна напоминать нам о логике этого очень эффективного стопа. Также как люстра свисает с потолка - самой высокой точки комнаты, так и Chandelier Exit свисает вниз с самой высокой цены.
Причина, по которой мы предпочитаем использовать для расчета удаления стопа от максимальной цены единицы среднего торгового диапазона (Average True Range), состоит в том, что ATR применимо для всех рынков и придает системе адаптивный характер за счет учета изменений волатильности. Мы можем использовать одни и теже формулы для торговли зерна, йены, кофе или акций. Если торговый диапазон расширяется или сужается, наш стоп будет автоматически изменяться и двигаться на неком удалении от цен, оставаясь тонко настроенным на текущее состояние рынка.
В книге ” Trade Your Way to Financial Freedom ” Dr. Van K. Tharp показал, что эффективная стратегия выхода может давать прибыль даже при случайно выбираемых входах. Мы не были удивлены тем, что для доказательства этого положения применительно к диверсифицированному портфелю фьючерсных рынков был выбран именно “подвешенный” стоп. Tharp использовал вычитание утроенного ATR из максимального или минимального закрытия и использовал 10-дневную экспоненциальную скользящую среднюю для расчета ATR.

Защита имеющейся прибыли.
Когда мы обсуждали канальный выход, мы указывали, что некоторое время после инициации трейда рационально использовать более широкий стоп, а затем, по мере накопления прибыли, сужать стоп путем уменьшения количества баров при расчете канала. Аналогичная логика защиты прибыли может быть применена и при использовании “подвешенного” стопа. В начале трейда расстояние до стопа на большинстве фьючерсных рынков должно быть в диапазоне от 2.5 до 4 ATR. По мере накопления прибыли мы можем пододвигать стоп ближе уменьшая количество единиц ATR от максимума до нашего стопа.
Предположим, мы начали трейд имея “подвешенный” стоп на удалении трех ATR от максимума. После достижения первого уровня прибыли мы можем сузить стоп, изменив это значение на 1.5 ATR. Далее, по мере накопления прибыли, с определенного значения доходности, можно сузить стоп до одного ATR. Мы имели очень хорошие результаты для некоторых очень прибыльных сделок со скользящим стопом “подвешенным” от мксимума на расстоянии всего половины ATR. Мы считаем, что для получения максимальной доходности от следующих за трендом систем необходимо сужать скользящий стоп по мере накопления значительной прибыли.
Отметим, что хотя значения максимумов, используемых для “подвешивания” стопов могут только увеличиваться, изменения волатильности могут уменьшать или увеличивать ширину стопа. Если вам хочется видеть меньше колебаний ширины стопа - используйте большую длину ATR. Если вам надо иметь более адаптивный стоп - используйте более короткый ATR. Мы обычно используем 12 баров для расчета ATR, если нет каких-либо особых условий, требующих изменить это значение. При использовании очень коротких значений ATR (3 или 4 бара) часто создает проблеммы в периоды очень низкой волатильности, когда стоп очень близко сдвигается к ценам и случайное движение цены может вызвать ложное срабатывание стопа. Если мы хотим использовать короткий и высоко адаптивный ATR без риска размещения стопа слишком близко, мы можем рассчитать короткую ATR и длинную ATR (например 4 и 12 баров) и использовать то значение, которое дает более широкий стоп. Эта техника позволяет нашим стопам быстро отодвигаться в периоды высокой волатильности без риска ложного срабатывания в короткие периоды с очень низкой волатильностью.
Комбинирование канального и подвешенного стопов.
Мы любим начинать наш трейд с установки скользящего канального стопа и лишь потом, после того как цены выросли и мы получили некоторую прибыль - добавлять подвешенный стоп. Канальный стоп держится на уровне минимумов и не движется вверх по мере получения прибыли. Только по прошествию определенного времени он начинает постепенно двигаться вверх. При этом он не реагирует на достижение новых максимумов. Вот почему нам нужен подвешенный стоп - чтобы быть уверенными, что наш стоп не расположен слишком далеко от максимума. Комбинируя две техники выхода мы можем использовать канальный стоп для очень постепенного повышения уровня стопа в начале трейда. Однако если трейд развивается быстро в выбранную нами сторону, то образуется значительный разрыв между стопом и ценами. Раз мы имеем прибыль, нам необходим лучший выход, который защитит нашу прибыль. В этой точке есть смысл включать подвешенный стоп, который будет повышаться в тот же момент, как будет достигнут новый максимум. Это свойство подвешенного стопа делает его одним из самых логически обоснованных при прибыльных сделках.

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

Я решил назвать эту стратегию “ATR Ratcher”.
Идея, лежащая в основе - очень проста. Сначала мы определяем логически обоснованную точку начальной постановки стопа и далее добавляем к этой точке каждый бар по некой части ATR, формируя таким образом скользящий стоп, который постоянно движется вверх, будучи при этом адаптивным к волатильности. По сравнению с параболиком преимуществом этого стопа является больший контроль над точкой начальной постановки стопа и ускорением. Мы также обнаружили, что основанный на ATR скользящий стоп быстрее и адекватнее реагирует на изменения волатильности, что позволяет зафиксировать больше прибыли, чем традиционные скользящие стопы.
Вот пример такой стратегии. Мы определяем начальную точку стопа после того, как движение в сторону открытой позиции достигло некоторой заранее обусловленной величины - например, 1 ATR - и в качестве ценового уровня выбираем текущий локальный минимум (например, минимальную цену за последние 10 дней). Далее каждый день мы добавляем к этой точке по небольшому количеству ATR - например, 0.05 ATR. Таким образом, на 15-й день открытия позиции мы будем добавлять к начальной точке 0.05*15=0.75 ATR. На 20-й день к минимальной цене за последние 10 дней будет добавляться 0.05*20=1 ATR. ATR Ratcher очень прост, но очень бысто вы обнаружите, что в нем есть несколько независимых составляющих, изменение которых может придать этому стопу интересные и полезные функции.
Особенно мы любим этот стоп за то, что его можно начать применять в любой момент после открытия позиции - в отличии от параболика. Мы можем поставить этот стоп в самый первый день или можем подождать какое-нибудь событие. Я бы предложил выставлять этот стоп после того, как достигнут некоторый уровень доходности сделки, поскольку, как вы увидите, при благоприятном развитии событий этот стоп движется вверх очень быстро.
ATR Ratcher начинает свое движение очень плавно и тихо движется вверх каждый день, поскольку мы добавляем каждый день по дополнительной части ATR к начальной точке. Однако начальная точка, от которой рассчитывается стоп (в нашем примере - 10-дневная минимальная цена) также движется вверх (в случае лонгов) при развитии движения рынка в сторону открытой позиции. Таким образом, мы добавляем постоянно увеличивающуюся долю ATR к периодически увеличивающемуся локальному минимуму. Графически это выглядит как много небольших, но ежедневных подъемов стопа и некоторое количество более значительных прыжков в те дни, когда локальный минимум сдвигается вверх. Важно еще раз подчеркнуть, что мы ежедневно дабавляем часть ATR к движущейся вверх начальной точке, что в сумме дает уникальное двойное ускорение данного вида стопа. Мы имеем скользящий стоп, ускорение которого является функцией как времени, так и цены. При значительном увеличении волатильности также возникает и значительный подъем ATR Ratcher.
Ускорение ATR Ratcher в результате увеличения волатильности является его важной чертой. Так как цены имеют тенденцию увеличивать волатильность при развитии тренда, то ATR Ratcher ускоряется в этих условиях очень значительно и превосходно фиксирует накопленную прибыль - как раз то, что мы от него и ожидали.
Необходимо обсудить некоторые соображения относительно составных частей этого стопа.
Точка начального размещения. Одной из приятных особенностей ATR Ratcher является возможность определить эту точку так, как мы этого пожелаем. Например, мы можем поставить ее на уровень некоторого значительного минимума, как это делает параболик. Или мы можем начать с локального минимума, с уровня поддержки, нижней границы канала, или от точки открытия позиции минус некоторая величина ATR. Если мы дожидаемся для постановки стопа момента, когда сделка станет отчетливо прибыльной, мы можем начать от цены входа или даже несколько выше. Возможности произвольного размещения начальной точки безграничны, используйте собственное воображение и логику для определения начальной точки, имеющей смысл с точки зрения того, какой временной диапазон вы торгуете и какой результат от системы хотите получить. Наша идея относительно размещения начальной точки на минимуме за х-дней приводит к тому, что стоп движется быстрее, чем параболик с фиксированной начальной точкой, поскольку наша начальная точка движется в сторону открытой позиции. Однако, если вы хотите избежать этого эффекта, то можете легко назначить начальную точку где-нибудь на расстоянии 2 ATR от точки входа и тогда ваша начальная точка будет зафиксирована, а движение стопа будет происходить только за счет ежедневного добавления доли ATR.
Когда размещать стоп. Мы очень легко можем выбрать время размещения стопа в зависимости от времени, прошедшего после открытия позиции, или от движения цены, или комбинировать обе эти идеи. Например, мы можем начать применять этот стоп только если после открытия позиции прошло не менее 10 дней и прибыль составляет не менее 1 ATR. В настоящий момент мне представляется, что наилучшим объектом для применения ATR Ratchet являются сделки, в ходе которых уже получена значительная прибыль. ATR Ratchet является очень хорошим способом фиксации прибыли, однако я подозреваю, что он способен “вытряхивать” вас из сделок слишком рано, если размещать стоп до того времени, когда получена некоторая прибыль.
Как я уже говорил, больше всего мн нравится в ATR Ratchet его гибкость и настраиваемость. Вот еще одна идея. Мы можем размещать стоп через 15 баров после открытия позиции, однако не добавлять при этом эти 15 долей ATR к начальной точке. Можно также инициализировать стоп через 15 баров после открытия позиции, а добавлять к начальной точке 15 - х долей ATR (х может быть равен 10), или делить число дней после открытия позиции на некоторую константу перед тем, как умножить на ATR. (Что равнозначно уменьшению ATR на эту же константу - иначе говоря, это вариант размещения стопа с задержкой по времению) Этот способ уменьшит число реализованных стопов, особенно в начальной части трейдов. Поиграйтесь сами с ATR Ratchet и попробуйте найти свои оригинальные идеи.
Добавляемая доля ATR. Большое значение этой величины движет стоп вверх слишком быстро, по крайней мере для того тайм-фрейма, в котором мы работаем. После нескольких попыток и ошибок мы обнаружили, что оптимальным является использование величин от 0.05 до 0.1 (5% - 10% от 20-дневного ATR).
Как вариант можно использовать два ATR Ratchet - один с очень маленьким значением ATR размещается при открытии трейда, второй - с большим значением доли ATR - после достижения ощутимой прибыли.
Длина ATR. Предыдущий опыт использования ATR подсказывает нам, что длина ATR является очень важным фактором. Если мы хотим получить очень чувствительный к волатильности стоп, то надо использовать очень короткую длину ATR - 4-5 баров. Если же мы хотим получить более гладкий стоп, не так чувсьвительный к появлению одного-двух дней с необычно большой волатильностью, то надо использовать ATR большей длины - 20-50 баров. В большинстве случаев я использую 20-дневное ATR, если только я не хочу по тем или иным причинам сделать стоп более или менее чувствительным.
Мы только слегка прошлись по некоторым возможностям, присущим ATR Ratchet как средству фиксации прибыли. Нам очень нравится его гибкость и настраиваемость и мы считаем, что каждый трейдер сможет подобрать себе свой вариант стопа. Как вы видите, здесь есть несколько важных настраиваемых параметров, о каждом из которых неплохо подумать.

[
VSPexp
 
Сообщений: 1804
Зарегистрирован: 10 ноя 2009, 11:09
Откуда: Владивосток
Баллы репутации: 140
Добавить балл в репутациюВычесть балл из репутации

Re: Создание советников - обмен опытом


Сообщение VSPexp » 02 сен 2010, 01:31

4 часть

Учет некоторых специфических рисков
(примечание: некоторые фрагменты текста не являются точным переводом, а адаптированы для понимания с учетом произошедших за эти 10 лет изменений.)
Многие системные трейдеры стремятся использовать свой подход на нескольких рынках: от 2-3 до 40, 50 или даже больше. В таком случае нужно учитывать их корреляцию. При создании прибыльной и устойчивой торговой системы жизненно важно использовать рынки, которые не связаны тесно друг с другом. К примеру, все валютные пары с участием доллара высоко коррелированны, в отличие от, скажем, валютной пары доллар/швейцарский франк и цен на пшеницу. Точно так же в эпоху глобализации большинство рынков акций имеют явную положительную корреляцию. Торговля на высоко коррелированных рынках – это то же самое, что торговать много контрактов на одном рынке. Ключом для торговли по-настоящему диверсифицированного портфеля рынков является их относительно низкая корреляция.

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

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

Жизненно важным аспектом успешного применения торговой системы является то, как вы будете обрабатывать торговые сигналы, поступающие ночью или на послесессии, если вы в этот момент не находитесь за рабочим местом. Некоторые трейдеры разрабатывают сказочные торговые системы, которые прекрасно работают в течение 24 часового торгового дня. К сожалению, они не могут гарантировать, что окажутся на рабочем месте в те моменты, когда будут поступать сигналы. Попытка в таком случае оказаться в бодрствующем состоянии на рабочем месте в часы, которые кажутся наиболее благоприятными, является в таком случае не более, чем лотереей.
Точно так же, различные рынки имеют свои праздничные дни и, если торговая система используется на нескольких биржах или таймфреймах, влияние праздников в других странах может быть значительным. К примеру, LIFFE может быть закрыта на праздники в Великобритании, когда развивается значительное движение на EUREX. Если трейдер использует данные только с LIFFE, то он не увидит этого значительного движения, и его система его не учтет.
Получить убыток в обе стороны на тонком рынке из-за выходных в другой стране – не большое удовольствие. Точно так же, плохо пропустить начало движения из-за того, что основной ликвидный рынок был закрыт в момент поступления информационного триггера движения. Соответственно, возникает вопрос, как осуществлять историческое тестирование таких ситуаций.
Вот еще одна ситуация к примеру: в течение длительного времени основным ликвидным рынком для актива может быть LIFFE, однако потом торговля может «перетечь» на EUREX. Для системного трейдера очередная головная боль – какие именно данные использовать для исторического тестирования, с LIFFE или с EUREX, или же производить их «сшивку», и если да, то по какому критерию выбирать дату переноса торговли с одной торговой площадки на другую. Выбор исходных данных для тестирования может нести в себе значительный риск для системного трейдера, о котором он часто и не подозревает.

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

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

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

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

Переходя к фьючерсным контрактам, нужно начать с первого подводного камня – с роллирования. Каждый контракт имеет ограниченный по времени период, обычно не больше 3 месяцев, когда он является наиболее ликвидным «фронт-контрактом». Это тот самый период времени, где в контракте можно найти ликвидность и, поэтому, нам надо тестировать систему на таких периодах. Основной проблемой является то, что по мере приближения контракта к экспирации и перетока ликвидности в следующий фронт-контракт, оба эти контракта почти всегда без исключения имеют разные цены.
В случае контрактов на ставки цены могут различаться весьма значительно. В случае контрактов на акции или индексы различия меньше, однако, так же имеются.
Каждый из трех основных подходов к обработке периодов роллирования имеет свои преимущества и недостатки:
Использование только реальных данных без «склейки» даст вам большое количество краткосрочных фрагментов цен. К примеру, 10 летняя история актива может распасться на 40 кусочков по 3 месяца каждый. Если тестировать систему на каждом таком фрагменте изолировано, то потом, в реальной работе вы обязательно столкнетесь с ситуацией, когда тренд, уносящий вашу позицию вверх, натыкается на роллирование. Таким бразом, вам надо или разрабатывать технологию роллирования (и получения сигнала на выход на истории, где не было входа) или вторую систему, которая заново заходит в направлении тренда на истории нового фронт-контракта.
Проблема множества фрагментов может быть частично решена путем создания беспрерывной истории путем склеивания реальных ценовых данных в одну. Это позволяет избавиться от описанной выше проблемы нахождения в системной позиции в период роллирования, однако создает иную проблему: скачки цен в точках склеивания. Как было указано выше, контракты с разными месяцами экспирации почти всегда имеют разные цены.

Не удивительно, что стремление решить эту проблему привело к созданию метода склейки контрактов в непрерывную историю с использованием корректировки цен. Существует несколько методологических подходов по такой склейке данных. Один из них изложен в книге Chande «In Beyond Technical Analysis».
Есть и иные сложности. К примеру, тяжелый вопрос с поставкой. Читатели, конечно, в курсе, что некоторые фьючерсные контракты являются поставочными. Поставочный период может начаться за месяц до истечения контракта. Тех, кто в этот период находится в длинных позициях по фьючерсам, могут обязать купить базовый актив.
Помимо собственно проблемы получения ненужного базового актива, это влечет за собой ряд других неприятных моментов, которые будут в таких случаях приводить к расхождению реальных результатов с результатами торговой системы. К примеру, вы оказались в период начала поставочного периода в длинной позиции по фьючерсу, которая пока находится в убытке. Если вам в этот момент поставят базовый актив, то вы не сможете от него оперативно избавиться, когда позиция выйдет сначала в плюс, а потом система даст сигнал на выход.
Только хорошо подкованные институциональные трейдеры могут позволить себе принять на себя риск поставки по базовому активу. Поэтому вам надо очень хорошо изучить рынок и предпринять все усилия для того, что бы эта чаша вас минула. Если вы собрались торговать контракты, у которых есть поставочные периоды, абсолютно необходимо встроить в торговую систему два правила:
1. Ваша торговая система должна закрывать позиции или роллировать их до начала поставочного периода.
2. Нельзя включать в исторические данные периоды, когда по контракту идут поставки. Необходимо создать такой алгоритм склейки данных, что бы эти периоды не попадали в используемую вами историю.
Определение цен роллирования, заполнения спредов, проскальзывания при исполнении и так далее – сложные моменты, о которых надо думать до создания торговой системы. Только глубоко наивный человек может ожидать исполнения сигналов на том уровне, где они отрисовались на графике торговой системы – посередине между бидом и офером. Надо обязательно учитывать спред бид-офер, который может составлять от 1 тика в ликвидных контрактах до нескольких в менее ликвидных.

5 часть

Данные и тестирование
Среди системщиков циркулирует мнение, что необходимо, по крайней мере, 30 сделок на данном наборе данных, что бы сделать систему работоспособной. По-моему, это не соответствует истине, особенно в отношении торговых систем с короткой длительностью удержания позиции, а так же торговых систем на дневных данных. Более 100 сделок - вот необходимое количество для одного набора тестируемых данных, которое, я уверен, гораздо ближе подведет вас к созданию потенциально сильной торговой системы.

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

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

Мы уже обсуждали в предыдущих статьях, что стопы, расположенные близко к точке входа, влекут за собой большое количество мелких потерь (которые имеют тенденцию идти сериями, помните об этом). Использование “широких” стопов предупредит частые мелкие потери, однако разовые потери могут быть весьма значительны.
Возможностей по развитию и модифицированию “близких” стопов гораздо больше, чем у “дальних” стопов. Игра с параметрами “дальних” стопов, даже с изменением в несколько сотен долларов за один раз - неспособна сильно изменить общую доходность. А вот даже самые небольшие поправки к “близким” стопам способны значительно повлиять на доходность системы. Начните с “близкого” стопа и, расширяя его постепенно, вы увидите, как быстро изменяется результаты системы (возможно, и с увеличением доходов!). Постепенно изменения станут не такими быстрыми, по мере того, как величина стопа будет становиться шире. Таким образом, когда вы преодолеете некоторый предел изменчивости, увеличение в размере начального стопа будет иметь не большое значение для эффективности всей системы.
Теперь взгляните на наши данные. В нашем случае, чем их больше, тем лучше. Многие трейдеры склонны считать, что 10 лет - это хороший минимум, однако чем больше - тем лучше.
Можно добавить, что системные трейдеры обычно избегают брать для тестирования историю рынка за первые 2 года его существования (это. в основном, касается рынка фьючерсных и опционных контрактов). Это происходит потому, что рынки развиваются и растут в течение первых 2-х лет, до того момента, когда их можно будет считать достаточно зрелыми, чтобы их учитывали системные трейдеры.

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

Я предпочитаю другую систему деления данных - на три равных части:
• Набор “Развитие”.
• Набор “Тестирование”.
• Набор “Подтверждение”.

С первым набором данных мы развиваем свою систему, моделируя и оптимизируя параметры.
Затем, развив систему, мы прогоняем ее на фрагменте истории ”тестирование” и оцениваем результаты. Если результаты не слишком впечатляющие, тогда возвращаемся к графикам и начинаем думать. что с системой не так и как ее можно (если можно) подкорректировать.
Если же на этих двух фрагментах при тестировании получен интересный для нам результат, мы переходим к финальному тесту “Подтверждение” на третей части доступных исторических данных.
Тесты “Подтверждение” являются важной предпосылкой развития систем, т.к. они:
• Могут дать нам лучшее представление того, как может работать наша система в реальных условиях, обеспечивая нам уверенность в ее возможностях. Чем выше уверенность в том, как работает ваша система, тем больше вероятность того, что вы будете продолжать пользоваться ею в течении неизбежных для любой системы просадок. Закон Мерфи для торговых систем гарантирует вам, что первая значительная просадка торговой системы начнется вскоре после перехода к реальной торговле. Это может произойти до того, как система принесет вам значительный доход, и даже может съесть часть вашего начального капитала. Чем более вы уверены в своей системе, тем больше вероятность того, что вы преодолеете подобные трудные времена.
• Позволяют нам определять, удовлетворяют ли действия системы нашему стилю торгов. Этот пункт - наиболее важный, и мы будем возвращаться к нему в этой серии статей. Система должна отражать ваши сильные стороны на рынке, а не ваши слабости. Таким образом, если вам не нравится удерживать позиции, которые играют против вас в течении недель, такая система не для вас.
Вам необходимо использовать свой интеллект, выбирая набор данных для фазы “Развитие”. Лучше всего взять период не менее 4 лет, в котором присутствуют все формы рыночной активности - подъемы, падения и боковое движение. Если в этих данных будут преобладать какие-то одни рыночные условия, например, восходящий тренд, то вы не сможете создать по-настоящему дееспособную систему. Учтите так же, что система, созданная на наборе данных, которые отражают очень низкую волатильность покажет ужасные результаты, когда рынок ”взорвется”

6 часть

Результаты тестирования системы

О`кей, вам уже все надоело, правда? Пробравшись через первые семь разделов, вы хотите проскочить этот и следующие, и потратить сэкономленное время на то, чтобы воплотить в сделках свои идеи. Хорошо, вы знаете, что у вас есть право двигаться вперед. Когда вы потеряете 30% от своих средств на системе, которая окажется не работоспособной, вы всегда можете вернуться назад, сюда, и почитать чуточку больше.
Никто не говорил, что проектирование систем это просто - и это, конечно, значительно более напряженная деятельность, чем сумеют вынести многие трейдеры. Вот, вероятно, почему так много систем типа “черный ящик” сомнительного происхождения продаются столь хорошо.

Итак, если вы хотите пойти далее, не глядя на этот раздел, и немедленно торговать по вашей системной методологии, тогда, пожалуйста, не стесняйтесь - всегда есть вероятность того, что она будет работать. Однако, вполне вероятно, что вы просто будете отдавать свои деньги другим трейдерам - как поначалу делал и автор этой статьи… Прислушайтесь ко мне! Если вы хотите пожертвовать немного наличности в пользу некоторой части трейдеров в мире - так сделайте это, как говорит известный рекламный лозунг. С другой стороны, вы можете пожертвовать исключительно ADT. Пошлите нам чек на 30% от своего капитала и вы предохраните себя от напряжений и стрессов неизбежно сопровождающих все эти потери.

Остальные, те, кто все еще верен процессу создания торговой системы, приглашаются к чтению…
В своей книге “Кибернетические торговые системы” Murray Ruggiero отметил, что:
“Тестирование и оценка торговой системы включает три главных момента:
• Насколько хороши ожидания от работы системы, и каковы риски?
• Насколько вероятно, что система продолжит работать в будущем?
• Можем ли мы предугадать, когда и если работа системы или временно ухудшится или полностью прекратится?”

Мы будем обращаться к этим вопросам в этой и в будущих статьях этой серии. Однако, завершив подбор переменных для нашей системы, давайте начнем с простейшего теста. Конечным результатом будет изобилие торговой информации, в которой количество прибыли является лишь только одним важным фактором. Очень хорошей отправной точкой при описании результатов тестирования торговой системы является взгляд на график ее дохода. Линия дохода дает графическое представление того, как система прогрессирует в течение ее торговой жизни. Идеальная система будет иметь плавную линию, равномерно поднимающуюся от левого нижнего до правого верхнего угла диаграммы. Система со многими очень резкими выбросами - не работоспособная система, поскольку они предполагают систему, которая не только не является постоянно приносящей доход, но еще и является относительно противоречивой в своих общих результатах.
Большинство хороших современных программ по системной торговле включают множество статистики по тестированию/результатам торговли. Например, простейшие вопросы, с которыми приходится сталкиваться в реальности, это такие как комиссия брокера, проскальзывание, условия маржи. В отношении последнего имейте ввиду, что при возрастании волатильности биржа может изменить размер поддерживающей маржа даже в течение торгового дня. Величина маржи, используемая при тестировании системы, должна, следовательно, отражать то, что маржа может быть временами не постоянной. Иначе, в реальном мире, вы обнаружите, что не можете использовать вашу систему для торговли из-за чрезвычайно высоких условий маржи. Подобным образом, чтобы подстраховаться при оценке брокерского вознаграждения, во время тестирования используйте самую высокую ставку.

Другие статистические данные системы будут включать следующие, по существу очевидные, результаты:
• Число периодов в испытании.
• Общая чистая прибыль, валовая прибыль и убытки брутто.
• Общее количество трейдов, процентный доход, количество выигрышей и проигрышей.
• Наибольшие выигрышный и проигрышный трейды.
• Средний выигрышный, средний проигрышный трейды.
• Наибольшее число последовательных выигрышей, последовательных проигрышей.
• Среднее число баров в выигрышах и проигрышах.
• Максимальная дневная просадка.
• Фактор прибыли - отношение результатов выигрышных трейдов к результатам проигрышных трейдов, иногда выражаемому в виде индекса изменяющегося от -100 (очень плохо) до +100 (очень хорошо).
• История последовательно по трейдам.
Итак, после нашего первого теста, давайте уделим внимание простому анализу качества управления риском. Существуют три фактора которые совместно определяют результаты торговли:
• Риск.
• Маржа.
• Прибыль.

Для оценки управления риском нам проще всего взглянуть на максимальную просадку. Если она больше, чем ваш капитал, который вы инвестировали для работы по системе, то эта система для вас бесполезна - по крайней мере, в ее нынешнем виде уж точно. Ох, никогда не поддавайтесь соблазну торговать по системе с капиталом меньшим, чем ее максимальная просадка. Позвольте гарантировать, что конечный результат непременно будет включать ваши слезы.
Одним очень простым измерением характеристики управления риском, является расчет отношения чистая прибыль/максимальная просадка. Пионеры разработки торговых систем для оценки использовали результат этого расчета равный 10 и более, для того чтобы убедиться, что они видят потенциально хорошую систему. В настоящее время, наиболее популярным измерением при анализе управления риском, является коэффициент Шарпа.

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

В заключение, теперь давайте взглянем на пару параметров являющихся решающими в определении прибыльности торговой системы. Ларри Вильямс предпочитает чтобы средняя прибыль за трейд была более 250 долларов после учета разумного количества проскальзывания и комиссионных. Это довольно приемлемая база для его относительно краткосрочной торговли. Однако Вильямс также предпочитает, чтобы его система выигрывала более чем в 70% случаев, что является, скорее, не необходимостью, а стечением обстоятельств. (Все же, он, по крайней мере, достаточно честен, чтобы допустить свою персональную потребность побеждать так часто.) Однако, действительно потрясающие системы, как и многие действительно потрясающие трейдеры, могут делать деньги только в 40% трейдов.

О чем в действительности нам сообщает тестирование
“Результаты тестирования не являются тем, чем они кажутся. Вы должны иметь в виду, что торговые системы разработаны с учетом прибыли на исторических данных. Это важно, потому, что Вы знаете априори, что рынок совершил в прошлом. Любая торговая система, которая вами разработана или оптимизирована, отражает ваш принципиальный взгляд на прошлые действия рынка. Вы можете зафиксировать Ваше понимание в общем виде, что позволяет избежать опасностей подстерегающих при вычерчивании графика. Однако, и это стоит иметь в виду, что влияния исторических данных избежать трудно.”
Tushar Chande

Итак, Вы получили систему и несколько результатов, которые говорят Вам, что она прибыльна. И Вы готовы к рок-н-роллу, да? Ошибка!
На этой стадии Вы имеете грубую систему и очень грубый набор результатов. Для начала давайте посмотрим на несколько больший ряд данных, которые выдает тестирование системы, чтобы пройтись по методологии их получения. Для начала имеется коэффициент компенсации (Payoff Ratio). Он дает соотношение среднего выигрышного трейда к среднему проигрышному. Это полезный маркер для системных анализов, поскольку дает указание того, насколько в среднем система устойчива. Это удобное средство определения доверия и, поскольку Вы тестируете различные системы, вполне применимый индикатор того, как они выступают друг относительно друга в течение какого-то времени. Некоторые аналогии с легендой о зайце и черепахе…

Хотя имеющиеся данные результатов тестирования весьма полезны, они говорят далеко не полную историю о какой либо системе. Например, есть один показатель, который весьма полезно подсчитывать - фактор покрытия (Recovery Factor). Это абсолютное значение отношения чистой прибыли к максимальной дневной просадке. Этот показатель является мерой того, насколько успешно система восстанавливается после просадок. Фактор покрытия должен быть больше 2, чтобы указывать на работоспособную систему. Очевидно, чем выше его значение, тем лучше.
Когда приходит время анализа вашей прибыли, может возникнуть серьезная ошибка там, где рынок произвел значительное ее увеличение из-за одной частной ситуации, например, наличия короткой позиции во время краха на фондовом рынке в 1987 году. Поэтому, чтобы гарантировать, что ваша прибыль не выкрашена в слишком розовый цвет, удалите наибольший выигрыш системы из общей прибыли. Это дает значение, называемое многими разработчиками систем как “откорректированная валовая прибыль” (adjusted gross profit). Заметьте, что вы не удаляете наибольший проигрышный трейд.
Мы допускаем, что тестирование на исторических данных производит реалистичное впечатление от потерь, однако озабочены тем, что имеется по-детски сверх оптимистичная оценка прибыли. После получения откорректированной валовой прибыли, пересчитайте фактор прибыльности и посмотрите все ли еще он больше чем единица. Фактор прибыльности подсчитывается теперь как откорректированная валовая прибыль деленная на убыток брутто.

Подобным образом заметим, что когда система имеет один трейд, который сделал 30% или более от общей прибыли, то очень маловероятно, что система является работоспособной. Скорее это система, которой повезло захватить главное движение при испытании на исторических данных. В равной степени, ищите существенные единичные трейды приносящие большое количество прибыли при испытании на широком диапазоне данных. Даже единичный трейд делающий 20% прибыли системы должен, для безопасности, рассматриваться с некоторым подозрением.
Как только Вы получили откорректированную валовую прибыль, Вы можете прикинуть ожидаемые результаты от использования торговой системы. Многие разработчики систем просто берут валовую прибыль и делят ее пополам. Я, однако, предпочитаю идти на один шаг дальше, и делить откорректированную валовую прибыль на 2. Это дает намного более реалистичную картину того, какие результаты, вероятно, будут на практике.

Другим фактором, который весьма полезно подсчитывать - это просадка, умноженная на 2. Когда вы начнете реально торговать систему, просадки почти наверняка будут больше тех, которые вы получили при тестировании. Если вы это не учтете это заранее, то внезапно можете обнаружить, что вашего капитала недостаточно для торговли этой системы.
Точно также, какой бы средний уровень маржи ни был бы в течение тестируемого периода, в целях безопасности умножьте его на 3 для получения более применимого значения. О, и если Вы считаете, что это не реалистично, только взгляните, что делают клиринговые палаты по время обвалов…(И впоследствии Вы сможете поблагодарить нас за то, что предохранили от опасностей на скользком месте, или, по крайней мере, за то, что Вы все еще в игре.)
И помните этот самородок полезной информации от Tushar Chande:
Вообще Вы должны рассматривать любые результаты торговой системы с максимальным подозрением.”

7 часть

Неожиданные риски при торговле системы

Вы, трейдеры, являетесь, вероятно, наиболее капризной переменной торговой системы. Тестирование систем производится в эмоциональном вакууме, однако нет ни какой уверенности в том, что вы исполните все сигналы торговой системы без отклонений от них. Поэтому наибольшие проскальзывания случаются не из-за рынков, но из-за того, что вы не введете ордер когда это надо. “ Tushar Chande

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

Очень важно заранее решить, когда выставляются такие ордера – сразу после открытия позиций или нет. Многие трейдеры предпочитают не ставить их до тех пор, пока цена не приблизится к точке исполнения ордера на закрытия. Это хорошее решение для тех, кто весь день проводит сидя перед торговым терминалом и имеет достаточно дисциплины для того, что бы не убирать стоп, когда рынок накатывает на его уровень. Однако для большинства трейдеров я бы настойчиво рекомендовал выставлять стоп ордера в торговую платформу сразу после открытия позиции.
Это устраняет стрессы в работе и обеспечивает уверенность в том, что ордер будет исполнен на необходимом уровне цен. Кроме того, размещение ордера устраняет такие несомненно существующие таинственные риски, как:
• «риск туалетной комнаты» - рынки всегда движутся быстрее, стоит только отойти в туалет;
• «телефонный риск» - пока вы пытаетесь объяснить по телефону своей маме, как запустить видеомагнитофон, рынки гарантировано рухнут намного ниже уровней ваших не выставленных ордеров на закрытие длинных позиций.

В случае, когда вы торгуете много рынков по многим системам, надо не забывать ежедневно перепроверять все уже выставленные стоп-ордера перед началом и перед окончанием рабочего дня. Постановка GTC-ордера (Good ‘Til Cancelled, «в силе пока не отменен») может выглядеть хорошей идеей для стоп-ордеров, но я неоднократно наблюдал ситуации, когда трейдеры забывали о таких выставленных ордерах, и по их исполнению через день, неделю или месяц пытались оспорить это исполнение у брокера, говоря, что это ошибка и таких ордеров никогда не выставлялось.

Еще одним важным вопросом, о котором следует задуматься заранее, является составление плана действий в случае технической невозможности управления имеющимися позициями. Может быть, (и случается!) все что угодно. Может отказать компьютер, оборваться телефонные линии, полететь электрический трансформатор на подстанции, тракторист может перерезать кабель от интернет-провайдера и так далее.

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

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

Если вы действительно хотите иметь отличную систему, которая хорошо функционирует – напишите инструкцию. Опишите ее идеи, проанализируйте письменно результаты оптимизации, сформулируйте выводы, пропишите план действий на случай технических сбоев.
К примеру, план такой инструкции может выглядеть так:
• Введение – обоснование того, почему вы хотите торговать системно.
• Какие типы систем вы хотите торговать.
• Ваши ожидания от использования систем.
• Основные принципы систем
• Набор данных. Необходимых для работы: какие рынки, какие тайм-фреймы…
• Первоначальные результаты тестирования.
• Первоначальная оптимизация.
• Анализ результатов тестирования.
• План по управлению позициями в случае технических сбоев.
• Реальные результаты торговли.
• Развитие торговой системы.
Все это может здорово помочь вам при развитии следующих торговых систем.
VSPexp
 
Сообщений: 1804
Зарегистрирован: 10 ноя 2009, 11:09
Откуда: Владивосток
Баллы репутации: 140
Добавить балл в репутациюВычесть балл из репутации

Напишу советник


Сообщение Fx-autotrading » 15 сен 2010, 11:53

Пишу советники любой сложности. Цена от 10 $ и выше, зависит от сложности и обьема работы.
По всем вопросам желательно писать на почту [email protected]
Fx-autotrading
 
Сообщений: 1
Зарегистрирован: 15 сен 2010, 11:40
Баллы репутации: 0
Добавить балл в репутациюВычесть балл из репутации

Re: Создание советников - обмен опытом


Сообщение investpro8 » 29 окт 2010, 18:50

Как правильно заказать советник:
1. На форуме mql5 есть раздел "РАБОТА". Лучше всего сделку провести именно через них.
2. Четко определите какие дополнительные функции необходимы советнику
3. Правильно составьте техническое задание и обсудите детали с программистом
4. Обязательно спросите программиста, получилось ли передать информацию нужным образом

Главное, чтобы не было недопонимания в алгоритме исполнения сделок.
investpro8
 
Сообщений: 8
Зарегистрирован: 29 окт 2010, 18:19
Баллы репутации: 0
Добавить балл в репутациюВычесть балл из репутации

Re: Создание советников - обмен опытом


Сообщение VSPexp » 31 окт 2010, 10:58

а если в советнике систему управления счетом необходимо улучшить или изменить как грамотно посчитать и дать техзадание програмисту?
Последний раз редактировалось VSPexp 29 янв 2012, 07:53, всего редактировалось 2 раз(а).
VSPexp
 
Сообщений: 1804
Зарегистрирован: 10 ноя 2009, 11:09
Откуда: Владивосток
Баллы репутации: 140
Добавить балл в репутациюВычесть балл из репутации

Re: Создание советников - обмен опытом


Сообщение VSPexp » 19 окт 2011, 10:27

Вижу ветка не популярна.
Наверное разработка и торговля при помощи эксперта - не каждому по зубам.
Однако, автоматизированная торговля набирает обороты и особенно удачные реализации позволяют наращивать депозит. Кроме этого осознание того что ваше детище приносит деньги - доставляет огромное удовлетворение.
Последний раз редактировалось VSPexp 29 янв 2012, 07:54, всего редактировалось 1 раз.
VSPexp
 
Сообщений: 1804
Зарегистрирован: 10 ноя 2009, 11:09
Откуда: Владивосток
Баллы репутации: 140
Добавить балл в репутациюВычесть балл из репутации

Re: Создание советников - обмен опытом


Сообщение VSPexp » 13 фев 2012, 01:10

Ссылка удалена модератором.
выкладки по тестированию советника в мт4
VSPexp
 
Сообщений: 1804
Зарегистрирован: 10 ноя 2009, 11:09
Откуда: Владивосток
Баллы репутации: 140
Добавить балл в репутациюВычесть балл из репутации

След.

Вернуться в Архив

cron