<< Пред. стр.

стр. 13
(общее количество: 46)

ОГЛАВЛЕНИЕ

След. стр. >>

3.0 015 949
2.6 736
1.0 901
0.6 616
8.8 534
9.4
89 84 28 31 40 32 42 48
ВВЕДЕНИЕ 101




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


ПОРТФЕЛЬ И ПЛАТФОРМА
ДЛЯ СТАНДАРТНОГО ТЕСТИРОВАНИЯ

Стандартный портфель фьючерсных рынков используется для тестов
всех методик, описанных в данном разделе. Назначение стандартного пор-
тфеля состоит в том же, что и принцип стандартизации выходов или дол-
ларовой волатильности. Стандартный портфель обеспечивает сравни-
мость, постоянство и достоверность данных. Все ценовые данные были
получены от Pinnacle Data в виде непрерывных фьючерсов, связанных и
скорректированных по методу Швагера (Schwager, 1992). Стандартный
портфель состоит из следующих рынков (см. также табл. II-1): фондовые
индексы (S&P 500, NYFE), рынки процентных ставок (Т-облигации, 90-
дневные Т-векселя, 10-летние казначейские бумаги), валюты (британский
фунт, немецкая марка, швейцарский франк, японская иена, канадский
доллар, евродоллар), энергетические и нефтяные рынки (сырая нефть, ма-
зут, бензин), металлы (золото, серебро, платина, палладий), скот (откорм-
ленный скот, живой скот, живые свиньи, свиная грудинка), традицион-
ные сельскохозяйственные продукты (соевые бобы, соевая мука, соевое
масло, кукуруза, овес, пшеница) и прочие товары (кофе, какао, сахар,
апельсиновый сок, хлопок, лес). Выбор рынков был нацелен на высокое
разнообразие и хорошее равновесие их видов. Хотя фондовый рынок,
процентные ставки, металлы, энергоносители, скот и зерновые рынки
были представлены, некоторые рынки (например, индекс Nikkei и при-
родный газ), которые могли бы улучшить баланс портфеля, не были вклю-
чены ввиду отсутствия достаточных исторических данных. В последую-
щих главах модели входа испытываются и на полном портфеле, и на его
индивидуальных компонентах. Поскольку хорошая система должна при-
носить прибыль на разнообразных рынках с использованием одних и тех
же параметров, система не оптимизировалась для индивидуальных рын-
ков, но только для портфеля в целом. При доступном количестве данных
оптимизация для конкретного рынка могла привести к избыточной под-
гонке под исторические данные.
ИССЛЕДОВАНИЕ входов в РЫНОК
102 ЧАСТЬ II



Если не указано иначе, в качестве выборки данных использован пе-
риод с августа 1985 г. по 31 декабря 1994 г. Данные периода с 1 января
1995 г. по 1 февраля 1999 г. зарезервированы для тестов вне пределов
выборки. Количество контрактов в сделках скорректировано для полу-
чения стандартной долларовой волатильности на всех рынках во все пе-
риоды времени; таким образом, каждый рынок и период сравним с дру-
гими и дает примерно одинаковый вклад в общий портфель в терминах
потенциального риска и прибыли. Все тесты используют одинаковые
стандартизованные выходы для достоверного сравнения между собой
различных моделей входа.
ГЛАВА 5


Модели, основанные на пробоях




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


ВИДЫ ПРОБОЕВ

Модели, основанные на пробоях, популярны и многообразны. Одна из
самых старых моделей, используемых чартистами, — простой пробой
линии тренда. На графике строится нисходящая линия тренда, которая
служит верхней границей. Когда цены поднимаются выше ее, открывает-
ся длинная позиция. Если же рынок опустился ниже восходящей линии
тренда, следует открыть короткую позицию. Линии поддержки и сопро-
тивления, построенные при помощи углов Ганна или чисел Фибоначчи,
также могут служить граничными линиями для пробоев.
Исторически за моделями пробоя трендовых линий следовали модели
пробоя каналов, которые основываются на линиях поддержки и сопро-
тивления, вычисленных по прошлым максимумам и минимумам. Трейдер
покупает, когда цены поднимаются выше максимума последних n штри-
хов (верхняя граница канала) и продает, когда цены опускаются ниже
минимума последних n баров (нижняя граница канала). Системы на про-
бое канала легко программируются и нравятся трейдерам, которые избе-
гают усложненных субъективных моделей, наподобие углов Ганна.
Более новыми и сложными являются модели пробоя волатильности,
где точки, пересечение которых вызывает сигнал, основаны на границах
волатильности. Границы волатильности располагаются на некотором
расстоянии от текущей цены (например, последней цены закрытия), при-
чем расстояние определяется текущей волатильностью рынка: когда во-
латильность растет, границы отодвигаются дальше от текущей цены; ког-
да она падает, границы сужаются. В основе лежит статистическая идея:
ИССЛЕДОВАНИЕ входов в РЫНОК
104 ЧАСТЬ II




если рынок движется в данном направлении сильнее, чем ожидается от
нормального колебательного движения (что и отражается в волатильнос-
ти) , то, возможно, присутствует влияние некоей силы, т.е. реального трен-
да. Многие из систем, продававшихся в конце 80-х годов по $3000, исполь-
зовали варианты пробоя волатильности.
Модели, основанные на пробое, также отличаются методом входа в
рынок. Вход может иметь место при открытии или закрытии, что требует
простого рыночного приказа. Внутридневной вход достигается при помо-
щи стоп-приказов на граничных уровнях. Более сложный метод позволя-
ет продавать или покупать на границе, т.е. пытаться войти в рынок, когда
после пробоя границы цены ненадолго возвращаются к ней. Этот метод
позволяет избегать как входа по лучшей цене, так и значительных отри-
цательных переоценок позиции.


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




нованные на пробое, уже не работают достаточно хорошо. В то время как
системы разрабатывались, тестировались и вводились в действие, рынки
достаточно быстро «адаптировались» к системам пробоя, что привело к
значительному снижению эффективности данных систем. В результате
ценовой шум вблизи границ, где размещаются стоп-приказы систем, ос-
нованных на пробоях, заставляет срабатывать эти системы излишне час-
то. Это особенно заметно на активных волатильных рынках, таких как
S&P 500 или Т-облигации. Кроме того, легко попасть в ситуацию с боль-
шим (относительно размера средней сделки) проскальзыванием при по-
пытке применять методы пробоя при внутридневной торговле; для более
длительных периодов пробои могут быть вполне приемлемы.
Хорошо сконструированная модель на основе пробоя пытается обой-
ти проблему шума с максимальной эффективностью. Это может дости-
гаться установкой порога на уровнях, вряд ли достижимых случайной, не
обозначающей тренда активностью рынка, — таких, которые, скорее все-
го, будут достигнуты, если на рынке сформируется значительный и по-
тенциально выгодный тренд. Если пороги установлены слишком близко к
текущим ценам, будет наблюдаться большое количество фальшивых сиг-
налов, что приведет к «пилообразной» торговле — ценовой шум будет за-
пускать приказы то в одном, то в другом направлении. Поскольку такие
движения не представляют собой реальных трендов с длительным перио-
дом, прибыль будет минимальной, а комиссия и проскальзывания нане-
сут тяжелый удар по капиталу трейдера. Если границы разнесены слиш-
ком широко, далеко от текущей цены, то система будет заключать слиш-
ком мало сделок и входить в рынок слишком поздно при любом важном
движении. Если же границы установлены верно (на основе линий тренда,
порогов волатильности или уровней поддержки/сопротивления), то тео-
ретически система, основанная на моделях пробоя, может быть весьма
эффективной: частые мелкие убытки, вызванные отсутствием продолже-
ния тренда или ценовым шумом, должны компенсироваться значитель-
ными прибылями при крупных движениях рынка.
Для снижения количества ложных сигналов и уменьшения «пилооб-
разности» торговли системы на основе пробоя иногда соединяются с ин-
дикаторами, например с «индексом направленного движения» (Welles
Wilder, 1978), которые предположительно определяют наличие или отсут-
ствие трендов на рынке. Если тренда нет, то сигналы входа, создаваемые
системой, игнорируются; если тренд есть, они принимаются к исполне-
нию. Если бы популярные индикаторы тренда действительно работали,
то любой трейдер, применявший их в сочетании с прорывом или другой
моделью, следующей за трендом, разбогател бы: система входила бы толь-
ко в значительные тренды, ведя торговлю гладко и стабильно. Проблема в
том, что индикаторы или не функционируют достаточно точно, или не
успевают среагировать достаточно быстро, отставая от рынка и делая ра-
боту системы не идеальной.
ИССЛЕДОВАНИЕ входов в РЫНОК
106 ЧАСТЬ II



ТЕСТИРОВАНИЕ МОДЕЛЕЙ, ОСНОВАННЫХ НА ПРОБОЕ
В этой главе будут проведены тесты нескольких систем, основанных на
пробое и работающих с разными портфелями различных бумаг, для срав-
нения их эффективности. Насколько хорошо они работают? Да и работа-
ют ли? Теоретически модели на пробое наилучшим образом подходят для
торговли на рынках с устойчивыми трендами, таких как рынки forex. При
должном использовании фильтров они могут работать и на других рын-
ках. Некоторые ответы на эти вопросы будут приведены в нашем иссле-
довании. Во всех тестах использовались стандартные портфель и страте-
гия выхода (см. введение к части II).


ВХОДЫ НА ПРОБОЕ КАНАЛА
Первые тесты рассматривают различные варианты входов на основе про-
боя ценового канала. Сначала мы исследуем модели, основанные только
на ценах закрытия, а также модели, где используются пробои уровней
максимального максимума или минимального минимума. В этих моделях
границы ценового канала соответствует понятию уровней поддержки/
сопротивления.


Пробои на основе цен закрытия
Тест 1. Система на основе пробоя канала. Используются только
цены закрытия; вход по рыночной цене при открытии биржи на
следующий день и стоимость сделок (комиссия, проскальзывание)
не учитываются. Правила системы таковы: «Если текущая позиция ко-
роткая или нейтральная, а рынок поднимается выше максимальной цены
закрытия за последние n дней, то при завтрашнем открытии следует по-
купать», или же, соответственно, «Если текущая позиция длинная или
нейтральная, а рынок опускается ниже минимальной цены закрытия за
последние n дней, то при завтрашнем открытии следует продавать (откры-
вать короткую позицию)». У этой системы только один параметр — пери-
од n, количество анализируемых дней. Количество контрактов для покуп-
ки или продажи (ncontracts) было выбрано таким, чтобы для данного рын-
ка сохранялась долларовая волатильность, примерно соответствующая
двум новым контрактам S&P 500 на конец 1998 г.
Выходы производятся, когда случается пробой в направлении, проти-
воположном текущей открытой позиции, или срабатывает стандартный
выход (например, защитная остановка, целевая прибыль или выход по
рыночной цене, если позиция была открыта дольше указанного количе-
ства дней). Защитная остановка определяется как входная цена плюс (для
коротких) или минус (для длинных позиций) параметр mmstp, величина
МОДЕЛИ, ОСНОВАННЫЕ НА ПРОБОЯХ 107
ГЛАВА 5




которого линейно зависит от размеров среднего истинного ценового диа-
пазона последних 50 дней. Границы целевой прибыли представляют со-
бой входную цену плюс (для длинных) или минус (для коротких позиций)
еще один параметр — ptlim, также связанный с величиной среднего ис-
тинного диапазона последних 50 дней. «Выход при закрытии» (вид ры-
ночного приказа) представляет собой приказ, который отдается, если по-
зиция удерживалась определенное количество дней (maxhold). Все выход-
ные приказы исполняются только при закрытии; это ограничение позво-
ляет избежать исполнения приказа при случайном внутридневном дви-
жении цены. Если бы выходы осуществлялись внутри ценового бара (дня),
то существовала бы возможность отдать несколько приказов в одном баре.
Моделирование такой ситуации невозможно, поскольку движение цен в
пределах одного бара неизвестно, и, следовательно, порядок исполнения
отданных приказов оказывается неопределенным.
Средний истинный диапазон (мера волатильности) рассчитывается как
среднее значение истинного диапазона за несколько предыдущих дней (в
данном случае 50 дней). Истинный диапазон представляет собой наиболь-
шую из следующих трех величин: разность между максимальной и мини-
мальной ценами за день, разность между максимумом и ценой закрытия
предыдущего дня и разность между ценой закрытия предыдущего дня и
минимальной ценой текущего дня.
Ниже приводится компьютерный код на C++ для системы пробоя ка-
нала по ценам закрытия со стандартной стратегией выхода. При расчете
количества контрактов сплит S&P 500 отдельно не учитывался. Новый кон-
тракт считается идентичным предыдущему. Моделирование, тем не ме-
нее, корректно, если считать, что трейдер (а не симулятор) продает или
покупает два новых контракта вместо одного старого: симулятор настро-
ен так, что он продает вдвое меньше новых контрактов, чем следовало бы,
но считает их размер удвоенным. На фьючерсных рынках иногда имеет
место административная остановка торгов (запрет на дальнейший рост
или падение цены), вызванная чрезмерным изменением цены, превыша-
ющим максимально допустимое изменение, установленное правилами
данной торговой площадки. Наша программа определяет эти дни провер-
кой диапазона: нулевой диапазон (максимум равен минимуму) позволяет
предположить малую ликвидность и, возможно, остановленные торги.
Хотя эта схема не идеальна, при ее использовании в моделировании полу-
чаются результаты, похожие на реальную торговлю. Сбор точной инфор-
мации о днях с ограниченной торговлей со всех бирж — задача практи-
чески непосильная, поэтому мы использовали метод нулевого диапазона.
Код позволяет проводить повторный вход в рынок при возникновении
новых максимумов или минимумов.
ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК
108



// Выполнение тестирования модели
// parms - набор [1..MAXPRM] параметров
// dt — набор [1..nb] дат в формате ГГММДД
// орn — набор [1..nb] цен открытия
// hi — набор [l..nb] максимальных цен
// 1о — набор [1..nb] минимальных цен
// cls — набор [l..nb] цен закрытия
// vol — набор [l..nb] значений объема
// oi — набор [l..nb] значений открытого интереса
// dlrv — набор [1..nb] средних долларовой волатильности
// nb — количество дней в наборе данных
// ts — ссылка на класс торгового симулятора
// eqcls — набор [l..nb] уровней капитала при закрытых позициях

//объявляем локальные переменные
static int cb, n, neontracts, maxhold;
static float mmstp, ptlim, atr;

// копируем параметры в локальные переменные для удобного обращения
n = parms [1]; // параметр ширины канала
maxhold = 10; // период максимального удержания позиции
ptlim = 4.О; // целевая прибыль в единицах волатильности
mmstp = 1.0; // защитная остановка в единицах волатильности

// file - x09mod01.c
// только для этого теста выставляем транзакционные издержки равными нулю
ts.commission(0.0);
ts.slippage (0.0);
// проходим через бары (дни}, чтобы смоделировать реальную торговлю
for(cb = 1; cb <= nb-1; cb++) [

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

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

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

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

// file = x09mod01.c
// пробой канала но основе цены закрытия с входом на завтрашнем открытии
if (cls [cb]>Highest(cls,n,cb-l) && ts.position {) < = 0) {
ts.buyopen('1' , ncontracts) ;
}
else if (cls [cb]<Lowest(cls,n,cb-l) && ts.position{)>=0) {
ts . sellopen ('2 ', ncontracts) ;
}

// симулятор использует стандартную стратегию выхода
atr = AvgTrueRange(hi, lo, cls, 50, cb} ;
ts.stdexitcls('X', ptlim*atr, mmstp*atr, maxhold);

] // обрабатываем следующий день
ГЛАВА 5 МОДЕЛИ, ОСНОВАННЫЕ НА ПРОБОЯХ 109




Этот код был скомпилирован и связан с оболочкой и библиотеками
для разработчика; в TradeStation это называется «верификацией» систе-
мы. При помощи команд оболочки проводилась оптимизация параметра
n с лобовым подходом. Лучшее по показателями риска/прибыли реше-
ние проверялось на данных, взятых вне пределов выборки. Оптимиза-
ция состояла в прогонке параметра n через значения от 5 до 100 с шагом
в 5. Параметр защитной остановки mmstp был установлен на уровне 1
(т.е. одной единицы волатильности или среднего истинного диапазона),
параметр целевой прибыли ptlim — на уровне 4 (4 единицы), а максималь-
ный период удержания позиции maxdays был равен 10 дням. Эти значе-
ния использовались для стандартных параметров выхода во всех тестах
методик входа, если не указано иначе. Чтобы осознать масштаб целевой
прибыли и защитных остановок, укажем, что фьючерсы S&P 500 на ко-
нец 1998 г. имели средний истинный диапазон 17,83 пункта, или около
$4457 за один новый контракт. Для первого теста комиссия и проскаль-
зывание приняты равными нулю.
Для такой простой системы результаты были неожиданно хороши: го-
довая прибыль составила 76%. Все параметры n были прибыльными, в от-
ношении риска/прибыли оптимальное значение составило 80 дней. Т-тест
дневной прибыли (по соотношению риска/прибыли) показывает, что ве-
роятность случайной эффективности составляет менее одной тысячной,
а после коррекций на оптимизацию — менее одной сотой. Как и следова-
ло ожидать по таким показателям, в тесте вне пределов выборки система
также была прибыльной. Длинные позиции (покупки) принесли больше
прибыли, чем короткие (продажи), возможно, в связи с ложными сигна-
лами с короткой стороны, вызванными постоянным снижением цены при
приближении срока истечения контрактов. Другое объяснение состоит в
том, что цены на товары обычно более подвержены влиянию кризисов и
дефицита, чем избытка. Как и при использовании других систем, осно-
ванных на пробое, процент прибыльных сделок был невелик (43%), при-
чем крупные прибыли от редких удачных сделок компенсировали частые
мелкие убытки. Хотя некоторым психологически трудно воспринимать
систему, которая терпит убыток за убытком в ожидании большой прибы-

<< Пред. стр.

стр. 13
(общее количество: 46)

ОГЛАВЛЕНИЕ

След. стр. >>