WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 4 | 5 || 7 |

«THE ENCYCLOPEDIA OF TRADING STRATEGIES JEFFREY OWEN KATZ, Ph.D. ...»

-- [ Страница 6 ] --

РЕЗУЛЬТАТЫ ТЕСТОВ Были выполнены шесть тестов. Эволюционный процесс использовался для поиска оптимальных правил входа в длинные и короткие позиции с каж дым из трех приказов для входа: по цене открытия, стоп-приказу и лимит ному приказу. Во всех случаях было создано 2500 поколений генетичес ГЛАВА 12 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ кой обработки. Задача вычисления всех решений и сохранения их в фай лы потребовала всего несколько часов на быстром Pentium, что демонст рирует практическую пригодность этого метода. Для каждого теста гене тический процесс произвел табличный файл (GFiles от 1 до 6), состоящий из строк, соответствующих каждому из поколений. Таким образом, каж дая строка представляет определенное решение. Большинство ранних решений были мало пригодными для торговли, но качество решений улуч шалось с появлением новых поколений, что характерно для ГА. Каждая строка содержит информацию относительно эффективности отдельного решения — набора параметров, который представляет ген, содержащий ся в полной хромосоме.

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

Решения для входов в длинную позицию Табл. 12-1 представляет торговые результаты 20 лучших решений для вхо дов в длинные позиции по цене открытия (GFile 1). Каждая строка пред ставляет различную торговую модель. Параметры не указываются, но представлены номера поколений (НОМЕР), вероятность или статистичес кая значимость (ВЕР, десятичный знак опущен, но подразумевается), сред няя прибыль в долларах за сделку ($СДЕЛ), общее количество сделок (СДЕЛ), фактор прибыли (Ф.ПРИБ), доходность в процентах годовых (ДОХ%) и чистая прибыль или убыток (П/У).

ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Таблица 12—1. Лучшие 20 решений, полученные для длинных позиций с входом по цене открытия Эффективность большинства из этих моделей, по меньшей мере, впе чатляет. Лучшие модели имеют статистическую значимость выше 0,00007, что означает, что эти решения имеют очень высокую вероятность при быльной торговли в будущем. Многие решения заработали более 50% го довых. В некоторых случаях прибыли достигли значительно более высо ких уровней. Хотя лимитный приказ дал много наилучших решений, ос тальные приказы также показали много хороших, если не великолепных результатов. Как и в предыдущих исследованиях, ГА превосходно обна руживает многие пригодные для торговли модели.

Решения для входов в короткие позиции Табл. 12-2 представляет маленькую часть файла GFfile 4, в котором пред ставлены найденные модели входов в короткие позиции по цене открытия.

Как и в тесте 1, представлены 20 наилучших решений (отобранных по ста тистической значимости или соотношению риск/прибыль). И в этом слу чае налицо много хороших решений. Однако они уже не столь впечатляют, как решения для длинных позиций. Модели, приведенные в табл. 12-2, об ладают меньшей статистической значимостью и доходностью. Другое от ГЛАВА 12 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ Таблица 12—2. Лучшие 20 решений, полученные для коротких позиций с входом по цене открытия личие состоит в том, что в большинстве случаев количество сделок было очень маленьким;

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

Результаты тестирования для стандартного портфеля Лучшее решение, показанное в табл. 12-1 (длинные позиции), и лучшее решение из табл. 12-2 (короткие позиции) были протестированы со всеми тремя видами приказов. Тесты с 1 по 3 представляют лучшую модель для длинных позиций с входом по цене открытия, протестированную с вхо дом по цене открытия, лимитному приказу и стоп-приказу соответствен но. Тесты с 4 по 6 представляют лучшую модель для коротких позиций со всеми тремя видами приказов. Табл. 12-3 содержит результаты лучших моделей с входом по цене открытия. Результаты приведены для длинных и коротких позиций на данных в пределах выборки и вне ее со всеми ви дами входных приказов.

В таблице: ВЫБ— вид выборки данных (В— в пределах, ВНЕ— вне пределов выборки);

ДОХ% — доходность в процентах годовых;

Р/ПРИБ — ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Таблица 12—3. Эффективность лучшей модели с входом по цене открытия, испытанной на выборке и вне ее пределов со всеми видами входных приказов ВЫ Б ДОХ% Р/ПРИБ ВЕР СДЕЛ ПРИБ% $СДЕЛ ДНИ ПРИБДЛ ПРИБКР Тест 01. Длинная позиция, вход по цене открытия 82.2 1.22 0.000 43 62 17264 7 742 В Вне 63.0 0.66 0.089 17 47 10231 6 173 Тест 02. Длинная позиция, вход по лимитному приказу В 65.8 0.99 0.001 36 61 14846 8 534 Вне 87.7 0.86 0.038 14 50 14920 6 208 Тест 03. Длинная позиция, вход по стоп-приказу В 42.2 0.88 0.003 22 72 16247 8 357 Вне 11.7 0.20 0.344 8 50 4246 6 33 с Тест 04. Короткая позиция, вход по цене открытия В 54.8 0.87 0.003 36 69 11929 8 0 Вне -10.0 -0.21 0.669 17 35 -2711 6 0 - Тест 05. Короткая позиция, вход по лимитному приказу 16.5 0. В 0.056 34 64 7424 8 0 Вне -10.8 -0.24 0.686 14 42 -3351 6 0 - Тест 06. Короткая позиция, вход по стоп-приказу 23.1 0.60 0.031 24 54 7493 6 0 -13.0 -0.25 0.696 13 30 -3704 5 0 - соотношение риска/прибыли в годовом исчислении;

ВЕР — ассоцииро ванная вероятность статистической достоверности;

СДЕЛ — число сде лок на всех рынках в составе портфеля;

ПРИБ% — процент прибыльных сделок;

$СДЕЛ— средняя прибыль/убыток со сделки;

ДНИ— средняя длительность сделки в днях;

ПРИБДЛ — общая прибыль от длинных пози ций в тысячах долларов;

ПРИБКР— общая прибыль от коротких позиций в тысячах долларов.

Тесты 1—3. Тестирование модели входа в длинные позиции с вхо дами по цене открытия, по лимитному приказу и стоп-приказу.

Как видно из табл. 12-3, модель, полученная с помощью эволюционного процесса, была прибыльна при всех трех типах приказов как в выборке (как и ожидалось, учитывая мощь ГА), так и вне ее. В выборке вообще не ГЛАВА 12 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ было прибыли меньше 42% (в годовом исчислении) для любого вида при каза. Все значения средней прибыли в сделке были больше чем $14 000, и ни одна система не имела меньше 60% прибыльных сделок! Вне выборки результаты были довольно разнообразны. С входами по цене открытия или по лимитному приказу система по-прежнему показывала выдающие ся результаты: средняя прибыль в сделке была выше $10 000, а доход ность — выше 60% годовых. Со стоп-приказом модель работала не так хорошо: доходность не превысила 11%, а средняя сделка принесла всего $4246. Единственным внушающим беспокойство аспектом результатов является малое количество сделок. Например, в пределах выборки с вхо дом на открытии было произведено только 43 сделки за 10-летний период для портфеля из 36 товаров. Вне выборки было только 17 сделок в течение 5-летнего периода;

частота торговли была постоянна и составляла около 4 сделок в год.

По-видимому, правила обнаруживали необычные (но пригодные для торговли) рыночные события;

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

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

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

300 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Результаты тестирования для каждого рынка Табл. 12-4 содержит результаты по рынкам для лучших моделей как для длинных, так и для коротких позиций, протестированных на оптимиза ционных и проверочных выборках, с использованием трех видов прика зов для входа в рынок. Пустые ячейки в этой таблице отражают отсут ствие сделок. Первая колонка содержит обозначения изучаемых рынков.

Центральная и правые колонки содержат количество прибыльных тестов для данного рынка. Числа в первой строке представляют идентификато ры тестов: 01, 02 и 03 означают тесты для длинных позиций с входом на открытии, по лимитному приказу и стоп-приказу соответственно;

04, 05 и 06 представляют соответствующие тесты для коротких позиций. Послед няя строка содержит количество рынков, на которых данная модель была прибыльна. Данные в этой таблице представляют относительно деталь ную информацию о том, какие рынки прибыльны, а какие нет, для каж дой конкретной модели: один минус (—) указывает на умеренный сред ний убыток в сделке — от $2000 до $4000;

два минуса ( ) представляют большую среднюю потерю в сделке — $4000 или больше;

один плюс (+) означает умеренную среднюю прибыль в сделке — от $1000 до $2000;

два плюса (+ +) указывают на большую среднюю прибыль в сделке — $ или больше;

а пустая ячейка соответствует убытку до $1999 или прибыли в пределах $1000. (Названия рынков и их символы соответствуют обозна чениям табл. II-1;

часть II, введение.) Тесты 1—3. Тестирование модели входа в длинные позиции с входом по цене открытия, по лимитному приказу и стоп-приказу.

Табл. 12-4 указывает, что в пределах выборки модель была весьма при быльна для NYFE (но не для S&P 500), для британского фунта, немецкой марки, японской йены, палладия, для большинства рынков пшеницы, кан засской пшеницы, какао, леса и сырой нефти (если не учитывать покупку по цене открытия). Вне выборки на NYFE не было сделок, британский фунт и немецкая марка продолжали оставаться весьма прибыльными для всех типов приказов. Многие рынки, прибыльные в пределах выборки, вне ее пределов не заключали сделок. Некоторые рынки, которые не участвова ли в торговле в пределах выборки, были успешны вне выборки (особенно неэтилированный бензин, серебро и кофе). Это указывает на то, что мо дель продолжала работать хорошо, причем не только на другом периоде времени, но и на другом наборе рынков.

Тесты 4—6. Тестирование модели входа в короткие позиции с входами по цене открытия, по лимитному приказу и стоп-приказу.

В пределах выборки казначейские векселя, немецкая марка, швейцарс кий франк, канадский доллар, свиная грудинка, овес, канзасская пшени ца, апельсиновый сок и лес показали устойчивую прибыль. Британский фунт и немецкая марка также принесли прибыль вне выборки. Швейцар ский франк был прибыльным вне выборки, но только с лимитным прика ГЛАВА 12 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ Таблица 12—4. Анализ эффективности для тестов и рынков зом. Другие рынки либо не были задействованы в торговле, либо были убыточны. Вне выборки NYFE показал прибыль при всех типах приказов (будучи убыточным в пределах выборки).

Рис. 12-1 изображает рост капитала при торговле портфелем для длин ных позиций с входом по цене открытия. Как видно из графика, наблю ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Рисунок 12-1. Рост капитала при торговле портфелем (длинные позиции, вход по цене открытия).

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

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

Рис. 12-3 показывает рост капитала при торговле портфелем с помо щью наилучшей модели для коротких позиций с входом по цене откры тия. Здесь также присутствует подобный ступенчатый эффект. Однако, за исключением сильного роста капитала в период с августа 1989 г. по июнь 1993 г., капитал системы практически не менялся.

ГЛАВА 18 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ Рисунок 12-2. Рост капитала при торговле портфелем (длинные позиции, вход по лимитному приказу).

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

Ген 1 состоял из чисел 4, 850, 65 и 653, что означает правило снижения открытого интереса (case 4), анализируемый период 34 и порог 0,042 со ответственно. Последнее число (653) не было использовано, потому что данное правило содержит только два параметра. Таким образом, данное правило возвращает значение ИСТИНА, если открытый интерес снизил ся по меньшей мере на 4,2% за последние 34 дня. Другими словами, раз ность открытого интереса 34 дня назад и открытого интереса 1 день на зад, поделенная на открытый интерес 34 дня назад, должна быть больше чем 0,042.

Ген 2 состоит из чисел 1, 256, 530 и 709. Первое число (1) соответствует простому правилу ценового сравнения (case 1). Смысл других чисел гена состоит в том, что правило возвращает значение ИСТИНА, когда цена зак 304 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Рисунок 12-3. Рост капитала при торговле портфелем (короткие позиции, вход по цене открытия).

рытия 3 дня назад превышает цену закрытия 14 дней назад на величину среднего истинного диапазона, умноженного на 3,46.

Ген 3 состоит из чисел 5, 940, 47 и 610. Шаблон правила 5 (case 5) соот ветствует правилу повышения открытого интереса. Полная реализация этого правила показывает, что правило возвращает значение ИСТИНА, если открытый интерес рынка увеличился по крайней мере на 5,6% за последние 44 дня.

Если условия для всех трех правил, определяемые генами 1, 2 и 3, вы полняются на данный день, то модель генерирует сигнал к покупке.

Интересно, что два правила используют открытый интерес — пере менную, которую обычно не рассматривают во многих популярных тор говых методах. Также примечательно, что два объединенных правила от крытого интереса почти противоречат друг другу: текущий открытый интерес должен быть больше, чем открытый интерес 44 дня назад, но мень ше, чем открытый интерес 34 дня назад. Модель напоминает систему сле дования за трендом, поскольку последний открытый интерес должен быть больше, чем открытый интерес за некоторую предыдущую дату. Однако ГЛАВА 12 ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ остается время для маленького отката, т.е. увеличение открытого интере са должно произойти 3 дня назад, а не в текущий день. Это не тот набор правил, который легко обнаружить обычным способом без помощи гене тического алгоритма.

Правила для входа в короткие позиции. Подобный анализ также мож но провести для коротких позиций. Числа 5, 890, 391 и 532 (ген 1);

5, 705, 760 и 956 (ген 2) и 10, 163,999 и 196 (ген 3) соответствуют хромосоме, кото рая представила лучшее решение для входа в короткую позицию по цене открытия. Два указанных гена соответствуют правилам, связанным с от крытым интересом, и один — с осциллятором MACD. Первое правило открытого интереса утверждает, что открытый интерес 1 день назад дол жен быть по крайней мере на 38% больше, чем открытый интерес 38 дней назад. Второе правило открытого интереса утверждает, что открытый интерес 1 день назад должен быть по крайней мере на 75% больше, чем открытый интерес 25 дней назад. Третье правило утверждает, что наклон MACD (период короткого скользящего среднего = 2, а период длинного скользящего среднего = 50) должен быть направлен вниз, предполагая наличие нисходящего тренда. Если были выполнены условия для всех трех правил, указанных этими тремя генами, то подается сигнал на продажу.

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

ЗАКЛЮЧЕНИЕ Как и в нашем раннем исследовании, использование ГА для поиска торго вых правил помогло найти весьма убедительные модели входа. Результа ты впечатляют, несмотря на такие проблемы, как малое число сделок во многих решениях. Этот подход, несомненно, может служить в качестве основания для дальнейших усилий в разработке системы. В данном ис следовании была использована лишь маленькая база шаблонов правил, включающая простейшие элементы (ценовые сравнения, скользящие средние и осцилляторы). Несомненно, намного лучшие результаты могли быть получены при использовании более сложного и полного набора шаб лонов в качестве зерна для генетической мельницы.

ЧТО МЫ УЗНАЛИ?

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

306 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Генетические алгоритмы представляются эффективным сред ством обнаружения нестандартных торговых систем, кото рые практически невозможно разработать общепринятыми методами.

При правильном использовании ГА избыточная оптимизация (подгонка под исторические данные) не является серьезной проблемой, несмотря на оптимизационную мощь генетичес ких алгоритмов.

Ограничения количества и сложности правил в любом реше нии представляются ключевым элементом в контроле над де моном подгонки под исторические данные.

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

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

ЧАСТЬ III Исследование выходов Введение В части II в центре внимания был выбор времени входа в рынок. Была исследована степень эффективности различных методологий при ответе на следующий всеобъемлющий вопрос: когда, где и как входить в рынок.

Были проведены исследования самых разнообразных торговых подходов:

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

ВАЖНОСТЬ СТРАТЕГИИ ВЫХОДА Во многих случаях хороший выход более значим, чем хороший вход. Ос новное различие состоит в том, что при ожидании хорошей возможности входа в рынок нет никакого риска. Если пропущена одна возможность вхо да, то всегда придет другая — активная модель торговли должна обеспе чивать много подобных возможностей. Однако, пропустив оптимальный выход, мы подвергаемся рыночному риску. «Прозевав» выход, мы риску ем получить большие убытки и даже подвергнуться неприятной процеду ре принудительного закрытия нашей позиции по наихудшим ценам! Из вестны случаи потери всей прибыли, полученной за несколько лет успеш ной торговли, благодаря тому, что используемая стратегия выхода не вклю чала хорошую защитную остановку! Не стоит ждать следующую возмож ность входа в противоположном направлении, чтобы выйти из плохой по зиции. Чрезмерная осторожность, приводящая к выходам без должных 308 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов оснований, также вызовет опустошение вашего счета, хотя и не столь быст рое. Дело в том, что любая торговля невозможна без убытков, пусть и не больших. Для того чтобы их компенсировать, необходимо полностью ис пользовать потенциал прибыльных позиций. Преждевременные выходы из удачных позиций лишают нас значительной части прибыли и отдают во власть неизбежных мелких (а иногда и крупных) убытков. Хорошая стратегия выхода, прежде всего, строго контролирует убытки, но при этом не жертвует многими потенциально прибыльными позициями.

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

ЦЕЛИ ХОРОШЕЙ СТРАТЕГИИ ВЫХОДА Существуют две цели, которые пытается достичь хорошая стратегия вы хода. Первая и наиболее важная цель состоит в строгом контроле убытков.

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

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

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

ВВЕДЕНИЕ ВИДЫ ВЫХОДОВ, ИСПОЛЬЗУЕМЫХ В СТРАТЕГИИ ВЫХОДА Существует огромное множество видов выхода. В стандартной стратегии выхода были использованы только три вида выхода в простой неизменной манере. Фиксированный выход управления капиталом осуществлялся с помощью стоп-приказа: если рынок сместился против открытой позиции более чем на определенную величину, то позиция закрывается с ограни ченным убытком. Выход при достижении целевой прибыли осуществлял ся с помощью лимитного приказа: при смещении цены на указанную ве личину в благоприятном направлении производится выход с известной прибылью. И наконец, если позиция удерживалась в течение указанного количества дней, она закрывалась с помощью рыночного приказа.

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

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

Выходы управления капиталом Каждая стратегия выхода должна содержать выход управления капита лом. Выход управления капиталом осуществляется с использованием стоп приказа. Поэтому он часто называется защитной остановкой. Такая за 310 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов щитная остановка закрывает позицию после неблагоприятного движения рынка (движение против сделки) или по указанной цене ниже (в случае длинной позиции), или выше (в случае короткой позиции) цены входа в сделку. Защитная остановка обыкновенно остается на одном месте в те чение всего времени удержания позиции. Ее цель состоит в ограничении риска некоторой максимально допустимой величиной. Конечно, потен циальный риск может быть больше, чем ожидаемый. К примеру, рынок может испытать большой разрыв между ценой закрытия вечером и це ной открытия на следующее утро. Торговля без защитной остановки по добна полету в шатком старом самолете без парашюта.

Вопрос заключается не в том, нужны ли защитные остановки — разу меется, они просто необходимы. Основная задача состоит в нахождении оптимального положения защитной остановки. Есть много способов ре шить, где размещать защитные остановки. Самое простое размещение связано с максимальной суммой денег, которой трейдер готов рисковать в данной сделке (денежная защитная остановка). Например, если на S&P 500 открыта позиция и трейдер не желает рисковать более чем $1500, то он использует защитную остановку в размере $1500. Если рынок дви жется против сделки дальше, чем на $1500 (три пункта на S&P), то защит ная остановка срабатывает, и позиция закрывается. На волатильных рын ках и в волатильные периоды следует оставлять больше пространства для движения, т.е. избегать слишком близких к рынку защитных остановок, чтобы не закрыть потенциально прибыльные позиции с убытками.

Хороший способ установления защитной остановки основывается на ценовом барьере, таком как линия тренда или уровень поддержки/сопро тивления. В таких случаях защитная остановка работает как критичес кий пороговый выход. Например, если на S&P 500 есть множество трен дов и линий поддержки около 936,00 и длинная позиция на 937,00 была только что открыта, то стоит рассмотреть размещение защитной останов ки немного ниже 936,00, например на 935,50. Установка защитной оста новки на уровне 935 логична, поскольку пробой линии поддержки пред полагает, что тенденция изменилась и не следует оставаться в длинной позиции по S&P 500. В этом примере мы рискуем только $750, что суще ственно меньше чем $1500 — риск при использовании защитной останов ки, основанной на денежной сумме допустимого риска. Более «эконом ная» защитная остановка может часто устанавливаться рядом с важными уровнями поддержки/сопротивления, чем при использовании денежной защитной остановки.

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

ВВЕДЕНИЕ Например, если установлена защитная остановка в размере $50, то почти все сделки на S&P 500 независимо от метода входа будут остановлены с маленькими убытками. При сужении защитной остановки процент при быльных сделок уменьшается. Слишком тесная защитная остановка при носит в жертву большинство потенциально прибыльных сделок. С дру гой стороны, если защитная остановка расположена слишком далеко от цены входа в рынок, то убытки от неудачных сделок могут привести к потере всей ранее полученной прибыли. Секрет состоит в том, чтобы найти такую защитную остановку, которая эффективно проконтролирует убыт ки без принесения в жертву слишком многих потенциально прибыльных сделок.

Следящие выходы Следящий выход обычно осуществляется с помощью так называемой сле дящей остановки. Цель этого вида выхода состоит в том, чтобы при дви жении рынка в неблагоприятном направлении зафиксировать часть при были или обеспечивать защиту, которая является более плотной, чем пер воначальная защитная остановка. Если открыта длинная позиция на S&P 500 и имеется текущая незафиксированная прибыль, то было бы же лательно сохранить часть этой прибыли в случае, если рынок развернет ся. Именно для этого используется следящая остановка. Если установле на защитная остановка в размере $1500, и рынок сместился против пози ции больше чем на $1500, то позиция закрывается с убытком в $1500. Од нако, если рынок сместился на $1000 в направлении позиции, было бы разумно подвинуть старую защитную остановку поближе к текущей ры ночной цене, например на уровне прибыли, равной $500. Теперь, если рынок разворачивается, и достигается защитная остановка, то сделка бу дет закрыта с прибылью в $500, а не с убытком в $1500! При движении рынка в благоприятном направлении, следящая остановка может быть смещена вверх (или вниз — для короткой позиции). Она и называется следящей остановкой, потому что «следит» за текущей ситуацией на рын ке и защищает основную часть возрастающей текущей прибыли.

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

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

312 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов Если торговля ведется достаточно активно и комиссионные поддержива ются на должном уровне, брокер не должен нервничать при нескольких корректировках стоп-приказов. Напротив, разумный брокер будет дово лен, понимая, что клиент, правильно и эффективно использующий выхо ды управления капиталом и следящие остановки, с большой вероятнос тью выживет как активный, создающий комиссию трейдер.

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

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

Лимитный приказ, осуществляющий выход при достижении целевой при были, может либо быть фиксированным, подобно защитной остановке для управления капиталом, либо перемещаться вслед за ценой, как следящая защитная остановка. Фиксированная целевая прибыль может быть осно вана либо на волатильности, либо на простой долларовой сумме. Напри мер, если целевая прибыль в размере $500 установлена для длинной пози ции на S&P 500, то размещают лимитный приказ на продажу, закрываю щий позицию при движении цены на $500 в пользу сделки. Подобный приказ поможет быстро зафиксировать прибыль.

Существуют свои преимущества и недостатки в использовании выхо да по целевой прибыли. Одно из преимуществ состоит в том, что при ис пользовании выходов по целевой прибыли может быть достигнут высо кий процент прибыльных сделок, в то время как проскальзывание устра нено или даже направлено на пользу трейдера. Главный недостаток вы хода по целевой прибыли состоит в том, что он может послужить причи ной преждевременного выхода с маленькой прибылью из больших про должительных движений, особенно если методы входа не обеспечивают многократные входы в продолжающиеся тренды. При прочих равных ус ловиях, чем ближе целевая прибыль к цене входа, тем больше шансов на ВВЕДЕНИЕ то, что она будет достигнута, и, следовательно, тем выше процент при быльных сделок. Однако, чем ближе целевая прибыль, тем меньше при быль от сделки. Например, если была установлена целевая прибыль в раз мере $50 для сделки на S&P 500, а защитная остановка для управления ка питалом находится далеко (например, на $5000), больше чем 95% всех сде лок будут прибыльными! Однако при таких обстоятельствах прибыльные сделки принесут маленькую прибыль, которая будет обязательно уничто жена убытком в размере $5000, а также комиссионными. С другой сторо ны, если целевая прибыль очень велика, она будет фиксироваться очень редко. Так же как и с выходами по стоп-приказам, в данном случае имеет место компромисс: уровень целевой прибыли должен быть помещен дос таточно близко, чтобы была польза от увеличения количества прибыль ных сделок и сокращения проскальзывания, но в то же время он не дол жен располагаться слишком близко, снижая среднюю прибыль в сделке.

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

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

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

Выходы, основанные на времени удержания позиции Выходы, основанные на времени, включают выход по рыночному приказу после того, как с момента открытия позиции пройдет определенное вре мя. Если рынок за указанное время значительно не сдвинулся, чтобы сра ботал выход по целевой прибыли или другой вид выхода, то сделка, веро ятно, бесперспективна и напрасно отвлекает ресурсы. Очевидно, что ги 314 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов потеза, вызвавшая открытие данной позиции, не оправдалась. Поэтому сделка должна быть закрыта для поиска следующей возможности.

Выходы, основанные на волатильности Выходы, основанные на волатильности, связаны с распознаванием того, что уровень фактического или потенциального риска возрастает из-за быстрого повышения рыночной волатильности. При таких обстоятель ствах желательно закрыть позиции и ограничить риск. Например, когда после значительного тренда волатильность внезапно увеличивается при большом объеме, может произойти «пробой максимума». Почему бы не распродать длинные позиции, когда все участники рынка яростно поку пают? Это позволит избежать внезапной коррекции и получить очень хорошие цены при продаже, учитывая то, что проскальзывание будет на правлено в вашу сторону! Другой точкой выхода, основанной на волатиль ности, может быть дата, которая предполагает высокую степень риска, например годовщины основных рыночных крахов. Если после закрытия длинных позиций рынок продолжит восходящий тренд, то можно будет снова купить проданные активы. Однако если произойдет глубокий спад, то длинная позиция может быть возобновлена по намного лучшей цене!

Что еще свидетельствует о моменте повышенного риска? Если какой либо индикатор предполагает, что тенденция может полностью изменить ся, следует выйти из рынка и избежать потенциального разворота. Если система пробоя стала причиной открытия длинной позиции в S&P 500 за несколько дней до полнолуния, а лунные исследования показали, что ры нок часто обваливается при полной луне, то имеет смысл закрыть пози цию для избежания потенциальной волатильности. Также помните о том, что вся позиция не должна закрываться целиком единовременно. Можно закрыть часть позиции — этот метод поможет трейдеру сгладить график изменения капитала.

Барьерные выходы Барьерный выход включается, когда рынок соприкасается или пересека ет некоторый барьер, такой как уровень поддержки или сопротивления, линии тренда или уровень коррекции Фибоначчи. Барьерные выходы — лучшие выходы: они представляют теоретические барьеры, за пределами которых интерпретация рыночного действия должна быть пересмотре на, и часто позволяют устанавливать очень близкие защитные остановки, поразительно сокращая убытки неудачных сделок. Фокус в том, чтобы найти хороший барьер в подходящем месте. Например, защитная оста новка управления капиталом может служить как барьерный выход, когда ВВЕДЕНИЕ она установлена на уровне поддержки или сопротивления, если таковой уровень существует достаточно близко к цене входа, чтобы сдержать по тенциальный убыток в приемлемых пределах. Следящий выход также может быть барьерным выходом, если он основан на линии тренда.

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

ПРИНЦИПИАЛЬНЫЕ МОМЕНТЫ ПРИ ВЫХОДЕ ИЗ РЫНКА При попытке выйти из рынка возникает множество проблем, которые необходимо принять во внимание. Например, защитные остановки могут заканчиваться плохим исполнением и существенными транзакционны ми издержками из-за таких факторов, как «охота» и проскальзывание.

Лимитные приказы могут быть просто не выполнены. Существуют также компромиссы, которые стоит рассмотреть;

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

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

«Охота» на стоп-приказы Иногда размещение тесных защитных остановок может приводить к не приятным результатам. Биржевые трейдеры могут пытаться «охотиться» на стоп-приказы, чтобы заработать несколько тиков. Другими словами, биржевые трейдеры могут преднамеренно вынуждать рынок достигать 316 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов областей скопления стоп-приказов для их исполнения. Когда стоп-прика зы устранены таким образом, разместивший их трейдер обычно получа ет убыток. Как этого можно избежать? Разместите у брокера «катас трофическую защитную остановку», т.е. далекую остановку, призванную спасти вас в случае биржевого краха или отсутствия связи с вашим бро кером. Катастрофическая остановка размещается достаточно далеко от рынка, для того чтобы быть вне досягаемости «озорства» профессиональ ных трейдеров. Никто не будет рад срабатыванию этой защитной оста новки, но по крайней мере она не позволит вам потерять все деньги при возникновении экстремальной ситуации. Близкая защитная остановка будет «размещена» только у вас, в торговой системе на вашем компьюте ре: когда эта остановка будет достигнута, компьютер покажет сообщение и издаст звуковые сигналы. Услышав их, вы сможете немедленно позво нить брокеру и выйти из сделки. При таком подходе можно благополучно и без риска использовать тесные защитные остановки, которые не будут предметом «охоты».

Компромиссы, связанные с защитными остановками При использовании тесных защитных остановок улучшается контроль риска, но много прибыльных сделок может быть потеряно, что приведет к снижению прибыли. Каждому бы понравилось использовать защитные остановки размером в $100 для S&P 500, потому что потери при убыточ ных сделках были бы довольно маленькие. Однако большинство систем при этом будет проигрывать 95% времени! Некоторые системы позволя ют использовать тесные остановки, благодаря специфической реакции на точку открытия позиции. Такие системы дают разумный процент при быльных сделок и обладают терпимостью к тесным защитным останов кам. Эти системы часто основаны на поддержке и сопротивлении или дру гих «барьерных» моделях. Многие системы, напротив, не работают с тес ными защитными остановками. Тем не менее всегда есть компромисс между тесными защитными остановками для контроля над риском и удер жанием потенциально прибыльных позиций. Просторные защитные ос тановки не будут жертвовать прибыльными сделками, но приведут к боль шим убыткам в случае неудачных сделок. Оптимальное расположение защитной остановки зависит от природы торговой системы и свойств ис пользуемого рынка.

Проскальзывание Проскальзывание — это количество рыночного движения с момента раз мещения торгового приказа (в случае стопа — с момента его срабатыва ВВЕДЕНИЕ ния) до момента его исполнения. Эту величину легко выразить в долла рах. В случае стоп-приказов скорость движения рынка против сделки вли яет на величину суммы, потерянной благодаря проскальзыванию. Чем быстрее движется рынок в момент срабатывания стоп-приказа, тем боль ше будет убыток, связанный с проскальзыванием. Если бы была установ лена защитная остановка в размере $500 для S&P 500 и рынок начал быст ро двигаться против сделки, могло легко произойти проскальзывание в размере $200 или $300, заканчивающееся убытком в $700 или $800, вмес то $500 ожидаемых. Если бы рынок перемещался более медленно, тогда проскальзывание могло бы отнять только $25 или $50 с результирующим убытком $525 или $550. Проскальзывание существует во всех сделках, ко торые включают рыночные или стоп-приказы. Однако в некоторых сдел ках оно может быть выгодно трейдеру. Лимитные приказы (например, «продавать по $х или по лучшей цене») не подвержены проскальзыванию, но такие приказы не закроют позицию в критической ситуации.

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

Заключение Полная стратегия выхода координирует одновременное использование разнообразных типов выхода для достижения задач эффективного управ ления капиталом и фиксации прибыли. Каждый трейдер должен исполь зовать некоторые виды «катастрофических» и защитных остановок уп равления капиталом. Также желательно использовать следящие останов ки для защиты текущей прибыли, когда рынок двигается в благоприят ном направлении для сделки. Выход, основанный на волатильности, поле зен для закрытия позиций прежде, чем будет задействована защитная остановка — выход из рынка, все еще двигающегося в благоприятном 318 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов направлении или по крайней мере не против сделки, что означает быст рый выход с меньшим проскальзыванием.

ТЕСТИРОВАНИЕ СТРАТЕГИЙ ВЫХОДА В следующих нескольких главах описаны результаты тестов большого количества стратегий выхода. В противоположность методам входа, ко торые могут тестироваться по отдельности, отдельное изучение выходов не имеет смысла. Необходимо исследовать всю стратегию выхода цели ком — это связано с тем, что для завершения сделки необходимо сраба тывание какого-либо выхода. Если вход не сработал, можно ждать следу ющей возможности для входа, которая обязательно рано или поздно по явится. В случае выходов длительное ожидание может подвергнуть трей дера значительному, даже неограниченному риску. Рассмотрим, напри мер, стратегию выхода, состоящую из одной защитной остановки управ ления капиталом.

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

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

СТАНДАРТНЫЕ ВХОДЫ ДЛЯ ТЕСТИРОВАНИЯ ВЫХОДОВ При исследовании входов было необходимо использовать некий стандарт ный неизменный метод выхода. Для сравнения различных выходов мы будем использовать несколько необычный стандартный метод входа, а именно модель случайного входа. Входы будут производиться в случай ВВЕДЕНИЕ ные моменты времени и в случайных направлениях. Как и в предыдущих главах, мы будем торговать эквивалентом долларовой волатильности двух контрактов на S&P 500 в конце 1998 г. Во избежание чрезмерной услож ненности тестов все входы будут осуществляться по цене открытия. Если вход произведен по цене открытия, то можно выходить из рынка по вну тридневным ценам, не создавая путаницы при моделировании торговли.

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

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

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

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

Генерация случайных входов. Модель случайного входа генерирует по следовательность чисел (состоящую из + 1, 0 и — 1). Каждое число соот ветствует определенному торговому дню и приводит к открытию пози ций определенного направления: +1 — длинная позиция, — 1 — корот 320 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов кая позиция, 0 — нет входа. К примеру, модель случайного входа генери рует число — 1 для 20 октября 1997 г. Это означает, что система в этот день откроет короткую позицию.

ГПСЧ, используемый для реализации модели случайного входа, совпа дает с генератором rап2, описанным в работе Пресса и др. «Численные методы на языке С» (Press et al. Numerical Recipes in С, 1992). Период дан ного ГПСЧ превышает 2Х10, что гораздо лучше большинства стандарт ных генераторов случайных чисел, являющихся частью языков програм мирования. Каждому торговому дню ставится в соответствие случайное число, находящееся в интервале от 0 до 1. Если это число меньше, чем 0,025, то открывается короткая позиция. Вероятность открытия короткой пози ции составляет 0,025, т.е. сигнал к продаже в среднем возникает каждые 40 дней. Длинная позиция открывается, если случайное число превышает 0,975. Частота открытия длинных позиций — один раз в 40 дней. Иными словами, торговые сигналы генерируются каждые 20 дней. Цены лимит ного приказа и стоп-приказа вычисляются стандартным образом.

ГЛАВА Стандартная стратегия выхода Стандартная стратегия выхода (ССВ) использовалась при тестировании всех методов входа. В основном она применяет защитную остановку, фик сацию прибыли по лимитному приказу и рыночный приказ для выхода пос ле определенного количества времени. Исследование ССВ обеспечивает базис, при сравнении с которым могут быть оценены более сложные стра тегии выхода (изучаемые в следующих двух главах). ССВ исследуется с помощью случайной техники входа, обсуждаемой во введении к части III.

ЧТО ТАКОЕ СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА?

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

ХАРАКТЕРИСТИКИ СТАНДАРТНОГО ВЫХОДА Стандартный выход является простейшим, используемым при тестиро вании различных стратегий входа. Совсем не обязательно, что это очень 322 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов хороший выход. В отличие от оптимальной стратегии выхода стандарт ный выход не способен находиться в продолжительных тенденциях до их завершения. Кроме того, незафиксированная прибыль может превратить ся в убыток. Причина состоит в том, что ССВ не способна защитить ка кую-либо часть текущей прибыли открытой позиции. Почти очевидно, что хорошая стратегия выхода должна иметь метод защиты текущей прибы ли. Кто же хочет видеть, как существенная прибыль быстро исчезает, по скольку рынок полностью меняет курс? Установленный временной ли мит также вносит вклад в неспособность ССВ держаться в продолжитель ных движениях, но это было бы желательно при испытании стратегий входа. Наконец, ССВ не умеет выходить из вялотекущих сделок по луч шей возможной цене, как это можно сделать, например, с помощью сжи мающейся целевой прибыли.

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

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

ЦЕЛЬ ТЕСТИРОВАНИЯ ССВ Главная причина тестирования ССВ состоит в том, чтобы сделать возмож ным сравнение этой и других тестируемых стратегий выхода. ССВ будет служить хорошей отправной точкой в исследованиях выходов. Кроме того, ССВ будет протестирована со случайным входом, обеспечивая базис для сравнения с различными реальными входами (протестированными в час ти II). Поэтому тесты в этой главе обеспечивают «.систему координат» для предыдущих и последующих глав. Дополнительная причина проведе ния данных тестов — определение того, насколько исключительное ис пользование цен закрытия при выполнении ССВ ухудшило ее работу. В приведенных ниже тестах ограничение ценами закрытия будет снято, что должно улучшить общую эффективность ССВ.

Будут проведены четыре теста. Первые три теста исследуют ССВ в той форме, которая использовалась в предыдущих главах: т.е. будут исполь зоваться входы по цене открытия, по стоп- и лимитному приказу, а выхо ды будут осуществляться только по ценам закрытия. Четвертый тест ис следует разновидность ССВ с возможностью выходов по стоп- и лимит ным приказам внутри дня;

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

ГЛАВА 13 СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА ТЕСТЫ ИСХОДНОЙ ССВ Для проверки исходной ССВ используется метод случайного входа (опи санный во введении к части III). В качестве выходов используются обыч ные стандартные выходы (только по цене закрытия). ССВ содержит сле дующие правила: Если на закрытии рынок находится ниже цены входа на величину, равную произведению некоторого множителя (параметр защит ной остановки) на размер среднего истинного диапазона последних 50 дней, тогда срабатывает защитная остановка. Если цена закрытия боль ше цены входа на величину, равную произведению некоторого множите ля (параметр целевой прибыли) на размер среднего истинного диапазо на, тогда срабатывает лимитный приказ, фиксирующий целевую прибыль.

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

static void Model (float *parms, float *dt, float *opn, float *hi, float *lo, float *cls, float *vol, float *oi, float *dlrv, int nb, TRDSIM &ts, float *eqcls) { // Определение модели случайного входа и стандартной стратегии выхода // File = xl9mod01.c // parms — набор [1..MAXPRM] параметров // dt - набор [l..nb] дат в формате ГГММДД // орn — набор [1..nbl цен открытия // hi — набор [1..nb] максимальных цен // 1о - набор [1..nb] минимальных цен // cls - набор [l..nb] цен закрытия // vol — набор [1..nb] значений объема // oi - набор [l..nb] значений открытого интереса // dlrv — набор [1..nb] значений среднего долларовой волатильности / / nb — количество дней в наборе данных // ts — ссылка на класс торгового симулятора // eqcls — набор [1..nb] уровней капитала по ценам закрытия //объявляем локальные переменные static int rc, cb, neontracts, maxhold, ordertype, signal;

static float mmstp, ptlim, stpprice, limprice, tmp;

static float exitatr[MAXBAR+1], rnum;

static int ranseed;

static long iseed;

// копируем параметры в локальные переменные для более удобного обращения ranseed = parms[8];

// инициируем генератор случайных чисел ordertype = parms[9];

// вход: 1=по цене открытия, 2=по лимитному // приказу, 3 =по стоп - приказу maxhold = 10;

// максимальный период удержания позиции ptlim = 4;

// целевая прибыль в единицах волатильности 324 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов mmstp = 1;

// защитная остановка в единицах волатильности // делаем вычисления по всем данным AvgTrueRangeS{exitatr,hi,lo,cls,50,nb);

// средний истинный диапазон для // выхода // запускаем генератор случайных чисел //... отдельный запуск для каждого инструмента iseed = -{ranseed + 10 * ts.model());

rnum = ran2 (&iseed) ;

// проходим через дни, чтобы смоделировать реальную торговлю for(cb = 1;

cb <= nb;

cb++} { //не открываем позиции до начала периода выборки //...то же самое, что и установка MaxBarsBack в TradeStation if(dt[cb] < IS_DATE) { eqcls[cb] = 0.0;

continue;

} // выполняем все ожидающие приказы и сохраняем капитал по цене закрытия rc = ts.update{opn [cb], hi [cb], lo [cb], cls [cb], cb) ;

if(rc != 0) nrerror("Trade buffer overflow");

eqcls[cb] = ts.currentequity(EQ_CLOSETOTAL);

// подсчитываем количество контрактов для сделки //... мы хотим торговать эквивалентом долларовой волатильности //... 2 новых контрактов на S&P-500 от 12/31/ ncontracts = RoundToInteger(5673.0 / dlrv[cb]};

if{ncontracts < 1) ncontracts = 1;

// избегаем установки приказов на день с ограниченной торговлей if{hi[cb+1] == lo [cb+1]) continue;

// генерировать входные сигналы, цены стоп- и лимитных приказов signal = 0;

rnum = ran2(&iseed);

// случайное число 0... if(rnum < 0.025) signal = -1;

// случайный короткий вход else if(rnum > 0.975) signal = 1;

// случайный длинный вход limprice = 0.5 * (hi[cb] + lo [cb]);

stpprice = cls[cb] + 0.5 * signal * exitatr[cb];

// входим в сделку, используя определенный тип приказа if (ts.position{) <= 0 && signal ==1) { switch(ordertype) { // выбираем желаемый тип приказа case 1: ts.buyopen('1', ncontracts);

break;

case 2: ts.buylimit{'2', limprice, ncontracts};

break;

case 3: ts.buystop('3', stpprice, ncont}racts);

break;

default: nrerror("Invalid buy order selected");

} } else if (ts.position() >= 0 && signal == -1) { switch(ordertype) { //выбираем желаемый тип приказа case 1: ts.sellopen{'4', ncontracts);

break;

case 2: ts.selllimit('5', limprice, ncontracts);

break;

case 3: ts.sellstop('6', stpprice, ncontracts);

break;

default: nrerror("Invalid sell order selected"};

} } // симулятор использует стандартную стратегию выхода tmp = exitatr[cb];

ts.stdexitcls {'X', ptlim* tmp, mmstp* tmp, maxhold) ;

} // обрабатывать следующий день } ГЛАВА 13 СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА Код подобен представленному в предыдущих главах. Изменился лишь порядок генерации сигналов для входа. Входные сигналы теперь созда ются с помощью генератора псевдослучайных чисел (ГПСЧ). Перед вхо дом в цикл, который проходит через дни для моделирования процесса тор говли, ГПСЧ инициализируется с уникальным начальным значением.

Начальное значение инициализации определено номером рынка и пара метром (ranseed). При изменении данного параметра генерируется абсо лютно другая последовательность случайных входов. Точные значения инициализации не важны, так как для каждой инициализации создается уникальный ряд из-за чрезвычайно большого периода ГПСЧ. Используе мый ГПСЧ описан как гап2 в вышеупомянутой работе «Numerical Recipes in С» (1992). Период для ГПСЧ больше, чем 2Х1018. Этот ГПСЧ намного лучше стандартных генераторов, включенных в языки программирова ния. Внутри цикла, там, где фактически имеет место торговля, сигналы генерируются, основываясь на случайных числах. Шаги очень просты. На каждом дне от ГПСЧ получается равномерно распределенное случайное число между 0 и 1. Если случайное число меньше 0,025, то генерируется сигнал для входа в короткую позицию. Вероятность получения короткого сигнала в любой день равна 0,025, т.е. короткий сигнал должен генериро ваться в среднем каждые 40 дней. Если случайное число превышает 0,975, то подается сигнал для открытия длинной позиции;

частота этих сигналов такая же — один сигнал каждые 40 дней. Другими словами, в среднем тор говые сигналы генерируются каждые 20 дней. Цены лимитного приказа и стоп-приказа рассчитываются обычным способом. Обычным способом размещаются приказы и определяются выходы.

Для проведения трех испытаний используются следующие шаги: на данных внутри выборки для каждого типа входного приказа генерируют ся и участвуют в торговле 10 различных серий случайных входов. Лучшие из этих последовательностей затем проверяются на данных вне выборки.

Процесс подобен оптимизации параметра в реальной системе. Изменя ясь от 1 до 10, параметр выбирает различные ряды случайных входов для каждого значения.

Результаты тестов В табл. 13-1, 13-2 и 13-3 представлены результаты торговли портфелем при использовании стратегии случайных входов и стандартного выхода. В колонке СЛУЧ приведены числа, которые передаются на вход генератора случайных чисел и инициируют случайные последовательности. ПРИБ — совокупная чистая прибыль в тысячах долларов. ПРИБДЛ — общая при быль от длинных позиций в тысячах долларов;

ПРИБКР— общая прибыль от коротких позиций в тысячах долларов, Ф.ПРИБ — фактор прибыли.

ЧАСТЬ III ИССЛЕДОВАНИЕ выходов ДОХ% — доходность, в процентах годовых;

Р/ПРИБ — соотношение рис ка/прибыли в годовом исчислении;

ВЕР — ассоциированная вероятность статистической достоверности, МПАД — максимальное падение капита ла, в тысячах долларов;

С ДЕЛ — число сделок;

ПРИБ% — процент прибыль ных сделок;

$СДЕЛ — средняя прибыль/убыток со сделки;

ДНИ — сред нее количество дней в сделке, округленное до ближайшего целого числа;

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

СРЕД — среднее значение результатов, приведенных в строках 1 — 10;

СТОТКЛ — стандартное от клонение результатов, приведенных в строках 1 — 10.

Тест 1. ССВ со случайными входами по цене открытия. Эта система работала не очень хорошо внутри выборки. Средняя сделка для всех случайных последовательностей принесла убыток в размере $2243, при чем стандартное отклонение составило $304. Данная система показала такую же среднюю прибыль в сделке, как и наименее привлекательные системы, тестировавшиеся при изучении входов. Фактически, некоторые из них показали результаты гораздо худшие, чем случайные. Процент прибыльных сделок был очень стабилен — со средним значением 36,91% и стандартным отклонением 0,7%. Общее количество сделок для каждого рынка за более чем 10-летний период внутри выборки составило 3703;

именно такое количество сделок должно было получиться при случайных Результаты стратегии стандартного выхода со случайными Таблица 13—1.

входами по цене открытия ГЛАВА 13 СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА Таблица 13—2. Результаты стратегии стандартного выхода со случайными входами по лимитному приказу Таблица 13—3. Результаты стратегии стандартного выхода со случайными входами по стоп-приказу 328 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов входах на данных в пределах выборки.

Вне пределов выборки эффективность лежала в ожидаемых пределах, в соответствии с показателями в пределах выборки. Процент прибыльных сделок составлял 37%, что весьма близко к соответствующему результату, полученному в пределах выборки. Средний убыток со сделки составил $1883, что отличается менее чем на одно стандартное отклонение от значе ния в пределах выборки. Очевидно, что использование стандартного выхо да не могло обеспечить прибыль на основе случайных входов в рынок.

Тест 2. ССВ со случайными входами по лимитному приказу.

Табл. 13-2 идентична табл. 13-1 за исключением того, что она отражает поведение портфеля со стандартной стратегией выходов и входами по ли митному приказу. В пределах выборки средняя сделка приносила убыток в $1930, что несколько ниже, чем в предыдущем тесте, видимо, ввиду уменьшения транзакционных расходов при входе по лимитному прика зу. Стандартное отклонение составило $477, что несколько выше преды дущего значения. Процент прибыльных сделок (38,73%) улучшился менее чем на 2% благодаря более выгодным ценам входа при использовании ли митного приказа. Как и ожидалось, помимо подобных мелких измене ний, ничего в табл. 13-2 не представляет особенного интереса.

Вне пределов выборки убыток составил $3056 со сделки, т.е. на два стандартных отклонения хуже, чем поведение в пределах выборки. Ис пользование лимитного приказа для случайных входов привело к несколь ко худшим результатам в последние годы. Процент прибыльных сделок составил 37%, опять-таки на два стандартных отклонения хуже, чем в пре делах выборки, но на одном уровне с входом по цене открытия.

Гест 3. ССВ со случайными входами по стоп-приказу. В табл. 13- приведены результаты торговли портфелем финансовых инструментов при использовании случайных входов, основанных на срабатывании стоп приказа. По показателю средней прибыли в сделке эффективность в пре делах выборки была лучше, чем в двух предыдущих тестах;

средний убы ток составил $2039, а стандартное отклонение — $391. Процент прибыль ных сделок был ниже (36,36% при стандартном отклонении 1,12%). Более низкий процент прибыльных сделок, видимо, отражает неоптимальные цены входа в рынок, полученные при входе по стоп-приказу.

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

Приведенные в табл. 13-1 — 13-3 результаты могут служить основой для проведения сравнительной оценки методов выхода, описанных в части II ГЛАВА 13 СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА.«А этой книги. Для этой цели наиболее показательны параметры $СДЕЛ и ПРИБ%, поскольку они не зависят от количества проведенных системой сделок.

Эффективность системы со случайными входами по цене откры тия и ССВ на различных рынках. В табл. 13-4 приведены показатели работы системы со случайными входами по цене открытия и ССВ. Ис пользовались случайные последовательности, обеспечивающие макси мальную доходность в пределах выборки (по показателю годового соот ношения риска/прибыли) согласно тесту I. В первом столбце (РЫН) ука зан рынок, прочие столбцы содержат данные о различных аспектах рабо ты системы в пределах и вне выборки.

В пределах выборки прибыльными были только рынки британского фунта, иены, откормленного скота, живых свиней и леса. Высокая при быль (25,9% в год) была получена только на рынке немецкой марки. Вне пределов выборки прибыльными были рынки NYFE, иены, сырой нефти, золота, палладия, живых свиней, соевых бобов, соевой муки, кофе и апель синового сока. Только рынки иены и живых свиней были прибыльны как в пределах, так и вне пределов выборки. Система со случайным входом была одной из наименее устойчивых, рассматривавшихся при изучении входов.

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

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

ТЕСТИРОВАНИЕ МОДИФИЦИРОВАННОЙ ССВ Следующий тест использует модифицированную стандартную страте гию выходов (МССВ). Системе придан больший реализм за счет того, что защитная остановка управления капиталом и лимит целевой прибыли сра батывают не только по цене закрытия, но и по внутридневным ценам.

Чтобы избежать неоднозначных ситуаций (срабатывания нескольких приказов в один торговый день), все входы будут производиться только по цене открытия. Таким образом, можно экспериментировать с широ 330 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов Таблица 13—4. Результаты торговли системы с ССВ и случайными входами по цене открытия на различных рынках ГЛАВА 13 СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА ким разнообразием стратегий выхода. В остальном правила выхода иден тичны использованным ранее и сводятся к следующему: после входа ус танавливаются выходная защитная остановка выше (для коротких) или ниже (для длинных позиций) цены входа и выходной лимитный приказ выше (для длинных) или ниже (для коротких позиций) цены входа. Оста новка смещена от цены входа на величину произведения некоторого мно жителя (параметр остановки по управлению капиталом) и размера сред него истинного диапазона. Лимитный приказ смещен от цены входа на величину произведения другого множителя (параметра целевой прибы ли) и среднего истинного диапазона. Система производит выход по цене закрытия по истечении 10 дней, если ни защитная остановка, ни целевая прибыль не закрывают сделку ранее. Используется средний истинный ди апазон с периодом 50 баров. Ниже приведен код, обеспечивающий слу чайные входы и модифицированные стандартные выходы.

static void Model (float *parms/ float *dt, float *opn, float *hi, float *lo, float *cls, float *vol, float *oi, float *dlrv, int nb, TRDSIM &ts, float *eqcls) { // Выполняет случайные входы с модифицированными выходами // File = x19mod02.c // parms — набор [1..MAXPRM] параметров // dt — набор [l..nb] дат в формате ГГММДД // орn — набор [1..nb] цен открытия // hi — набор [1..nb] максимальных цен // 1о — набор [1..nb] минимальных цен // cls — набор [1..nb] цен закрытия // vol — набор [1..nb] значений объема // oi — набор [1..nb] значений открытого интереса // dlrv — набор [1..nb] средних значений долларовой волатильности // nb — количество баров в наборе данных // ts — ссылка на класс торгового симулятора // eqcls — набор [1..nb] значений капитала по ценам закрытия // объявляем локальные переменные static int rc, cb, ncontracts, maxhold, signal, ranseed;

static float mmstp, ptlim, limprice, stpprice;

static int entryposted, entrybar;

static float exitatr[MAXBAR+1], rnum, entryprice;

static long iseed;

// копируем параметры в локальные переменные для удобного обращения ranseed = parms[8] ;

// используется для генерации случайной // последовательности maxhold = 10;

// период максимального удержания позиции ptlim =4.0;

// целевая прибыль в единицах среднего истинного // диапазона mmstp =1.0;

// защитная остановка в единицах среднего // истинного диапазона // выполняем вычисления для всех данных AvgTrueRangeS(exitatr,hi,lo,cls,50,nb);

// средний истинный диапазон для // выхода // запускаем генератор случайных чисел //... используем разные случайные последовательности для каждого рынка 332 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов //... ts.model() возвращает индекс рынка (SP=1, YX=2,...) iseed = -(ranseed + 10 * ts.model());

rnum = ran2 (Stiseed) ;

// проходим через дни, чтобы смоделировать реальную торговлю for(cb = 1;

cb <= nb;

cb++) ( //не открываем позиций до начала периода выборки //... то же самое, что установка MaxBarsBack в TradeStation if(dt[cb] < IS_DATE) { eqcls[cb] = 0.0;

continue;

) // выполняем ожидающие приказы и считаем кумулятивный капитал rc = ts.update(opn[cb], hi[cb], lo[cb], cls[cb], cb) ;

if{rc != 0) nrerror{"Trade buffer overflow");

eqcls[cb] = ts.currentequity(EQ_CLOSETOTAL);

// считаем количество контрактов для позиции //... мы хотим торговать эквивалентом долларовой волатильности //... 2 новых контрактов на S&P-500 от 12/31/ ncontracts = RoundToInteger(5673.О / dlrv[cb]);

if (ncontracts < 1) ncontracts = 1;

// избегаем устанавливать приказы на дни с ограниченной торговлей if(hi[cb+l] == lo[cb+l]) continue;

// генерируем "стандартные" случайные входные сигналы signal = 0;

rnum = ran2(&iseed);

// случайное число между 0 и if(rnum < 0.025) signal = -1;

// случайный короткий вход else if(rnum > 0.975) signal = 1;

// случайный длинный вход // входить в сделки по цене открытия entryposted = 0;

if{ts.position() <= 0 && signal =- 1} { ts.buyopen('1', ncontracts);

entryposted = 1;

entryprice = opn[cb+l];

entrybar = cb + 1;

} else if (ts.position)) >= 0 && signal == -1) { ts.sellopen('2', ncontracts);

entryposted = -1;

entryprice = opn[cb+l];

entrybar = cb + 1;

} // выходить из сделок, используя модифицированный стандартный выход if(entryposted > 0) ( // инициализация и выходы для длинных позиций на каждый день limprice = entryprice + ptlim * exitatr[cb];

stpprice - entryprice - mmstp * exitatr[cb];

ts.exitlonglimit('A', limprice);

ts.exitlongstop('B', stpprice);

] else if(entryposted < 0) { // инициализация и выходы для коротких позиций на каждый день limprice = entryprice - ptlim * exitatr[cb];

stpprice = entryprice + mmstp * exitatr[cb];

ts.exitshortlimit('C', limprice) ;

ts.exitshortstop('D', stpprice);

} else { // выходы после дня входа ГЛАВА 13 СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА if(ts.position() > 0) ( // длинные позиции ts.exitlonglimit{'F', limprice) ;

ts.exitlongstop('G', stpprice);

if(cb-entrybar >= maxhold) ts.exitlongclose('E') } else if (ts.position)) < 0) { // короткие позиции ts.exitshortlimit{'I', limprice) ;

ts.exitshortstop('J', stpprice) ;

if(cb-entrybar >= maxhold} ts.exitshortclose{'H');

} } )// обрабатываем следующий день } Это код идентичен предыдущему за исключением изменений в стра тегии выхода. Система входит на рынок по случайному сигналу, как опи сывалось ранее, но покупка и продажа производятся только по цене от крытия. Кроме того, сохраняется информация о входе, т.е. записывается, отдавался ли приказ на вход (длинная, короткая позиция или никакой) в данном торговом дне (entryposted);

по какой цене (entryprice) производил ся вход, если он был, и в какой день имел место вход (entrybar). Эти дан ные необходимы для расчета выходов, которые производятся после вхо да. Если на следующий день отдается приказ войти в рынок (т.е. занять длинную либо короткую позицию по цене открытия следующего дня), то для этого дня также рассчитываются целевая прибыль и защитная оста новка. Для длинных позиций защитная остановка устанавливается на не котором уровне (цена входа минус произведение среднего истинного диа пазона и некоторого параметра), а лимитный приказ целевой прибыли — на уровне цены входа плюс произведение среднего истинного диапазона и другого параметра. Если в данный день отдается приказ к открытию короткой позиции по цене открытия следующего дня, то также размеща ются приказы закрытия данной короткой позиции (лимитный приказ це левой прибыли или защитная остановка). Для длинных позиций расчет производится подобным же образом, но в обратном направлении. Если данный день не используется для входа, то проводится проверка для оп ределения наличия существующей позиции после закрытия дня. Если позиция существует, то размещаются два (а возможно, три) приказа: за щитная остановка и целевая прибыль, вычисленные в день открытия дан ной позиции, и, если позиция открыта более чем maxhold дней, отдается приказ на выход по цене закрытия.

РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ Тест 4. МССВ со случайными входами по цене открытия.

В табл. 13-5 (идентичной по формату табл. 13-1 — 13-3) приведены данные об эффективности портфеля рынков при использовании модифицирован ной стандартной стратегии выходов при случайных входах по цене от ЧАСТЬ III ИССЛЕДОВАНИЕ выходов крытия. В пределах выборки средняя сделка приносила убыток в $ при стандартном отклонении $365. Процент прибыльных сделок соста вил 31,73%, при стандартном отклонении 1,10%. Средняя сделка, таким образом, приносила меньший убыток, чем при тестировании исходной ССВ. Снижение убытка, несомненно, вызвано способностью модифици рованной стратегии быстрее останавливать убыточные позиции. Эти вне запные и частые выходы также объясняют снижение числа прибыльных сделок. Прибыльных сделок было меньше, но убыток со средней сделки также меньше — интересное сочетание. В целом МССВ можно считать шагом вперед по сравнению с исходной стратегией.

Вне пределов выборки средняя сделка приносила убыток в размере $836. С точки зрения статистики это значительное улучшение по сравне нию с выборкой — видимо, в последние годы этот выход работает значи тельно лучше, чем ранее. Возможно, теперь рынки более чувствительны к способности своевременно закрывать убыточные позиции. Другие по казатели в табл. 13-5 указывают на изменения подобного вида.

Результаты МССВ со случайным входом по цене открытия на раз личных рынках. В табл. 13-6 показаны результаты тестов на различных рынках системы с наилучшей случайной последовательностью. Входы производились по цене открытия. Наилучшая случайная последователь ность была выбрана из числа приведенных в табл. 13-5. Положительная прибыль как в пределах, так и вне выборки была получена на рынках швей царского франка, сырой нефти, мазута, золота и живого скота. На неко торых рынках при помощи МССВ удавалось получать устойчивую при Таблица 13—5. Результаты модифицированной стратегии выхода при случайных входах по цене открытия ГЛАВА 13 СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА Таблица 13—6. Результаты торговли системы с модифицированной стан дартной стратегией выхода и случайными входами по цене открытия на различных рынках быль от случайных сделок! Количество рынков, прибыльных и в преде лах, и вне пределов выборки было гораздо больше, чем при использова нии оригинальной ССВ — верный признак того, что модифицированный, более чувствительный выход работает лучше.

Как обычно, и в пределах, и вне пределов выборки длинные позиции были более прибыльными (т.е. менее убыточными), чем короткие. Как ни 336 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов странно, вне пределов выборки длинные позиции принесли небольшую прибыль на портфеле в целом при использовании этой стратегии выхо дов, впрочем, недостаточную для практического применения данной тор говой стратегии.

ЗАКЛЮЧЕНИЕ Результаты однозначно показывают, что многие из стратегий входа, ис пытанных в предыдущих главах, были ничем не лучше случайных входов, а порой и хуже. Кроме того, показано, что стандартная стратегия выхода далеко не оптимальна. Модифицированная стратегия, всего-навсего по зволяющая выходить из рынка по внутридневным ценам (а не только по ценам закрытия), работала гораздо лучше и даже смогла обеспечить не которую прибыль в длинных позициях. Стратегия МССВ остается ми нималистской, но, тем не менее, показывает, что именно хорошая страте гия выходов является ключом к успешной торговле. Если данные этого и предыдущих исследований верны, то можно найти стратегию выходов, способную реально получать значительную прибыль на основе случай ных входов, по крайней мере на некоторых рынках. Такая стратегия под твердит сказанное многими великими трейдерами: опытный трейдер, уме ло управляющий капиталом, может получить прибыль даже с плохой сис темой, а новичок, не имеющий опыта управления капиталом, потеряет деньги даже при использовании великолепной системы. Под системой здесь имеется в виду модель входа. Во всех последующих тестах в этой книге будет использоваться модифицированная стратегия выхода вместо оригинальной ССВ.

ЧТО МЫ УЗНАЛИ?

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

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

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

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

НАЗНАЧЕНИЕ ТЕСТОВ При создании исходной ССВ (а также при последующей модификации с использованием лимитных приказов целевой прибыли и защитных оста новок внутри дня) расположение защитной остановки и целевой прибыли было произвольно и жестко установлено. Для длинных входов защитная установка управления капиталом располагалась на уровне одного средне го истинного диапазона ниже цены входа, а целевая прибыль — на уровне четырех средних истинных диапазонов выше цены входа. Для коротких входов расположение было обратным. Мы пытались разместить защит ную установку достаточно близко к цене входа для максимально быстрого прекращения убыточных сделок, а целевую прибыль — достаточно дале ко, чтобы не терять прибыль благоприятных сделок. Первый из нижепри веденных тестов исследует влияние защитной остановки и целевой при были при подстройке этих произвольно выбранных значений.

338 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов Второй набор тестов изучает возможность замены фиксированной защитной установки в МССВ на подвижную. Минимальная конфигура ция МССВ не обладает привлекательными чертами — в частности, для трейдера желательно получить хотя бы минимальную прибыль со сделки, а не ждать, пока она станет убыточной. Такая фиксация прибыли может быть обеспечена следящей защитной остановкой: вместо размещения за щитной остановки на некотором расстоянии от цены входа остановка пе ремещается вместе с ценой в направлении открытой позиции, когда сделка становится выгодной. Когда цены движутся в благоприятном направле нии, вместе с ними движется и уровень защитной остановки, защищая часть потенциальной прибыли. Если рынок разворачивается, то сделка будет закрыта не с убытком (как было бы при фиксированной защитной остановке), а с прибылью, если следящая защитная остановка вошла в при быльную ценовую область. Существует ряд стратегий размещения и пе ремещения уровня защитной остановки, предназначенных для избежа ния убыточного закрытия прибыльных сделок и фиксации максимальной части нереализованных прибылей, которые и будут исследоваться во вто ром наборе тестов.

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

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

Кроме того, будет испытан в различных модификациях выход по ог раничению времени, исходя из того соображения, что при динамической защитной остановке и целевой прибыли ограничение времени не столь ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА необходимо. «Застойные» позиции будут закрываться максимально быст ро другими способами, но будут держаться как можно дольше при благо приятном движении рынка. Суть в том, чтобы не фиксировать прибыль только из-за того, что истек чрезмерно короткий лимит времени.

ТЕСТИРОВАНИЕ МОДЕЛИ С ФИКСИРОВАННОЙ ЗАЩИТНОЙ ОСТАНОВКОЙ И ЦЕЛЕВОЙ ПРИБЫЛЬЮ В стратегии МССВ величины защитной остановки и целевой прибыли были фиксированы на достаточно произвольном и, возможно, неопти мальном уровне. Что произойдет, если протестировать ряд значений этих параметров в поисках оптимального сочетания?

В данном тесте положение защитной установки управления капита лом прогоняется от 0,5 до 3,5 с шагом 0,5. Целевая прибыль прогоняется от 0,5 до 5 с шагом 0,5. Под защитной остановкой и целевой прибылью понимается произведение указанного числа на средний истинный диапа зон определенного количества последних торговых дней.

float *lo, float *cls, float *vol, float *oi, float *dlrv, int nb, TRDSIM &ts, float *eqcls) { // Выполняет случайные входы с вариациями // модифицированного стандартного выхода. Эта модель тестирует // МСС, используя вариации в параметрах.

// File = x20mod01.c // parms — набор [1..MAXPRM] параметров // dt — набор [l..nb] дат в формате ГГММДД // орn - набор [l..nb] цен открытия // hi - набор [l..nb] максимальных цен // 1о — набор [ 1..nb] минимальных цен // cls - набор [l..nb] цен закрытия // vol — набор [1..nb] значений объема // oi — набор [1..nb] значений открытого интереса // dlrv — набор [1..nb] средних долларовой волатильности // nb — количество дней в наборе данных // ts — ссылка на класс торгового симулятора // eqcls - набор [l..nb] уровней капитала по ценам закрытия // объявляем локальные переменные static int rc, cb, neontracts, maxhold, signal, ranseed;

static float mmstp, ptlim, lirnprice, stpprice;

static int entryposted, entrybar;

static float exitatr[MAXBAR+1], rnum, entryprice;

static long iseed;

// копируем параметры в локальные переменные для удобного обращения ptlim = parms[1];

// целевая прибыль в единицах среднего истинного // диапазона mmstp = parms[2];

// защитная остановка в единицах среднего истинного // диапазона maxhold = parms[3];

// период максимального удержания позиции ranseed = parms[8];

// используется для инициализации случайной // последовательности 340 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов // выполняем вычисления по всему объему данных AvgTrueRangeS(exitatr,hi,lo,cls,50,nb);

// средний истинный диапазон для // выхода // очищаем генератор случайных чисел //... используем различную случайную последовательность для каждого //инструмента //... ts.model() возвращает индекс рынка (SP=1, YX-2,...) iseed = -(ranseed + 10 * ts.model());

rnum = ran2(&iseed);

// проходим через дни, чтобы смоделировать реальную торговлю for(cb = 1;

cb <= nb;

cb++) ( // не открываем позиций до начала периода выборки //... то же самое, что установка MaxBarsBack в TradeStation if(dt[cb] < IS_DATE) { eqcls[cb] = 0.0;

continue;

} // выполняем ожидающие приказы и считаем кумулятивный капитал rc = ts.update(opn[cb], hi[cb], lo[cb], cls[cb], cb) ;

if(rc != 0) nrerror("Trade buffer overflow");

eqcls[cb] = ts.currentequity(EQ_CLOSETOTAL);

// считаем количество контрактов для позиции //... мы хотим торговать эквивалентом долларовой волатильности //... 2 новых контрактов на S&P-500 от 12/31/ ncontracts = RoundToInteger(5673.0 / dlrv[cb]);

if(ncontracts < 1) ncontracts - 1;

// избегаем устанавливать приказы на дни с ограниченной торговлей if(hi[cb+l] == lo[cb+l]) continue;

// генерировать "стандартные" случайные сигналы входа signal = 0;

rnurn = ran2(&iseed) ;

if(rnum < 0.025) signal = -1;

// случайный короткий вход else if (rnum > 0.975) signal = 1;

// случайный длинный вход // входим в сделки по цене открытия entryposted = 0;

if(ts.position!) <= 0 && signal == 1) ( ts.buyopen('1', ncontracts};

entryposted = 1;

entryprice = opn[cb+l];

entrybar = cb + 1;

} else if(ts.position)) >= 0 && signal == -1) { ts.sellopen('2', ncontracts) ;

entryposted = -1;

entryprice = opn[cb+l];

entrybar = cb + } // выходим из сделок, используя модифицированный стандартный выход if(entryposted > 0) { // инициализация и выходы для длинных позиций в день входа limprice = entryprice + ptlim * exitatr[cb];

stpprice = entryprice - mmstp * exitatr[cb];

ts.exitlonglimit{'A', limprice);

ts.exitlongstop('B', stpprice);

} else if(entryposted < 0) { // инициализация и выходы для коротких позиций в день входа limprice = entryprice - ptlim * exitatr[cb];

stpprice = entryprice + mmstp * exitatr[cb];

ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА ts.exitshortlimit('С', limprice);

ts.exitshortstop('D', stpprice);

} else { // выходы после дня входа if (ts-position{) > 0) { // длинные позиции ts.exitlonglimit('F', limprice);

ts.exitlongstop('G', stpprice);

if(cb-entrybar >= maxhold) ts.exitlongclose('E');

} else if(ts.position() < 0) ( // короткие позиции ts.exitshortlimit('I', limprice);

ts.exitshortstop('J', stpprice);

if(cb-entrybar >= maxhold) ts.exitshortclose('H') ;

} } } // обрабатываем следующий день ) В коде использован стандартный случайный вход по цене открытия и модифицированный стандартный выход. Правила выхода следующие:

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

В табл. 14-1 приведены годовые соотношения риска/прибыли (Р/ПРИБ), процент прибыльных сделок (ПРИБ%) и средняя прибыль или убыток со сделки ($СДЕЛ) для каждой из комбинаций значений лимита и защитной остановки. В столбце справа приведены средние значения СРЕД для каждого из значений лимита целевой прибыли, в нижней строке — средние значения СРЕД для каждого из значений защитной остановки.

Из полученных результатов можно сделать целый ряд выводов. Чем ближе целевая прибыль к цене входа, тем выше процент прибыльных сде лок. Близко расположенная целевая прибыль с большей вероятностью достигается и закрывает позицию с некоторой прибылью. При этом по вышенный процент прибыльных сделок недостаточен для преодоления отрицательного эффекта потери потенциальной прибыли. Более удален ные целевые прибыли работали лучше, и в большинстве случаев оптималь ное расположение целевой прибыли составило от 1 до 2 средних истин ных диапазонов от цены входа. При удалении защитных остановок от цены входа процент прибыльных сделок возрастал, но другие показатели ухуд 342 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов шались, при приближении — процент прибыльных сделок падал вместе с другими показателями.

Наилучшая общая эффективность по показателям годового соотно шения риска/прибыли и средней прибыли сделки была достигнута при целевой прибыли 4,5 и защитной остановке 1,5. При удалении от опти мальных значений возрастало отношение риск/прибыль, равно как и сред ний убыток в сделке. Между размещением целевой прибыли и защитной установки не было особо выраженной связи. Значения, оптимальные для одного параметра, при изменении другого менялись незначительно. По чти так же хорошо работало сочетание целевой прибыли 1,5 и защитной остановки 4 — была получена несколько большая средняя прибыль в сдел ке и несколько худшее соотношение риска/прибыли. Интересно, что про извольно заданные значения оказались весьма близкими к оптимальным (занимая соседние ячейки в табл. 14-1). Впрочем, оптимальные значения обеспечили на 6% больше прибыльных сделок, чем произвольно задан ные целевая прибыль 4 и защитная остановка 1.

Для оптимальных параметров процент прибыльных сделок составил 39%. При поиске максимального значения обнаружилось, что параметр целевой прибыли 0,5 обеспечивает 69% прибыльных сделок, но со значи тельно худшими показателями риска/прибыли и средней прибыли со сдел ки. Это однозначно показывает важность удержания потенциально при быльных позиций.

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

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

ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА Таблица 14—1. Эффективность портфеля в пределах выборки при использо вании случайного входа с модифицированными стандартны ми выходами в зависимости от параметров целевой прибыли (по горизонтали) и защитной остановки (по вертикали) 344 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов ТЕСТИРОВАНИЕ ДИНАМИЧЕСКИХ ЗАЩИТНЫХ ОСТАНОВОК В этой группе тестов мы заменим фиксированную защитную остановку МССВ на динамическую, предположительно более эффективную. Целью является фиксация основной части потенциальной прибыли, избегая при этом превращения потенциально выгодных сделок в убыточные, как это может иметь место в случае слишком близко расположенной фиксиро ванной остановки.

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

Второй тест динамической защитной остановки похож на методику подгонки фиксированной защитной остановки в МССВ. Уровень смеща ется вверх (для длинных позиций) или вниз (для коротких позиций) от текущей цены на некоторое количество средних истинных диапазонов. В отличие от фиксированной защитной остановки, использованной в МССВ, в данном случае защитная остановка перемещается в зависимости от те кущей рыночной цены. Смещение может происходить только в одну сто рону — вверх для длинных позиций, вниз для коротких. Целью является поддержание одинакового статистического расстояния между наилучшей ценой, достигнутой во время удержания позиции, и защитной останов кой. Защитная остановка для длинных позиций рассчитывается следую щим образом: (1) Из цены входа вычитается параметр mmstp, умножен ный на средний истинный диапазон. Результат будет уровнем защитной остановки для следующего дня. (2) На следующей день из текущей цены вычитается другой параметр stpa, умноженный на средний истинный ди апазон. (3) Если цена защитной остановки, полученная на шаге 2, выше ценового уровня текущей защитной остановки, то текущее значение за щитной остановки заменяется вычисленным. (4) Стадии 2 и 3 повторяют ся для каждого последующего дня. При расчете защитной остановки для короткой позиции произведение среднего истинного диапазона на пара метр (mmstp или stpa.} прибавляется к рыночной цене, и уровень защит ной остановки опускается вниз.

В третьем тесте использован более сложный подход. Для длинных по зиций, как обычно, защитная остановка задается на уровне некоторого количества средних истинных диапазонов ниже цены входа в рынок. За тем остановка смещается вверх на величину, зависящую от того, насколь ко текущая цена выше текущего уровня защитной остановки. Для корот ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА ких позиций уровень остановки задается выше цены входа и опускается в зависимости от того, насколько текущая цена ниже его. В принципе этот метод основывается на варианте смещенного экспоненциального сколь зящего среднего (ЭСС), за тем исключением, что величина скользящего среднего инициализируется отдельным условием при входе в сделку и может изменяться только в одном направлении (так как защитная оста новка может двигаться только в направлении рыночной цены). Защитная остановка для длинных позиций рассчитывается нижеследующим обра зом: (I) Начальное значение в день входа в рынок задается вычитанием из цены входа произведения параметра mmstp и среднего истинного диапа зона. (2) На следующий день от максимальной цены отнимается произве дение параметра stpa и среднего истинного диапазона;

затем вычитается текущее значение защитной остановки и результат умножается на пара метр stpb. (3) Если результат шага 2 больше нуля, добавляем его к текуще му значению защитной остановки, если нет, то уровень не изменяется.

(4) Повторяем шаги 2 и 3 для каждого последующего дня. При вычислении защитной остановки для коротких позиций произведения среднего истин ного диапазона на параметры прибавляются к рыночной цене. К уровню защитной остановки прибавляются только отрицательные поправки.

static void Model (float *parms, float *dt, float *opn, float *hi, float *lo, float *cls, float *vol, float *oi, float *dlrv, int nb, TRDSIM &ts, float *eqcls) { // Выполняет тесты случайных входов для стратегии выхода // с "динамическими" защитными остановками.

// File = x20mod02.c // parms — набор [1..MAXPRM] параметров // dt - набор [l..nb] дат в формате ГГММДД // орn — набор [1..nb] цен открытия // hi — набор [1..nb] максимальных цен // 1о — набор [1..nb] минимальных цен // cls — набор [1..nb] цен закрытия // vol — набор [1..nb] значений объема // oi — набор [1..nb] значений открытого интереса // dlrv — набор [1..nb] средних долларовой волатильности / / nb — количество дней в наборе данных / / ts — ссылка на класс торгового симулятора // eqcls — набор [1..nb] уровней капитала по ценам закрытия // объявляем локальные переменные static int rc, cb, ncontracts, maxhold, signal, ranseed;

static float stpa, stpb, mmstp, ptlim, limprice, stpprice;

static int entryposted, entrybar, model type;

static float exitatr[MAXBAR+1], rnum, entryprice, tmp, atr;

static long iseed;

// копируем параметры в локальные переменные для удобного обращения mmstp = parms[1];

// используется для начальный защитной остановки stpa - parms[2];

// дополнительный параметр защитной остановки stpb = parms[3];

// дополнительный параметр защитной остановки ptlim = parms[6];

// целевая прибыль в единицах среднего истинного // диапазона 346 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов modeltype = parms[7];

// тип используемой динамической защитной // остановки maxhold = parms[8];

// период максимального удержания позиции ranseed = parms[9];

// используется для инициализации случайной // последовательности // выполняем вычисления по всему объему данных AvgTrueRangeS{exitatr,hi,lo,cls,50,nb);

// средний истинный диапазон // для выхода // очищаем генератор случайных чисел //... используем различные случайные последовательности для каждого рынка //... ts.model() возвращает индекс рынка (SP=1, YX-2,...) iseed = -{ranseed + 10 * ts.model());

rnum = ran2(&iseed);

// проходим через дни, чтобы смоделировать реальную торговлю for(cb = 1;

cb <= nb;

cb++) { // не открываем позиций до начала периода выборки //... то же самое, что установка MaxBarsBack в TradeStation if(dt[cb] < IS_DATE) { eqcls[cb] = 0.0;

continue;

} // выполняем ожидающие приказы и считаем кумулятивный капитал rc = ts.update (opn [cb], hi [cb], lo [cb], cls [cb], cb) ;

if(rc !- 0) nrerror{"Trade buffer overflow");

eqcls[cb] = ts.currentequity(EQ_CLOSETOTAL);

// считаем количество контрактов для позиции //... мы хотим торговать эквивалентом долларовой волатильности //... 2 новых контрактов на S&P-500 от 12/31/ ncontracts = RoundToInteger(5673.О / dlrv[cb]);

if (ncontracts < 1) ncontracts = 1;

// избегаем устанавливать приказы на дни с ограниченной торговлей if (hi[cb+1] == lo[cb+1]} continue;

// генерировать "стандартные" случайные сигналы входа signal = 0;

rnum = ran2(&iseed);

if(rnum < 0,025) signal = -1 // случайный короткий вход else if(rnum > 0.975) signal = 1 // случайный длинный вход // входим в сделки по цене открытия entryposted = 0;

if (ts.position() < = 0 && signal == 1) { ts.buyopen{'1', ncontracts) ;

entryposted - 1;

entryprice = opn[cb+1];

entrybar = cb + 1;

} else if(ts.position{} >= 0 && signal == -1) { ts.sellopen{'2', ncontracts};

entryposted = -1;

entryprice = opn[cb+1];

entrybar = cb + 1;

} // выходим из сделок, используя стандартный выход с улучшенными // защитными остановками atr = exitatr[cb];

if (entryposted > 0) { ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА // инициализация и выходы для длинных позиций в день входа switch(modeltype) { case 1:

limprice = entryprice + ptlim * atr;

stpprice = min (Lowest (lo, 2, cb), entryprice - mmstp * atr);

break;

case 2:

case 3:

limprice = entryprice + ptlim * atr;

stpprice = entryprice - mmstp * atr;

break;

default: nrerror("Invalid modeltype");

} ts.exitlonglimit('A', limprice} ;

ts.exitlongstop('B', stpprice) ;

} else if (entryposted < 0) { // инициализация и выходы для коротких позиций в день входа switch(model type) { case 1:

limprice = entryprice - ptlim * atr;

stpprice = max (Highest(hi, 2, cb), entryprice + mmstp * atr);

break;

case 2:

case 3:

limprice = entryprice - ptlim * atr;

stpprice - entryprice + mmstp * atr;

break;

default: nrerror{"Invalid modeltype" ) ;

} ts.exitshortlimit('C', limprice) ;

ts.exitshortstop('D', stpprice);

} else { // выходы после дня входа if(ts.position() > 0) { // длинные позиции switch{modeltype) { case 1:

stpprice - max(stpprice, Lowest(lo,2,cb));

break;

case 2:

stpprice = max(stpprice, cls [cb]-stpa*atr);

break;

case 3:

tmp = (hi [cb] - stpa * atr) - stpprice;

if{tmp > 0.0) stpprice += stpb * tmp;

break;

} ts.exitlonglimit('F', limprice);

ts.exitlongstop('G', stpprice);

if (cb-entrybar >= maxhold) ts.exitlongclose('E' } ;

} else if (ts.position(} < 0) { // короткие позиции switch(modeltype) { case 1:

stpprice = min(stpprice, Highest(hi,2,cb}) ;

break;

case 2:

stpprice = min (stpprice, cls [cb]+stpa*atr);

break;

348 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов сазеЗ:

tmp = {lo[cb] + stpa * atr) - stpprice;

if(tmp < 0.0) stpprice += stpb * tmp;

break;

} ts.exitshortlimit('I', limprice) ;

ts.exitshortstop('J', stpprice);

if(cb-entrybar >= maxhold) ts.exitshortclose('H') ;

} } } // обрабатываем следующий день } Вышеприведенный код реализует МССВ с заменой фиксированной защитной остановки на одну из трех динамических методик. Вид защит ной остановки выбирается параметром modeltype, и в зависимости от вида выбранной остановки программа оптимизирует значения еще трех допол нительных параметров. Для остановки на основе максимального макси мума/минимального минимума за два последних дня (ММ/ММ) параметр mmstp — это количество средних истинных диапазонов (не обязательно целое число), прибавляемых или отнимаемых от цены входа для получе ния защитной остановки для входного дня. Защитная остановка входного дня устанавливается на уровне цены входа или минимального минимума за два последних дня плюс или минус указанное количество средних ис тинных диапазонов (выбирается уровень, более удаленный от текущей рыночной цены). Для двух других остановок (на основе среднего истин ного диапазона и ЭСС) уровень защитной остановки входного дня ини циализируется стандартным образом, т.е. цена входа минус (для длинной позиции) или плюс (для короткой позиции) произведение mmstp на сред ний истинный диапазон.

Затем в каждом торговом дне производится коррекция уровня защит ной остановки. Вид коррекции зависит от выбранного параметром modeltype типа. Для остановки на основе ММ/ММ рассчитывается мак симальный максимум или минимальный минимум в зависимости от вида открытой позиции (короткая или длинная). Если результат ближе к ры ночной цене, чем текущий уровень защитной остановки, то он использу ется в качестве новой защитной остановки. В другой модели средний ис тинный диапазон умножается на второй параметр stpa. Результат вычи тается (для длинной позиции) или прибавляется (для короткой) к теку щей цене закрытия. Если результат ближе к текущей цене, чем текущий уровень защитной остановки, то он заменяет уровень защитной останов ки, приближая его, таким образом, к текущей рыночной цене. Для треть его типа остановки (на основе ЭСС) средний истинный диапазон умно жается на второй параметр stpa. Результат вычитается (для длинной по зиции) или прибавляется (для короткой) к текущей цене закрытия для получения сдвига. Эта разность заносится в переменную tmp. Уровень ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА защитной остановки обновляется в последующие дни путем прибавле ния imp, умноженной на другой параметр (коэффициент коррекции stpb) к текущей защитной остановке. Это, впрочем, производится только в том случае, если коррекция сместит уровень защитной остановки ближе к текущей цене. Расчеты подобны методике получения экспоненциально го скользящего среднего (ЭСС) — с той разницей, что при расчете соб ственно ЭСС было бы возможно смещение уровня защитной остановки в обе стороны и не использовался бы предварительный сдвиг. В этой мо дели stpb определяет эффективный период экспоненциального скользя щего среднего, которое может изменяться только в одном направлении — к текущей рыночной цене.

Тестирование защитной остановки на основе максимального максимума/минимального минимума В этом тесте (modeltype = I) параметр начальной защитной остановки (НАЧСТП) управляет максимальной близостью уровня остановки к цене в первый день. Он прогоняется от 0,5 до 3,5 с шагом 0,5.

Каждая строка в табл. 14-2 представляет данные об эффективности каждого из значений НАЧСТП в пределах выборки. В последней строке указана эффективность лучшего из найденных значений вне пределов вы борки. Таблица имеет те же обозначения, что и другие таблицы оптими зации в этой книге (МПАД означает максимальное падение капитала в тысячах долларов).

Судя по результатам, эта защитная остановка постоянно располага лась слишком близко, на что указывает сниженный по сравнению с ос новной стратегией МССВ процент прибыльных сделок. В предыдущем тесте наилучшее решение (при mmstp 1,5, ptlim 4,5) давало 39% прибыль ных сделок, при соотношении риска/прибыли —1,46 и приносило сред ний убыток в сделке $1581. В этом тесте лучшее решение давало только 28% прибыльных сделок в пределах и 29% вне пределов выборки. Мно гие потенциально прибыльные сделки (в том числе сделки, которые были бы прибыльны с оптимальной фиксированной защитной остановкой МССВ) были превращены в малоубыточные. Близость расположения этой защитной остановки также подтверждается небольшой средней длительностью сделки (4 дня) по сравнению с обычными 6 — 8 днями.

Среднее соотношение риска/прибыли ( — 2,52 в пределах и —2,38 вне выборки) и средний убыток в сделке ($1864 в пределах и $1818 вне пре делов выборки) также были значительно хуже, чем при оптимальной фиксированной защитной остановке. Метод ММ/ММ с периодом 2 дня однозначно малоэффективен, и ему следует предпочесть фиксирован ную остановку, найденную с помощью оптимизации, как это было сде лано ранее (табл. 14-1).

350 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов Таблица 14—2. Эффективность портфеля для динамической защитной остановки на ММ/ММ с периодом 2 дня при целевой прибыли согласно табл. 14- В пределах выборки НАЧСТП ПРИБ ПРИБЛ ПРИБКР Ф.ПРИБ дох% Р/ПРИБ ВЕР МПАД СДЕЛ ПРИБ% $СДЕЛ дни 0.50 -7057 -3534 -4423 0.67 -10.3 -2.71 1.00 7951 4210 25 -1890 1.00 -7710 -3333 -4386 0.70 -10.3 -2.54 1.00 7711 4187 27 -1843 L 1.50 -7792 -3353 -4438 0.70 -10.3 -2.53 1.00 7778 4178 28 -1865 2.00 -7857 -3343 -4514 0.70 -10.3 -2.54 1.00 7839 4172 28 -1883 2.60 -7776 -3297 -4478 0.70 -10.3 -2.62 1.00 7766 4171 28 -1864 3.00 -7745 -3257 -4487 0.70 -10.3 -2.52 1.00 7727 4171 28 -1857 3.50 -7754 -3262 -4492 0.70 -10.3 -2.52 1.00 7736 4171 28 -1859 Вне пределов выборки 2.50 -3259 1 -1511 -1748 0.71 -22.4 -2.38 1.000 3450 1793 29 -1818 Тестирование динамической защитной остановки на основе среднего истинного диапазона В этой модели два параметра, представленные в коде как mmstp и sfpa, служили множителями среднего истинного диапазона при размещении защитной остановки на входном и на последующих днях соответственно.

В табл. 14-3 показана прогонка параметров для входного дня (ПЕРВЫЙ) и последующих дней (ПОСЛЕД) от 0,5 до 3,5 с шагом 0,5.

Как и в предыдущих тестах защитных остановок, влияние парамет ров на эффективность было постепенным и мало зависело друг от друга.

По показателю соотношения риска/прибыли наилучшие результаты дос тигаются при значении параметра первого дня, равного 2, и параметров последующих дней, равных 2 или 2,5. Наилучшим сочетанием значений является 2 для первого дня и 2,5 для последующих, когда соотношение риска/прибыли минимально и убыток со сделки также минимален. Мо дель работала чуть лучше, чем оптимальная фиксированная защитная ос тановка, соотношение риска/прибыли составило — 1,40 по сравнению с — 1,46. Процент прибыльных сделок был также выше (42% против 39%).

Как и в табл. 14-1, жирным шрифтом выделено лучшее решение.

Тестирование динамической защитной остановки на основе ЭСС В этой модели используются три параметра: исходная защитная оста новка для первого бара, сдвиг среднего истинного диапазона (СИДС в табл. 14-4) и коэффициент степени адаптации (КОЭФФ), который опре деляет относительную скорость движения уровня защитной остановки по направлению к рыночной цене или же период лежащего в основе модели модифицированного экспоненциального скользящего среднего.

Все параметры подвергались оптимизации в ходе широкого поиска.

ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА Таблица 14—3. Эффективность портфеля для динамической защитной остановки на основе среднего истинного диапазона как функция параметров остановки первого и последующих дней ПЕРВЫЙ ПОСЛЕД 0.50 1.00 1.50 2.00 2.50 3.00 3.50 СРЕД 0. Р/ПРИБ -3.48 -2.95 -2.75 -2.61 -2.53 -2.54 -2.54 -2. ПРИБ% 26 23 20 20 19 19 19 $СДЕЛ -1846 -1869 -1873 -1847 -1808 -1820 -1820 - 1. Р/ПРИБ -2.89 -2.18 -1.85 -1.65 -1.80 -1.67 -1.66 -1. ПРИБ% 32 32 31 32 32 32 32 $СДЕЛ -1813 -1743 -1852 -1558 -1528 -1601 -1595 - 1.50 Р/ПРИБ -2.8в -1.88 -1.60 -1.49 -1.43 -1.53 -1.46 -1. ПРИБ% 33 34 36 37 39 39 39 $СДЕЛ -1865 -1641 -1588 -1567 -1532 -1659 -1583 - 2. Р/ПРИБ -2.83 -1.89 -1.43 -1.42 -1.40 -1.56 -1.51 -1. ПРИБ% 34 35 37 40 42 42 42 $СДЕЛ -1868 -1493 -1487 -1558 -1586 -1784 -1741 - 2. Р/ПРИБ -2.76 -1.67 -1.45 -1.46 -1.50 -1.84 -1.80 -1. ПРИБ% 34 35 38 40 43 43 44 $СДЕЛ -1832 -1486 -1503 -1629 -1742 -1947 -1914 - 3.00 Р/ПРИБ -2.78 -1.68 -1.49 -1.50 -1.57 -1.77 -1.73 -1. ПРИБ% 34 35 38 41 43 44 44 $СДЕЛ -1837 -1498 -1543 -1891 -1853 -2129 -2125 - 3. Р/ПРИБ -2.76 -1.69 -1.51 -1.51 -1.60 -1.85 -1.78 -1. ПРИБ% 34 35 38 41 43 44 45 $СДЕЛ -1838 -1508 -1584 -1708 -1908 -2250 -2218 - СРЕД Р/ПРИБ -2.91 -1.96 -1.73 -1.66 -1.66 -1.79 -1.75 -1. ПРИБ% 32 33 34 36 37 38 38 $СДЕЛ -1843 -1805 -1599 -1651 -1708 -1884 -1857 - В табл. 14-4 показана эффективность портфеля как функция сдвига СИДС и степени адаптации — наиболее важных параметров модели. Па раметр исходной остановки был зафиксирован на уровне оптимального решения, т.е. 2.5.

Модель также была не очень чувствительна к изменениям парамет ров, причем наблюдалось некоторое взаимодействие между значениями, чего и следовало ожидать: чем меньше период скользящего среднего (сте пень адаптации), тем больше должен быть сдвиг СИДС, чтобы обеспечить разумное расстояние между ценой и защитной остановкой и поддержи вать эффективность модели на приемлемом уровне. Лучшее решение в табл. 14-1 соответствует СИДС = 1 и степени адаптации 0,3 (приблизи тельно соответствует 5-дневному скользящему среднему). Наконец-то получена защитная остановка, дающая ощутимо лучшие результаты: со 352 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов Таблица 14—4. Эффективность портфеля для динамической защитной остановки на основе модифицированного ЭСС как функция параметров сдвига СИДС и коэффициента скорости адапта ции КОЭФФ при исходной защитной остановке на уровне 2, сидс КОЭФФ 0.10 0.20 0.30 0.40 0.50 СРЕД 0.00 Р/ПРИБ -1.49 -1.56 -2.34 -2.57 -3.01 -2. ПРИБ% 38 36 35 35 35 $СДЕЛ -1636 -1517 -1929 -1912 -2003 - 0.50 Р/ПРИБ -1.42 -1.42 -1.78 -2.29 -2.42 -1. ПРИБ% 40 36 35 35 35 $СДЕЛ -1619 -1478 -1672 -1918 -1876 - 1.00 Р/ПРИБ -1.41 -1.5 -1.36 -1.54 -1.85 -1. ПРИБ% 42 38 37 36 35 $СДЕЛ -1621 -1629 -1407 -1508 -1676 - 1.50 Р/ПРИБ -1.54 -1.41 -1.43 -1.45 -1.48 -1. ПРИБ% 43 40 39 38 38 $СДЕЛ -1794 -1607 -1563 -1542 -1540 - -1.62 -1.55 -1.39 -1.47 -1.42 -1. 2.00 Р/ПРИБ 43 42 41 40 40 ПРИБ% $СДЕЛ -1925 -1806 -1593 -1646 -1565 - 2.50 Р/ПРИБ -1.59 -1.63 -1.56 -1.56 -1.56 -1. ПРИБ% 44 43 43 42 42 $СДЕЛ -1909 -1924 -1841 -1824 -1806 - 3.00 Р/ПРИБ -1.55 -1.57 -1.54 -1.56 -1.58 -1. ПРИБ% 44 44 44 44 43 $СДЕЛ -1870 -1880 -1836 -1849 -1872 - СРЕД Р/ПРИБ -1.52 -1.52 -1.63 -1.78 -1.90 -1. ПРИБ% 42 40 39 39 38 $СДЕЛ -1768 -1692 -1692 -1743 -1763 - ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА отношение риска/прибыли составило — 1,36, процент прибыльных сде лок 37% и средний убыток со сделки — $1407.

ТЕСТИРОВАНИЕ ЦЕЛЕВОЙ ПРИБЫЛИ На этой основе удалось получить лучшую из пока обнаруженных страте гий размещения защитной остановки при исходном параметре 2,5, сдви ге СИДС = 1 и коэффициенте адаптации КОЭФФ = 0,30. В оригиналь ном тесте модифицированного ЭСС (табл. 14-4) был использован опти мальный фиксированный уровень целевой прибыли, сейчас же на его место поставлен динамический лимитный приказ — уровень целевой при были, который изначально установлен далеко от рыночной цены, но при ближается к ней со временем. Идея состоит в том, чтобы обеспечить вы ход из «застойных» сделок на пике шумовой активности цены, при этом не жертвуя прибылью потенциально выгодных позиций в первые дни их «жизни». Использованный подход очень напоминает методику получения динамической защитной остановки на основе экспоненциального сколь зящего среднего. Здесь скользящее среднее инициализируется необыч ным образом: скользящей сумме присваивается значение рыночной цены плюс (для длинных) или минус (для коротких позиций) произведение сред него истинного диапазона и параметра ptlim. Таким образом, скользящее среднее начинается, как и при вычислении защитной остановки. Точно таким же образом уровень целевой прибыли корректируется в каждый последующий день: расстояние между текущей ценой целевой прибыли и текущей ценой закрытия умножается на параметр ptga. Результат за тем вычитается из текущей цены целевой прибыли, приближая ее к ры ночной цене. В отличие от защитной остановки целевая прибыль может перемещаться в обоих направлениях, хотя это и маловероятно — если по зиция открыта уже достаточно долго, то лимитный приказ прервет сдел ку при любом сильном благоприятном движении цены. Второй параметр ptga управляет периодом скользящего среднего, т.е. скоростью прибли жения целевой прибыли к рыночной цене. Правила, в общем, идентичны вышеприведенному тесту защитной остановки на модифицированном ЭСС, но относятся к уровню целевой прибыли.

// Выходим из сделок, используя стандартный выход с улучшенными защитными // остановками и целевой прибылью atr = exitatr[cb];

if(entryposted > 0) { // инициализация и выходы для длинных позиций на каждый день switch (modeltype) { case 1:

limprice = entryprice + ptlira * atr;

stpprice = min (Lowest(lo, 2, cb), entryprice = mmstp * atr);

354 ЧАСТЬ III ИССЛЕДОВАНИЕ выходов break;

case 2:

case 3:

case 4:

limprice = entryprice + ptlim * atr;

stpprice = entryprice - mmstp * atr;

break;

default: nrerror("Invalid modeltype") ;

} ts.exitlonglimit('A', limprice};

ts.exitlongstop('B', stpprice);

} else if(entryposted < 0) { // инициализация и выходы для коротких позиций на каждый день switch(modeltype) { case 1:

limprice = entryprice - ptlim * atr;

stpprice = max (Highest(hi, 2, cb) entryprice + mmstp * atr) ;

break;

case 2:

case 3:

case 4:

limprice = entryprice - ptlim * atr;

stpprice = entryprice + mmstp * atr;

break;

default: nrerror("Invalid modeltype");

} ts.exitshortlimit('C', limprice);

ts.exitshortstop('D', stpprice);

} else { // выходы после дня входа if(ts.position() > 0} { // длинные позиции switch(modeltype) { case 1:

stpprice = max(stpprice, Lowest(lo,2, cb) ) ;

break, case 2:

stpprice = max(stpprice,els[cb]-stpa*atr);

break;

case 3:

tmp = (hi[cb] - stpa * atr) - stpprice;

if(tmp > 0.0) stpprice += stpb * tmp;

break;

case 4:

tmp = (hi [cb] - stpa * atr) - stpprice;

if(tmp > 0.0) stpprice += stpb * tmp;

limprice = limprice - ptga*(limprice-cls[cb] ), break;

} ts.exitlonglimit('F', limprice) ;

ts.exitlongstop ('G', stpprice};

if (cb-entrybar >= maxhold) ts.exitlongclose('E' } ;

} else if{ts.position() < 0) { // короткие позиции switch (modeltype) [ case 1:

stpprice = min(stpprice, Highest(hi,2,cb) ) ;

break;

ГЛАВА 14 УЛУЧШЕНИЯ СТАНДАРТНОЙ СИСТЕМЫ ВЫХОДА case 2 :

stpprice = min(stpprice, cls [cb]+stpa*atr} ;

break;

case 3:

tmp = (lo[cb] + stpa * atr) - stpprice;

if(tmp < 0.0) stpprice += stpb * tmp;

break;

case 4:

tmp = (lo[cb] + stpa * atr) - stpprice;

if{tmp < 0.0) stpprice += stpb * tmp;

limprice = limprice + ptga*(cls [cb]-limprice);

break;

} ts.exitshortlimit('I', limprice);

ts.exitshortstop('J', stpprice};

if {cb-entrybar >= maxhold) ts.exitshortclose('H' } ;

} } Приведенный выше фрагмент кода показывает реализацию динами ческого лимитного приказа целевой прибыли совместно с экспоненци альной защитной остановкой согласно табл. 14-4.

В табл. 14-5 приведена информация об эффективности торговли порт фелем как функции значений исходной целевой прибыли (ptlim в коде, ИЦП в таблице) и коэффициента скорости адаптации (ptga в коде, КОЭФФ в таблице). Первый параметр, управлявший расположением це левой прибыли относительно цены входа (в единицах среднего истинно го диапазона), прогонялся от 2 до 6 с шагом 0,5. Коэффициент скорости адаптации прогонялся от 0,05 до 0,4 с шагом 0,05. Лучшее из сочетаний показало эффективность, превосходящую результат, полученный при ис пользовании фиксированной целевой прибыли (соотношение риска/при были —1,32, процент прибыльных сделок не изменился — 37%, средний убыток со сделки — $1325). Эта модель также была не слишком чувстви тельна к изменениям параметров. Результаты показывают, что с целевы ми прибылями следует быть осторожным: они имеют тенденцию преж девременно закрывать сделки с высоким потенциалом прибыли. Как вид но из табл. 14-5, при более близком размещении целевой прибыли про цент прибыльных сделок резко возрастал (больше сделок достигало ли митного приказа целевой прибыли и закрывалось с маленькой прибы лью). При этом соотношение риска/прибыли и средние показатели ухуд шались, показывая, что увеличение процента выгодных сделок не может скомпенсировать потери потенциальных прибылей, вызванные слишком близким расположением целевой прибыли. Иногда лучше не иметь ни какой целевой прибыли — при этом по крайней мере вы не пропустите важные благоприятные движения рынка. То же справедливо и в отноше нии коэффициента адаптации — уровни целевой прибыли, слишком бы стро приближавшиеся к рыночной цене, преждевременно закрывают хо рошие позиции.

Pages:     | 1 |   ...   | 4 | 5 || 7 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.