Книги, научные публикации Pages:     | 1 | 2 | 3 | 4 | 5 |   ...   | 7 |

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

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

Процент выгодных сделок составлял 41%, и средняя сделка приносила $ 118 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК прибыли. Вне пределов выборки система работала гораздо хуже, как и следовало ожидать при низкой прибыли и плохих статистических пока зателях в пределах выборки. Модель теряла в среднем $798 на сделке, прибыльных сделок было около 37%. Большая часть прибылей достигнута до июня 1988 г., а убытки были постоянными с января 1992 г.

Все валютные рынки, кроме евродоллара, принесли прибыль за пери од выборки. На рынках иены, немецкой марки и канадского доллара сис тема получила доходность от 30 до 50%. Также получена умеренная при быль на рынках нефтепродуктов. Прибыль на рынке кофе составила 21,2% в пределах выборки и 61,8% вне ее пределов. Кроме того, выгодной была в обоих случаях торговля лесом.

ВХОДЫ НА ПРОБОЕ ВОЛАТИЛЬНОСТИ Три следующих теста исследуют модели, основанные на пробое волатиль ности, в которых производится покупка при подъеме цен выше верхней границы волатильности или открытие короткой позиции, когда они опус каются ниже нижней границы волатильности. Когда волатильность рас тет, границы расширяются;

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

Тест 7. Пробой волатильности с входом на открытии следующего дня. Эта модель покупает при открытии следующего дня, если сегодняш нее закрытие превышает верхнюю границу волатильности, и открывает короткую позицию, когда цена падает ниже нижней границы. Для опре деления верхней границы волатильности к текущей цене (или ее скользя щей средней) следует прибавить ширину среднего истинного диапазона, умноженную на значение параметра bw. Ширина среднего истинного ди апазона рассчитывается за последние atrlen дней. Для расчета нижней гра ницы волатильности из текущей цены вычитают ширину среднего истин ного диапазона, умноженную на bw. Показателем цены служит malen Ч экспоненциальное скользящее среднее цен закрытия. Если длина сколь зящего среднего malen равна единице, то этот показатель становится ра вен цене закрытия торгового дня, когда имеет место пробой.

Поскольку модель на пробое волатильности имеет три параметра, для данного теста был использован метод генетической оптимизации. При помощи генетической оптимизации множитель величины среднего истин ного диапазона bw-подбирался в пределах 1,5 Ч 4,5 с шагом 0,1;

период сред него истинного диапазона atrlen тестировался в пределах от 5 до 50 с ша гом 1;

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

Лучшая эффективность в пределах выборки была достигнута при мно жителе среднего истинного диапазона 3,8, периоде скользящего среднего 5 и периоде среднего истинного диапазона 20. При этих параметрах годо вая прибыль составила 27,4%. Вероятность случайности прибыли Ч соот ветственно 5,6% (после коррекции для 100 тестовЧ 99,7%). Практически каждая из исследованных комбинаций давала прибыли в длинных пози циях и убытки в коротких. Средняя сделка для лучшего набора парамет ров длилась 6 дней и дала прибыль в $4675. За период оптимизации было проведено всего 240 сделок, из них около 45% были прибыльными. По срав нению с предыдущими тестами меньшее количество и больший процент прибыльных сделок объясняются тем, что границы пробоя были располо жены дальше от текущего уровня цен. Средняя сделка вне пределов вы борки принесла $7371 убытков, и только 25% из 122 сделок были выгодны ми. Убытки длинных и коротких позиций были примерно одинаковы.

Почти вся прибыль была получена за периоды с августа 1987 г. по де кабрь 1988 г. и с декабря 1992 г. по август 1993 г. Снижение капитала от мечалось с октября 1985 г. по июль 1986 г., с августа 1989 г. по май 1992 г. и с мая 1995 г. по декабрь 1998 г.

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

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

Тест 8. Пробой волатильности с использованием входа по лимит ному приказу. Эта модель пытается открыть длинную позицию на следу ющий день после пробоя с помощью лимитного приказа в случае, если цена закрытия торгового дня была выше, чем текущей уровень цен плюс ширина среднего истинного диапазона. Текущая цена определяется экс поненциальным скользящим средним с периодом malen, рассчитанным 120 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК по ценам закрытия. Множитель ширины среднего истинного диапазона обозначается как bw, а количество дней, по которым производится рас чет среднего истинного диапазона, обозначено как atrlen. Цена для ли митного приказа, размещаемого на следующий день, приравнивается к средней цене торгового дня, когда произошел пробой. Оптимизация про водилась так же, как и в тесте 7.

Для всех сочетаний параметров длинные позиции были выгоднее (или хотя бы менее убыточными), чем короткие. Лучшая эффективность в пре делах выборки была достигнута при параметре bw, равном 3,7, периоде скользящего среднего 22 и периоде среднего истинного диапазона atrlen 41: при этих параметрах годовая прибыль составила 48,3%. Вероят ность случайности прибыли составила менее 0,02% (после коррекции для 100 тестовЧ менее 13%). В пределах выборки проведено 1244 сделки.

Средняя длительность сделки составила 7 дней. Система провела 45% при быльных сделок со средней прибылью в сделке $3616. И длинные, и ко роткие позиции были прибыльными.

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

Все валютные рынки были прибыльными как в пределах выборки, так и вне ее, за исключением британского фунта и канадского доллара. Это показывает эффективность подобных систем на трендовых рынках. Как ни странно, рынки валют с максимальной прибылью в пределах выборки не обязательно были самыми прибыльными вне ее пределов. Это показы вает, как важно вести торговлю корзиной валют, не отбирая инструмен ты по результатам исторических данных, если используется система, ос нованная на пробое. Хотя эта модель плохо работала на рынке нефтепро дуктов, на рынке кофе и леса результаты были ошеломительными (более 65% и более 29% соответственно и в пределах, и вне выборки).

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

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

Оптимальные значения для трех параметров модели исследовались с помощью генетического оптимизатора, встроенного в C-Trader toolkit, предлагаемый Scientific Consultant Services, Inc. Минимальное соотноше ние риска/прибыли было достигнуто при множителе ширины среднего истинного диапазона 8,3, периоде скользящего среднего 11 и периоде сред него истинного диапазона atrlen 21;

при этих параметрах годовая прибыль составила всего 11,6%. В пределах выборки проведено 1465 сделкок. Сред няя длительность сделки Ч 6 дней. Система провела 40% прибыльных сде лок со средней прибылью в сделке, равной $931. Только длинные позиции были прибыльными во всех комбинациях параметров.

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

Может ли избыточная оптимизация объяснить быстрое ухудшение результатов вне пределов выборки? Нет. Оптимизация может заставить изначально плохую систему показать хорошие результаты в пределах выборки. При этом эффективность системы вне выборки не изменится.

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

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

Модель в пределах выборки была выгодна при работе с британским фунтом, немецкой маркой, швейцарским франком и иеной;

вне выборки все рынки, кроме британского фунта, дали положительные результаты.

Если бы велась торговля всеми валютами, кроме евродолларов и канадс кого доллара, то в обеих выборках была бы получена солидная прибыль;

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

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

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

Тест 10. Пробой волатильности с входом по лимитному приказу;

только длинные позиции. Лучшая из исследованных моделей (тест 8) была модифицирована для работы только с длинными позициями. Опти мизация параметров проводилась генетическим алгоритмом. При помо щи генетической оптимизации множитель ширины среднего истинного диапазона bw подбирался в пределах 1,5 Ч 4,5 с шагом 0,1;

период средне го истинного диапазона atrlen прогонялся от 5 до 50 с шагом в 1;

период скользящей средней malen подбирался в пределах 1 Ч 25 с шагом 1. Гене тическая оптимизация проводилась в объеме 100 поколений.

Лучшая эффективность в пределах выборки была достигнута при мно жителе ширины среднего истинного диапазона 2,6, периоде скользящего среднего 15 и периоде среднего истинного диапазона 18. При этих пара метрах годовая прибыль составила 53,0% и соотношение риска/прибыли 1,17 (р < 0,0002, р < 0,02 после коррекции). В пределах выборки проведе но 1263 сделки длительностью в среднем 7 дней с прибылью в среднем $4100 с учетом проскальзывания и комиссионных;

48% сделок были при быльны. Даже при неоптимальных значениях параметров удавалось по лучать прибыль Ч худшие параметры дали 15,5% прибыли!

Вне пределов выборки, несмотря на высокую статистическую досто верность и устойчивость модели (по результатам проверки на данных из выборки различных вариантов), модель была крайне неэффективна. Все го 35% сделок были прибыльными, а убытки составили 14,6% в год. Это нельзя объяснить простой подгонкой, так как в пределах выборки все ком бинации были прибыльными. Неоптимальные параметры привели бы к уменьшенной, но все равно эффективной работе. Дополнительные тесты показали, что ни один набор параметров не мог сделать систему выгод ГЛАВА 5 МОДЕЛИ, ОСНОВАННЫЕ НА ПРОБОЯХ ной вне пределов выборки! Это исключает оптимизацию как причину неэффективной работы Ч видимо, на рынке за последние годы произош ли изменения, влияющие на способность моделей, основанных на пробое волатильности, давать прибыль даже при работе только с длинными пози циями. График изменения капитала показывает, что основная часть при были была получена до июня 1988 г. Остальные периоды как оптимиза ции, так и проверки показывали только ухудшение.

Как и ранее, в обеих выборках хорошо работали валютные рынки.

Средняя сделка на валютном рынке приносила $5591 дохода в пределах выборки и $1723 за ее пределами. Корзина нефтепродуктов также давала прибыль в обоих случаях, равно как и кофе.

Увы, эта система непригодна для использования в настоящее время, хотя в прошлом на ней можно было бы сделать состояние;

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

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

Тест 11. Пробой волатильности с входом по лимитному приказу;

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

вместо этого использованы луч шие параметры теста 8.

Это первый тест, где система, основанная на пробое, дала явно при быльные результаты в обеих выборках с учетом реальных расходов на сделки! В пределах выборки прибыль системы составила 36,2% в год, вне Ч 17,7%, что тоже неплохо. В пределах выборки проведено 268 сде лок, из них 48% прибыльных со средней прибылью $3977. Вне пределов выборки проведено 102 сделки, из них 43% прибыльных, средняя при быльЧ $2106.

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

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

Тест 12. Пробой волатильности с входом по лимитному приказу и фильтром трендов. Использована та же модель, что и в тестах 10Ч11;

вместо ограничения длинными позициями или валютными рынками до бавлен фильтр сигналов на наличие трендов по методу ADX или усред ненного направленного движения (Wilder, 1978). Возможно, отсеивание рынков, где нет тренда, пилообразной торговли и затяжных сделок не сколько улучшит результаты системы. ADX использован для фильтрации пробоев согласно исследованиям Уайта (White, 1993). Тренд считается су Величина капитала Рисунок 5-2. График изменения капитала для системы на пробое ММ/ММ, вход по лимитному приказу (только валютные рынки).

ГЛАВА 5 МОДЕЛИ, ОСНОВАННЫЕ НА ПРОБОЯХ ществующим в том случае, если ADX, рассчитанный по последним 18 дням, достигает нового шестидневного максимума. Входы производятся только при наличии тренда.

// file = x09mod12.c // модель, основанная на пробое волатильности, с входом по лимитному приказ // и 18-дневный фильтр тренда ADX band_width = bw * atr[cb-l];

center_price = xmavg[cb-1];

upper_band = center_price + band_width;

lower_band = center_price - band_width;

limprice = 0.5 * (hi [cb] + lo[cb]);

trending = adx[cb] > Highest(adx, 6, cb-1);

if(trending && cls[cb] > upper_band && ts.position() <= 0) { ts. buylimit('1', limprice, ncontracts);

} else if (trending && cls[cb] < lower_band && ts.position() >= 0) { ts. selllimit('2', limprice, ncontracts);

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

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

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

88 дали прибыль более 20%. Это демонстрирует устой чивость системы к изменению параметров. Наилучшие результаты были следующими: множитель ширины среднего истинного диапазона Ч 2,6;

период скользящей средней Ч 8;

период среднего истинного диапазона Ч 34. При этих параметрах в пределах выборки прибыль составила 68,3%, вероятность случайности результатов менее 0,0005 (0,035 после оптими зации). Совершено 872 сделки, из них 47% прибыльных. Средняя сделка принесла прибыль около $4500. Вне пределов выборки система понесла $2415 убытков и только 36% из 373 сделок были прибыльными. Прибыль составила Ч 20,9% Ч один из худших результатов вне выборки. Очевид но, в прошлом ADX был более полезен, чем в недавнее время.

Большинство рынков валют, мазут, кофе, лес и 10-летние казначейс кие бумаги были прибыльными и вне пределов выборки. S&P 500, пшени ца и золото были прибыльны вне пределов выборки, но убыточны в пре делах выборки. Устойчивая прибыльность валют, нефтепродуктов и кофе соответствует наблюдавшейся ранее.

126 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК АНАЛИЗ И ОБОБЩЕНИЯ В табл. 5-3 приведены результаты тестов различных моделей, основанных на пробоях, Ч по выборке и виду приказа (Р/ПРИБ Ч годовое соотноше ние риска/прибыли, ДОХ Ч доходность в процентах годовых, $СДЕЛ Ч прибыль или убыток от средней сделки).

Виды пробоев В выборке данных, использованной для оптимизации (1985Ч 1995), наи лучшим образом работали системы на пробое волатильности. Пробои ММ/ММ показали средние результаты, а пробои цен закрытия работали хуже всего;

это отмечалось при использовании всех трех видов приказов.

Вне пределов выборки (1995Ч 1998) модели на пробое ММ/ММ продол жали работать несколько лучше, чем пробои цен закрытия, но модели на пробое волатильности работали гораздо хуже. По описанным ранее при чинам объяснить ухудшение показателей систем, основанных на волатиль ности, в последние годы только оптимизацией нельзя Ч возможно, это произошло из-за популярности метода в недавнем прошлом. Впрочем, в последние годы даже лучшие из моделей, основанных на пробое, работа ют плохо.

При разбивке по моделям на графиках изменения капитала наблюда ются три ярко выраженных периода. С августа 1985 г. по июнь 1988 г. все модели были почти одинаково прибыльны. С июня 1988 г. по июль 1994 г.

модели на пробоях цен закрытия и ММ/ММ практически не приносили прибыли. Модель пробоя волатильности резко улучшила свои показате ли в августе 1992 г. Ч июле 1994 г. С июля 1994 г. по декабрь 1998 г. модели на ММ/ММ и ценах закрытия работали с некоторым убытком, причем некоторое преимущество было у моделей пробоев ММ/ММ. Капитал мо делей, основанных на пробоях волатильности, за этот период значитель но снизился.

Приказы для входа в рынок Как в пределах выборки, так и вне ее на всех моделях наилучшим обра зом работал лимитный приказ. Рыночные приказы и стоп-приказы были малоэффективны. Преимущества лимитного приказа, несомненно, свя заны с тем, что он обеспечивает вхождение в рынок по более выгодной цене. В тестах 1 и 2 видно колоссальное влияние входов по неоптималь ной цене и расходов на сделки (комиссия и проскальзывание). Как ни странно, лимитный приказ хорошо работал с методиками следования за трендом, к которым относятся модели пробоя. Можно было бы ожидать, что многие хорошие тренды будут пропущены при ожидании входа с по ГЛАВА 5 МОДЕЛИ, ОСНОВАННЫЕ НА ПРОБОЯХ Таблица 5Ч3. Сравнительный обзор результатов входов, основанных на пробоях В пределах выборки Вне пределов выборки Рыночный Лимитный Стоп- Рыночный Лимитный Стоп вход вход вход вход вход вход Пробой канала Р/ПРИБ -0,02 0,54 -0,33 -0, по ценам ДОХ -1, 32,6 -13,5 -10, закрытия $СДЕЛ -60 1066 -671 - Пробой Р/ПРИБ 0,04 0,66 0,22 -0,41 -0,01 -0, ММ/ММ ДОХ 1,2 36,3 8,7 -15,9 -2,1 -15, $СДЕЛ 82 1558 430 -912 -72 - Пробой Р/ПРИБ 0,51 0,96 0,28 -1,20 -0,58 -1, волатильности ДОХ 27,4 48,3 11,6 -20,5 -16,9 -22, $СДЕЛ 4675 3616 931 -7371 -2094 - Пробой Р/ПРИБ 1,17 -0, волатильности, ДОХ 53,0 -14, только длинные $СДЕЛ 4100 - позиции Пробой Р/ПРИБ 0,61 0, волатильности, ДОХ 36,3 17, только валюты $СДЕЛ 3977 Пробой Р/ПРИБ 1,09 -0, волатильности ДОХ 68,3 -20, с фильтром ADX $СДЕЛ 4570 - мощью лимитного приказа. Однако откат рынка (даже после достовер ных пробоев) происходит достаточно часто, что позволяет с помощью ли митных приказов добиться входа по предпочтительной цене и не пропус кать прибыльных трендов.

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

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

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

Объединив рассмотрение графиков изменения капитала по различ ным типам моделей и приказов, мы увидим, что большая часть прибылей была получена в первом периоде, занимавшем менее трети выборки дан ных. К концу этого периода было накоплено более 70% всего капитала. Во втором периоде отмечался некоторый дрейф капитала, а в третьем Ч па дение, вначале медленное, а с июля 1997 г. все более быстрое.

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

Ограничения и фильтры Ограничение торговли только длинными позициями значительно улучши ло эффективность систем пробоя волатильности в пределах выборки. За пределами выборки данное ограничение принесло лишь небольшое улуч шение результатов. Системы пробоя работают лучше в длинных позици ях, чем в коротких. Использование фильтра ADX несколько улучшило эффективность в пределах выборки и было бесполезным вне ее.

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

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

Рынки S&P 500, NYFE, золота, кукурузы и пшеницы давали положи тельные результаты вне выборки при убытках в ее пределах. Прибыль ность рынков индексов может быть объяснена сильными трендами, воз никшими вне пределов выборки. Положительные результаты в пределах выборки при убытках вне ее были отмечены на многих рынках, в том чис ле на рынках казначейских облигаций и банкнот, палладия, откормленно го скота, свиной грудинки, сои, соевой муки, соевого масла, овса, апельси нового сока и хлопка. Рынки казначейских векселей, серебра, платины, живого скота, какао и сахара были убыточны и на выборке, и вне ее. На личие корреляции в 0,15 между общим доходом в пределах выборки и вне ее пределов свидетельствует о том, что рынки, дававшие прибыль во вре мя оптимизации, скорее всего, будут выгодными и вне пределов выборки.

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

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

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

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

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

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

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

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

Не полагайтесь для определения наличия трендов на индика торы типа ADX.

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

ГЛАВА Модели, основанные на скользящих средних Скользящие средние включены в многие программные пакеты по техни ческому анализу и являются темой множества публикаций. Они настоль ко популярны, что в 1998 г. пять из двенадцати выпусков Technical Analysis of Stocks and Commodities содержали посвященные им статьи. В газетах часто публикуются графики 50-дневных скользящих средних биржевых товаров и 20-дневных скользящих средних цен на фьючерсы.

ЧТО ТАКОЕ СКОЛЬЗЯЩЕЕ СРЕДНЕЕ?

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

ЗАЧЕМ НУЖНЫ СКОЛЬЗЯЩИЕ СРЕДНИЕ Скользящие средние используются для снижения нежелательного шума во временных рядах, чтобы поведение рынка, лежащее в основе процес са ценообразования, стало более понятным и заметным. Скользящее сред 132 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК нее обеспечивает сглаживание данных. Как метод сглаживания скользя щее среднее является примитивным фильтром низких частот, т.е. про пускает низкочастотную активность, отфильтровывая высокочастотные процессы. На графике высокочастотные процессы выглядят как быстрые вертикальные колебания, т.е. как шум, а низкочастотные Ч как более плавные тренды или волны. Элерс (Ehlers, 1989) рассматривал взаимосвязь скользящих средних и фильтров низких частот. Он разработал уравне ния и, сравнивая различные фильтры со скользящими средними по их по лезности, пришел к выводу, что скользящие средние могут быть исполь зованы для фильтрации любых данных, а не только ценовых.

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

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

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

впрочем, фильтры имеют тен денцию недостаточно сглаживать данные и работают заметно хуже, ког да рынок отклоняется от настроек этих фильтров. Чанд (Chande, 1992) ГЛАВА 6 МОДЕЛИ, ОСНОВАННЫЕ НА скользящих СРЕДНИХ применил нелинейный подход и разработал скользящее среднее, которое адаптируется к рынку на основе волатильности. Иногда запаздывание можно уменьшить или устранить путем сочетания нескольких скользя щих средних, образующих полосовой фильтр. Подобные полосовые фильтры могут иметь практически нулевое запаздывание при сигнале с периодичностью, примерно равной середине полосы пропускания;

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

ВИДЫ СКОЛЬЗЯЩИХ СРЕДНИХ Все скользящие средние, от простых до сложных, сглаживают времен ные ряды с использованием некоторого усредняющего процесса. Отли чия состоят в том, какой удельный вес присваивается каждой из точек данных и насколько хорошо адаптируется формула к изменению усло вий. Различия между видами скользящих средних объясняются разными подходами к проблеме снижения запаздывания и увеличения чувствитель ности. Наиболее популярные скользящие средние (см. формулы ниже) Ч это простое скользящее среднее, экспоненциальное скользящее среднее и треугольное скользящее среднее с передним взвешиванием. Менее рас пространено адаптивное скользящее среднее Чанда (1992).

Простое сколь зящее среднее Экспоненциаль ное скользящее среднее Треугольное скользящее сред нее с передним взвешиванием В этих формулах а обозначает скользящее среднее для точки данных г, s Ч точку данных номер г в последовательности, т Ч период скользящего i среднего и с (обычно приравненное к 2/(т+ 1)) Ч коэффициент, указы вающий эффективный период экспоненциального скользящего среднего.

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

в TradeStation и многих других источниках это ошибочно названо взвешенным скользящим средним.

Адаптивные скользящие средние были разработаны для ускорения ре акции на изменения. Целью было получение скользящего среднего, кото рое могло бы адаптироваться к текущему поведению рынка, так же как система шумоподавления Dolby адаптируется к уровню звука в аудиосиг нале: сглаживание усиливается, когда на рынке имеет место в основном шумовая активность и мало выраженного движения (в периоды затишья шум фильтруется сильнее), и снижается в периоды значительной актив ности рынка, увеличивая тем самым реакцию. Существует несколько ви дов адаптивных скользящих средних. Одно из наиболее эффективных раз работано Марком Джуриком (www.jurikres.com). Еще одно, разработанное Чандом, названо VIDYA (Variable Index Dynamic Moving Average).

Рекурсивный алгоритм экспоненциального скользящего среднего выг лядит так: для каждой точки данных коэффициент (с), определяющий эф фективную длину скользящего среднего (m), умножается на значение дан ной точки данных и к результату прибавляется разность 1,0 Ч с, умножен ная на текущее значение скользящего среднего, что и дает новое значе ние. Коэффициент с приравнивается к 2,0/(m+1), где тЧ период сколь зящей средней. Чанд в 1992 г. модифицировал данный алгоритм. В его мо дели значение коэффициента с не является константой, а зависит от теку щей волатильности рынка Ч громкости рынка, выраженной в виде стан дартного отклонения цен за некоторое количество последних точек дан ных. Поскольку стандартное отклонение сильно варьируется на разных рынках и показатель волатильности должен быть относительным, Чанд предложил делить наблюдаемое стандартное отклонение для каждой точ ки на среднее значение стандартного отклонения для всех точек в имею щемся образце данных. Для каждого бара коэффициент 2,0/(m + 1)) рас считывается заново, умножаясь на относительную волатильность, таким образом получается скользящее среднее с периодом, динамически подстра ивающимся под активность рынка.

Мы использовали адаптивное скользящее среднее, основанное на VIDYA, не требующее фиксированных поправок для стандартных откло нений (в виде стандартного отклонения, усредненного по всему образцу данных). Поскольку поведение рынков может очень сильно меняться со временем, а изменения волатильности при этом никак не связаны с адап тацией скользящего среднего, идея фиксированной нормализации не выглядит обоснованной. Вместо использованного Чандом стандартного отклонения, деленного на постоянный коэффициент, мы применили от ношение двух показателей волатильности Ч краткосрочного и долгосроч ного. Относительная волатильность, требуемая для коррекции с и, следо вательно, для коррекции периода адаптивного скользящего среднего, по ГЛАВА 6 МОДЕЛИ, ОСНОВАННЫЕ НА скользящих СРЕДНИХ лучалась методом деления краткосрочного показателя волатильности на долгосрочный. Показатели волатильности представляли собой скользящие средние квадратов разностей между соседними точками данных. Более короткий показатель использовал период р (подстраиваемый параметр), а период длинного скользящего среднего равнялся 4р. Если долгосрочная волатильность равна краткосрочной (т.е. их отношение равно единице), то адаптивное скользящее среднее ведет себя идентично стандартному экспоненциальному скользящему среднему с периодом m;

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

ВИДЫ МОДЕЛЕЙ С ВХОДОМ, ОСНОВАННЫМ НА СКОЛЬЗЯЩЕМ СРЕДНЕМ Модель с входом, основанным на скользящем среднем, генерирует сигна лы входа на основе просты соотношений между скользящим средним и ценой или между двумя скользящими средними. Существуют модели и следующие за трендом, и идущие против тренда. Наиболее популярные модели следуют за трендом и отстают от рынка. С другой стороны, моде ли, идущие против тренда, предсказывают развороты и по крайней мере совпадают с событиями на рынке. Это не означает, что следующие за рынком модели работают хуже противотрендовых;

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

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

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

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

Использование скользящих средних для получения сигналов, идущих против рынка в модели, основанной на уровнях поддержки и сопротивле ния, не является чем-то новым. Александер (Alexander, 1993) обсуждал использование отката до уровня поддержки после пересечения скользя щего среднего как вариант организации входа. Тилли (Tilley, 1998) опи сывал систему на уровнях поддержки/сопротивления для торговли вза имными фондами. Суини (Sweeney, 1998) описывал применение скользя щих средних цен закрытия для вычисления внутридневных уровней под держки и сопротивления.

ХАРАКТЕРИСТИКИ ВХОДОВ, ОСНОВАННЫХ НА СКОЛЬЗЯЩИХ СРЕДНИХ Вход на основе скользящих средних, следующих за трендом, в принципе подобен пробою;

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

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

При работе с противотрендовой моделью требуется хорошая стратегия ГЛАВА 6 МОДЕЛИ, ОСНОВАННЫЕ НА скользящих СРЕДНИХ ограничения риска;

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

например, если они используют понятия поддержки и сопротивления.

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

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

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

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

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

Приведенный ниже код более сложен, чем код для пробоев;

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

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 = xlOmodOl.c // parms Ч набор [1..MAXPRM] параметров // dt Ч набор [l..nb] дат в формате ГГММДД // орn Ч набор [l..nb] цен открытия // hi Ч набор [1..nb] максимальных цен // 1о Ч набор [1..nb] минимальных цен // cls Ч набор [l..nb] цен закрытия // vol Ч набор [l..nb] значений обьема // oi Ч набор [1..nb] значений открытого интереса / / dlrv Ч набор [1..nb] значений среднего долларовой волатильности / / nb Ч количество дней в наборе данных // ts Ч ссылка на класс торгового симулятора // eqcls Ч набор [1..nb] уровней капитала при закрытых позициях // объявляем локальные переменные static int rc, cb, ncontracts, maxhold, fastmalen,slowmalen;

static int modeltype, ordertype, avgtype, signal;

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

static float exitatr[MAXBAR+1] ;

static float fastma[MAXBAR+1], slowma[MAXBAR+1] ;

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

// период для быстрой скользящей средней slowmalen = parms[2];

// период для медленной скользящей средней modeltype - parms[5];

// тип модели входа avgtype = parms[6];

// тип скользящего среднего ordertype = parms[7];

// тип входного приказа maxhold = 10;

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

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

// защитная остановка в единицах волатильности // пропускать неверные комбинации параметров if(fastmalen >= slowmalen) { set_vector(eqcls, 1, nb, 0.0);

return;

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

// средний истинный // диапазон для выхода switch(avgtype) { // выбираем тип скользящей средней case 1: // простые скользящие средние ГЛАВА 6 МОДЕЛИ, ОСНОВАННЫЕ НА скользящих СРЕДНИХ Averages{fastma, cls, fastmalen, nb);

Averages(slowma, cls, slowmalen, nb);

break;

case 2: // экспоненциальные скользящие средние XAverageS(fastma, cls, fastmalen, nb);

XAverageS(slowma, cls, slowmalen, nb);

break;

case 3: // треугольные скользящие средние с передним взвешиванием FWTAverageS(fastma, cls, fastmalen, nb};

FWTAverageS(slowma, cls, slowmalen, nb);

break;

case 4: // VIDYA-адаптивные скользящие средние VIAverageS(fastma, cls, fastmalen, 10, nb) ;

VIAverageS(slowma, cls, slowmalen, 10, nb) ;

break;

default: nrerror("Invalid moving average selected");

} ;

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

cb < = nb;

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

continue;

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

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

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

// подсчитываем количество контрактов для сделки / /... мы хотим торговать эквивалентом долларовой волатильности //... 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;

// генерировать входные сигналы, цены стоп- и лимитных приказов, // используя модель входа определенной скользящей средней #define CrossesAbove(a,b, с) {а[с]>=b[с] && a [c-1]=b[c-1]) #define TurnsUp(a,c) {a [c]>=a[c-l] && a [c-1]=a[c-2] ) signal=0;

switch(modeltype) { case 1: // классическая следующая за трендом модель, основанная на // пересечении if (CrossesAbove(fastma, slowma, cb)) signal = 1;

else if (CrossesBelow(fastma, slowma, cb)) signal = -1;

limprice = 0.5 * (hi [cb] + lo [cb]);

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

break;

case 2: // следующая за трендом модель, основанная на наклоне if (TurnsUp(fastma, cb)) signal = 1;

else if(TurnsDn{fastma, cb)) signal = -1;

limprice = 0.5 * (hi[cb] + lo [cb]};

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

break;

case 3: // противотрендовая модель if(CrossesAbove(fastma, slowma, cb)) signal = -1 ;

else if(CrossesBelow(fastma, slowma, cb)) signal = 1;

140 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК limprice = 0.5* (hi[cb] + lo[cb]);

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

break;

case 4: // противотрендовая модель, основанная на поддержке // и сопротивлении if(slowma[cb] > slowma[cb-1] && CrossesBelow(fastma, slowma, cb) ) signal = 1;

else if(slowma[cb] < slowma[cb-1] && CrossesAbove(fastma, slowma, cb)) signal = -1;

limprice = 0.5 * (hi[cb] + lo[cb]);

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

break;

default: nrerror("Invalid model selected"};

} #undef CrossesAbove #undef CrossesBelow #undef TurnsUp #tundef TurnsDn // входим в сделку, используя опеределенный тип приказа 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, ncontracts);

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);

} // обрабатываем следующий день } В этом коде содержатся три сегмента. Первый сегмент рассчитывает скользящие средние. Параметр avgtype выбирает вид среднего: 1 Ч про стое, 2 Ч экспоненциальное, 3 Ч треугольное с передним взвешиванием, 4 Ч модифицированное VIDYA. Даже если в коде использовано всего одно среднее, рассчитываются два одинаковых, чтобы сделать выбор вида скользящего среднего независимым от модели. Также рассчитывается средний истинный диапазон, значение которого требуется для установки защитных остановок и целевых прибылей в стратегии стандартных вы ходов. Два дополнительных параметра Ч fastmalen и slowmalen Ч указы вают период быстрой и медленной скользящих средних. Значения сколь зящих средних сохраняются в векторах fastma и stowma.

Следующий блок использует выбранную модель для получения сиг налов выхода, цен для стоп-приказов и цен для лимитных приказов. Сна ГЛАВА 6 МОДЕЛИ, ОСНОВАННЫЕ НА скользящих СРЕДНИХ чала определяются простые соотношения значений (CrossesAbove, CrossesBelow, Turnsllp и TurnsDown). В зависимости от mode/type одна из 4 видов моделей скользящих средних генерирует сигнал. Переменная modeltype принимает следующие значения: 1 Ч классическая, следующая за трендом модель пересечения двух скользящих средних;

2 Ч следую щая за трендом модель, основанная на наклоне;

3 Ч противотрендовая модель, основанная на пересечении и 4 Ч противотрендовая модель на основе поддержки/сопротивления. В классической модели, основанной на пересечении скользящих средних, трейдер открывает длинную пози цию, если быстрое среднее поднимается выше медленного, и короткую, если быстрое среднее опускается ниже медленного. Эта модель также может содержать сравнение скользящего среднего и цены в случае, когда период быстрого среднего приравнен к единице. При использовании ос нованной на наклоне модели, следующей за трендом, трейдер покупает, когда скользящее среднее после снижения стало расти, и продает в об ратной ситуации. Эта модель требует только медленного скользящего среднего. Противотрендовая модель представляет собой обратную вер сию следующей за трендом классической модели пересечения: трейдер покупает, когда быстрое среднее (или собственно цена) опускается ниже медленного, и продает, когда оно поднимется выше. Такая модель Ч меч та для приверженцев теории противоположного мнения: она работает строго противоположно системе следования за трендом. Последняя мо дель Ч грубая система на основе поддержки/сопротивления, где ожида ется, что цены будут лотскакивать от линии скользящего среднего, как от уровней поддержки/сопротивления. Правила почти идентичны про тивотрендовой системе пересечения за тем исключением, что медленное среднее должно двигаться в направлении входа. Если медленное скользя щее среднее стремится вверх, а цены (или быстрое среднее) падают сверху до его уровня или ниже, то дается сигнал на покупку;

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

В последней части кода параметр ordertype определяет вид приказа:

1 Ч рыночный приказ при открытии;

2 Ч лимитный приказ;

3 Ч стоп приказ. Генерация приказа на покупку или продажу либо отсутствие при каза определяется тем, какой сигнал был сгенерирован предыдущим бло ком программы;

эта информация содержится в переменной signal: 1 Ч покупка;

Ч1 Ч продажа (открытие короткой позиции);

0 Ч нет приказа.

Уровень цены лимитного приказа (limprice) рассчитывается как сумма 142 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК максимума и минимума текущего дня, деленная на два. Поскольку мно гие из моделей не имеют естественного уровня цены для установки вход ных стоп-приказов, используется стандартный стоп. Его цена (stpprice) получается таким образом: берется цена закрытия предыдущего дня и к ней прибавляется (при сигнале для длинной позиции) или от нее отнима ется (при сигнале для короткой позиции) средний истинный интервал за последние 50 дней, умноженный на 0,50;

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

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

Первые 12 тестов проведены на моделях, основанных на пересечении.

Оптимизация состояла в прогонке периода быстрого скользящего сред него от 1 до 5 с шагом 1 и периода медленного скользящего среднего от до 50 с шагом 5. Разумеется, период медленного среднего был всегда длин нее периода короткого. Проводилась оптимизация с лобовым подходом.

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

В тестах 13 Ч 24 испытывались модели, основанные на наклоне. В них оп тимизация состояла в прогонке периода первого (т.е. единственного) скользящего среднего от 3 до 40 с шагом 1. Как и в тестах 1 Ч 12, максими зировалось соотношение риска/прибыли. Оптимизация проводилась толь ко на данных в пределах выборки.

Табл. 6-1 и 6-2 показывают прибыль или убыток по каждому из компо нентов портфеля для каждого из тестов в пределах выборки (табл. 6-1) и вне пределов выборки (табл. 6-2). В столбце SYM указан рынок, первая строка Ч номер теста. Такое представление данных дает достаточно под робную информацию о прибыльности или убыточности рынков отдель ных товаров;

одно тире (Ч) означает умеренный убыток со сделки, т.е.

ГЛАВА 6 МОДЕЛИ, ОСНОВАННЫЕ НА скользящих СРЕДНИХ $2000 Ч 4000. Два тире ( ) означают значительные убытки, т.е. более $4000. Аналогично, один плюс ( + ) означает умеренную прибыль, т.е.

$1000 Ч 2000, а два плюса (+ +) Ч крупную прибыль, более $2000. Пустая ячейка означает убыток размером до $1999 или прибыль от 0 до $1000.

В табл. 6-3 для всего портфеля приведены показатели прибыли в про центах годовых (ДОХ %) и среднего результата сделки ($СДЕЛ), распре деленные по видам скользящих средних, моделей, входных приказов и выборке данных. Два правых столбца и четыре нижние строки Ч усред ненные значения. В последней строке приведены данные, усредненные для всех сочетаний моделей и средних. Данные в правом столбце усред нены для всех видов приказов.

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

В пределах выборки по показателю средней прибыли со сделки наи лучшие результаты дали системы на основе простого скользящего сред него, наихудшие Ч на основе адаптивного скользящего среднего. Другие два варианта скользящих средних дали промежуточные результаты, при чем экспоненциальное среднее работало лучше в моделях на основе пе Таблица 6Ч3. Эффективность следующих за трендом моделей в зависимости от вида приказов, вида скользящих средних, типа модели и выборки данных Вне пределов выборки Модель В пределах выборки Среднее Среднее Открытие Лимитный Стоп Открытие Лимитный Стоп в Вне пcс ДОХ% -9.4 -7.5 -6.5 -23.0 -21.4 -19.7 -7.8 -21. Пересеч $СДЕЛ -1785 -926 -1045 -1628 -1213 -1337 -1245.3 -1392. ЭСС ДОХ% -9.2 -7.5 -9.1 -20.4 -22.4 -19.9 -8.6 -20. Пересеч $СДЕЛ -1570 -705 -1534 -1269 -1755 -1223 -1269.7 -1415. ТССПВ ДОХ% -9.3 -8.2 -9.2 -21.6 -18.0 -23.4 -8.9 -21. Пересеч $СДЕЛ -1666 -890 -1720 -1984 -1265 -2715 -1425.3 -1988. АСС ДОХ% -9.6 -7.1 -8.3 -22.5 -19.0 -23.5 -8.3 -21. Пересеч $СДЕЛ -1942 -769 -1731 -1798 -1071 -2350 -1480.7 -1739. пcс ДОХ% -10.1 Х8.7 -9.5 -22.4 -19.2 -23.8 -9.4 -21. Наклон $СДЕЛ -1667 -906 -1076 -1083 -615 -2528 -1216.3 -1408. ЭСС ДОХ% -10.1 -9.6 -8.5 -23.1 -20.5 -20.5 -9.4 -21. Наклон $СДЕЛ -2137 -1629 -1289 -1714 -1096 -1199 -1685.0 -1336. ТССПВ ДОХ% -10.0 -9.3 -8.0 -23.4 -19.2 -3.5 -9.1 -15. Наклон $СДЕЛ -1842 -1365 -1203 -1647 -1561 -91 -1470.0 -1099. АСС ДОХ% -10.1 -9.6 -8.7 -23.4 -22.9 -23.0 -9.5 -23. Наклон $СДЕЛ -2353 -1531 -1603 -1872 -1391 -2002 -1829.0 -1755. Модели пересечения Средняя ДОХ% -9.4 -7.6 -8.3 -21.9 -20.2 -21.8 -8.4 -21. Средняя $СДЕЛ. -1738 -823 -1508 -1670 -1326 -1906 -1355 - Модели наклона Средняя ДОХ% -10 -9 -9 -23 -20 -18 -9 - Средняя $СДЕЛ -2000 -1358 -1293 -1579 -1166 -1455 -1550 - 146 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК ресечения, а треугольное с передним взвешиванием Ч в моделях на ос нове наклона. Из всех моделей на основе пересечения по показателю ДОХ% также лучше всего работали простые скользящие средние. В об щем, модели на основе пересечения работали так же или немного лучше, чем модели на основе наклона, возможно, ввиду их более быстрой реак ции на рыночные изменения. Вне пределов выборки простое скользящее среднее было однозначно лучшим для моделей, основанных на пересече нии, а треугольное с передним взвешиванием Ч лучшим для моделей, ос нованных на наклоне. По показателю ДОХ% экспоненциальное скользя щее среднее, видимо, было лучшим для моделей, основанных на пересе чении, а треугольное с передним взвешиванием Ч опять-таки лучшим для моделей, основанных на наклоне.

При рассмотрении отдельных тестов обнаруживается, что вне преде лов выборки наилучшие показатели имела модель, испытанная в тесте 21 :

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

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

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

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

Модели, основанные на наклоне, всегда плохо работали при рыночном приказе;

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

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

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

В целом эти модели были убыточными на большинстве рынков. Толь ко рынок иены и свиной грудинки был прибыльным как в пределах, так и вне пределов выборки;

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

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

На рис. 6-1 изображены графики изменения капитала для всех вось ми сочетаний моделей и скользящих средних. Графики усреднены по ви дам приказов. Рис. 6-1 показывает, как со временем происходит измене ние систем. Большинство систем понесли самые тяжелые убытки в пери од с конца 1988 г. до начала 1995 г. Как видите, время лучшей эффектив ности Ч до 1988 г., в последние годы эффективность систем была сред ней. На графике 3 отражены результаты модели пересечения простых скользящих средних Ч ярко выраженное изменение с течением време ни делает эту кривую примером, на котором четко видны все три перио да Ч первоначальные прибыли, сильные убытки и небольшая прибыль в конце. Очевидно, что системы, основанные на пересечении (кривые 1Ч4), несли гораздо меньшие убытки, чем модели, основанные на накло ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Рисунок 6-1. Графики изменения капитала для всех моделей и скользящих средних.

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

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

тестировались модели на основе и одиночных, и двойных скользящих средних. Исполь зовались рыночные, лимитные и стоп-приказы.

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

В тестах модели поддержки/сопротивления (с 37 по 48) трейдер поку пает, когда цены отскакивают вверх от скользящего среднего, и продает, когда они касаются скользящего среднего при движении снизу вверх. В этом случае скользящее среднее играет роль уровня поддержки или со противления, на котором ценовой тренд может развернуться. Правила почти такие же, как для тестов с 25 по 36, за тем исключением, что не каж дое пересечение скользящего среднего приводит к входу. Если цены выше скользящего среднего и пересекают его, генерируется покупка, однако, когда цены отскакивают назад и снова оказываются над скользящим сред ним, второго пересечения недостаточно для инициации продажи. Если цены пересекают скользящее среднее снизу вверх, то осуществляется продажа. Однако при обратном пересечении покупка не генерируется.

Такое поведение модели достигается путем добавления одного условия к обратной модели пересечения. Это условие заключается в том, что сиг нал формируется только тогда, когда он совпадает с направлением накло на медленного скользящего среднего. Поиски наилучшего решения про водились методом прямой оптимизации по данным выборки. Период ко роткого скользящего среднего изменялся от 1 до 5 с шагом 1. Период длин ного скользящего среднего изменялся от 5 до 50 с шагом 5. Если период скользящего среднего равен 1, то данное среднее эквивалентно самой цене. Следовательно, при оптимизации тестировались модель, в которой цена сравнивалась со скользящим средним, и модель, в которой одно скользящее среднее сравнивалось с другим. Исследовались только те слу чаи, в которых период длинного скользящего среднего был больше, чем период короткого среднего. Мы подбирали параметры системы с целью минимизации вероятности того, что система приносит прибыль случай но. Затем модель была проверена на данных вне выборки с использова нием лучшего набора параметров, найденного в пределах выборки.

В табл. 6-4 и 6-5 для тестов с 25 по 48 представлены результаты дей ствия системы на рынках различных финансовых инструментов, как в пределах выборки (табл. 6-4), так и вне нее (табл. 6-5). Символы, обозна чающие величину прибыли (+ и Ч), могут быть интерпретированы та ким же образом, как и для табл. 6-1 и 6-2.

150 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Таблица 6Ч4. Эффективность систем в пределах выборки. Результаты отдельных тестов и рынков В табл. 6-6 представлены результаты для различных скользящих сред них, моделей, приказов и выборок. Последние две колонки справа и пос ледние четыре ряда цифр внизу являются усредненными. Цифры внизу усреднены по всем комбинациям разных типов скользящих средних и моделей. Данные в двух последних колонках справа усреднены по типам приказов.

Лучшими моделями в пределах выборки были модель поддержки/со противления на основе простого скользящего среднего и модель поддерж ки/сопротивления на основе треугольного скользящего среднего с пере днем взвешиванием. Система поддержки/сопротивления на основе про стого скользящего среднего со стоп-приказом в отличие от других систем ГЛАВА 6 МОДЕЛИ, ОСНОВАННЫЕ НА скользящих СРЕДНИХ Таблица 6Ч5. Эффективность систем вне выборки. Результаты отдельных тестов и рынков показала небольшие прибыли в обеих выборках: для данных в пределах выборки средняя сделка принесла прибыль $227, доход в процентах годо вых равен 4,2%;

соответствующие показатели для данных вне выборки равны $482 и 14,8%. Треугольное скользящее среднее с передним взвеши ванием и стоп-приказом было прибыльным в выборке, но давало боль шие убытки вне пределов выборки. Обе модели, особенно в комбинации со стоп-приказом, давали относительно мало сделок;

следовательно, их результаты статистически менее стабильны.

В выборке стоп-приказ был лучшим для противотрендовой системы, основанной на пересечениях скользящих средних, и для моделей поддерж ки/сопротивления, в которых стоп-приказ приводил в среднем к прибыль ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Таблица 6Ч6. Эффективность противотрендовых моделей в зависимости от вида приказов, вида скользящих средних, типа модели и выборки данных Модель Вне пределов выборки Среднее Среднее в Вне Открытие Лимитный Стоп Открытие Лимитный Стоп ПСС-ОП ДОХ% -10.2 -9.6 -9.5 -22.7 -20.7 -20.6 -9.8 -21. $СДЕЛ -2220 -1630 -1120 -3221 -1917 -1731 -1657 - ЭСС-ОП ДОХ% -10.1 -10.1 -9.1 -22.8 -22.5 -23.1 -9.8 -22. $СДЕЛ -2350 -1905 -1171 -2471 -2214 -3128 -1809 - ТССПВ-ОП ДОХ% -9.7 -9.1 -8.5 -20.9 -16.7 -19.9 -9.1 -19. $СДЕЛ -2405 -1869 -1246 -1821 -971 -1343 -1840 - АСС-ОП ДОХ% -10.3 -10.3 -9.5 -23.0 -22.8 -20.8 -10.0 -22. $СДЕЛ -1865 -1488 -1033 -2222 -2254 -1604 -1462 - ПСС-П/С ДОХ% -9.6 -10.2 4.2 -20.4 -16.9 14.8 -5.2 -7. $СДЕЛ -1099 -844 227 -1962 -1512 482 -572 - эсс-п/с ДОХ% 0 0 0 0 0 0 0 $СДЕЛ 0 0 0 0 0 0 0 ТССПВ-П/С ДОХ% -8.1 -3.2 8.8 -13.2 -13.8 -22.3 -0.8 -16. $СДЕЛ -841 -261 1015 -1444 -1087 -3566 -29 - АСС-П/С ДОХ% 0 0 0 0 0 0 0 0 0 0 0 0 0 0 $СДЕЛ Модели ОП Средняя ДОХ% -10.1 -9.8 -9.2 -22.4 -20.7 -21.1 -9.7 -21. Средняя $СДЕЛ -2210 -1723 -1143 -2434 -1839 -1952 -1691.8 -2074. Модели П/С Средняя ДОХ% -8.8 -6.7 6.5 -16.8 -15.4 -3.7 -3.0 -12. Средняя $СДЕЛ -970 -553 621 -1703 -1300 -1542 -300.5 -1514. ному результату. Другие приказы приводили к потерям в данных систе мах;

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

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

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

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

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

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

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

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

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

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

ГЛАВА 6 МОДЕЛИ, ОСНОВАННЫЕ НА скользящих СРЕДНИХ Дата Рисунок 6-2. Графики изменения капитала для комбинаций моделей и скользящих средних.

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

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

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

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

На рис. 6-2 представлены графики изменения капитала для различ ных комбинаций моделей и скользящего среднего. Капитал каждой сис темы был усреднен по типу приказа. Лучшими двумя моделями были мо дель поддержки/сопротивления на основе треугольного скользящего сред него с передним взвешиванием и модель поддержки/сопротивления на основе простого скользящего среднего. Эти модели работали значитель но лучше, чем любые из противотрендовых моделей, основанных на пе ресечении. Можно выделить три временных периода, в каждом из кото рых эти модели вели себя по-разному: от начала выборки до октября 1987 г., с октября 1987 г. по июнь 1991 г. и с июня 1991 г. по декабрь 1998 г.

Наихудшие результаты были получены в течение последнего периода.

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

ЗАКЛЮЧЕНИЕ В общем, модели следования за трендом в тестах с 1 по 24 работали лучше, чем противотрендовые модели в тестах с 25 по 48, за некоторыми исклю чениями, рассмотренными выше.

Лучшие модели, несомненно, сочетают в себе как противотрендовые элементы, так и элементы следования за трендом. Например, покупка при откате рынка с использованием лимитного приказа после пробоя сколь зящего среднего обеспечивает лучшие результаты, чем другие комбина ции. Противотрендовые модели, основанные на скользящих средних и имеющие элемент следования за трендом (например, стоп-приказ), так же показывают наилучшие результаты. Чистые противотрендовые моде ли и модели следования за трендом значительно им уступают. Более того, добавление трендового фильтра к системе следования за трендом не дает преимуществ, но может увеличивать затраты при входе. С другой сторо ны, комбинация противотрендовых моделей с трендовым фильтром ADX может повысить эффективность системы. Хотя фильтр ADX не имеет ГЛАВА Входы на основе осцилляторов Осцилляторы популярны у трейдеров, использующих технические сис темы, в течение многих лет. Статьи, посвященные осцилляторам, неред ко появляются в таких журналах, как Technical Analysis of Stocks and Commodities и Futures. Описанию осцилляторов посвящено множество книг по техническому анализу.

Наиболее широко применяются в классическом виде и различных ва риантах осциллятор Аппеля (1990) Ч осциллятор схождения-расхожде ния скользящих средних (так называемый MACD) и гистограмма MACD (MACD-H). Кроме того, популярны стохастический осциллятор Лэйна и индекс относительной силы Вильямса (RSI). В литературе упоминается множество их вариантов. Также следует упомянуть индекс товарных ка налов Ламберта (CCI), индекс случайного блуждания, который тоже мож но считать осциллятором, и осциллятор Геда,а на основе регрессионных каналов (1997). В этой главе будут рассмотрены в первую очередь три са мых известных осциллятора Ч MACD, стохастический и RSI.

ЧТО ТАКОЕ ОСЦИЛЛЯТОР?

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

ВИДЫ ОСЦИЛЛЯТОРОВ Существуют два главных вида осцилляторов. Один из них Ч линейные полосовые фильтры, анализирующие частоту колебаний. К этому классу 158 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК относятся MACD и MACD-H. Другой класс приводит к некоторой норма лизованной шкале какой-либо аспект поведения цен (к этому классу от носятся RSI, стохастический осциллятор и CCI);

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

в общем, построенные ими графики имеют ломаный, колеблющийся вид.

Осциллятор MACD (осциллятор схождения/расхождения скользящих средних) и его гистограмма MACD-H работают как грубые полосовые фильтры, удаляя тренды и сдвиги, а также высокочастотный шум. При этом анализируются волны или циклы с частотой, близкой к середине полосы пропускания. MACD сглаживает данные, подобно скользящему среднему, в некоторой степени удаляет тренды, выделяет циклы и иногда не запаздывает по отношению к рынку. Хорошим источником по этому осциллятору можно считать работу Элерса (Ehlers,1989).

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

Стохастический осциллятор часто еще называют индикатором пе рекупленности/перепроданности. Согласно Лупо (Lupo, 1994), стохас тичёский-осциллятор определяет положение последнего рыночного дей ствия по отношению к минимальной и максимальной цене за последние n дней. В этом отношении стохастический осциллятор измеряет импульс цены, он показывает, стремится ли рынок к новому максимуму или мини муму или находится где-то посередине.

К стохастическим относится ряд родственных индикаторов: Быстрый %К, Медленный %К (также называемый Быстрым %D) и Медленный %D.

Быстрый %К измеряет в процентах расположение последней цены зак рытия относительно максимального максимума и минимального мини мума за последние n дней, где n Ч длина заданного периода индикатора.

Медленный %К, он же Быстрый %D, рассчитывается аналогично Быст рому %К, за тем исключением, что числитель и знаменатель формулы для Быстрого %К предварительно усредняются за последние 3 дня. Мед ленный % D Ч просто скользящее среднее Медленного %К с периодом 3 дня. Его иногда используют как сигнальную линию, подобно тому, как скользящее среднее MACD используют как сигнальную линию для MACD.

ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ Известно много вариантов стохастического осциллятора;

например, Блау (Blau) в 1993 г. описывал вариант с двойным сглаживанием. Уравне ния для классического стохастического осциллятора Лэйна опубликова ны в статье Мейбаха (Meibahr, 1992). Ниже приведена одна из версий этих уравнений:

A(i) = Максимум из H(i), H(i - 1),... Н(1 - n + 1) B(i) = Минимум из L(i ), L(i - 1),... L(1 - n + 1) D(i) = [A(i) + A(i - 1) + A(i - 2)]/ E(i) = [B(i) + B(i - 1) + B(i - 2)]/ F(i) = [C(i ) +C(i - 1) + C(i-2)]/ Быстрый %К для i-го дня = 100 X [C(i) - B(i)]/[A(i) - B(i)] Медленный %K = Быстрый %D = 100 X [F(i) - E(i)]/[D(i) - E(i)] Медленный %D = простое скользящее среднее Медленного %К с периодом 3 дня В этих уравнениях i означает номер торгового дня, H(i) Ч максимум дня i, L(i) Ч минимум дня i, C(i) Ч цену закрытия дня i. Все остальные переменные Ч производные серии данных, необходимые для расчета различных стохастических осцилляторов. Как видно из уравнений, сто хастические осцилляторы выделяют относительное положение цены за крытия в пределах, установленных недавними максимумами и миниму мами: высокие значения (до 100) возникают, когда цена закрытия близка к высшим значениям недавних цен, низкие (до 0) Ч когда цена закрытия близка к низшим.

Индекс относительной силы (RSI) Ч еще один популярный осцилля тор, который оценивает по процентной шкале относительное движение вверх или вниз. Классический RSI использует экспоненциальные сколь зящие средние, отдельно рассчитанные для движения вверх и вниз. Их сумма и дает процент общего движения. Один из вариантов использует для вычисления простые скользящие средние. Формула классического RSI приведена ниже:

U(i) = Максимум из 0, C(i) - C(i - 1) D(i) = Максимум из 0, C(i - 1) - C(i) АU(i) = [(n - 1) X АU(i - 1) + U(i)]/n AD(i) = [(n - 1) X AD(i - 1) + D(i)]/n RSI(i) = 100 X AU(i)/AU(i) + AD(i)] Период индикатора обозначен как n, движение вверх Ч U, движение вниз Ч D, среднее движение вверх Ч AU, среднее движение вниз Ч AD.

Номер торгового дня обозначен буквой i. Обычно рассчитывается RSI с периодом 14 дней (n = 14). У Стара (Star, 1993) можно найти подробное обсуждение этого индикатора.

160 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Кроме того, существует индекс товарных каналов, или CCI, рассмот ренный в работе Девиса (Davies, 1993). Этот осциллятор подобен стохас тическому с усиленным акцентом на статистику: вместо оценки послед ней цены закрытия в рамках недавних максимумов и минимумов он оце нивает ее относительно границ, определяемых медианой и средним от клонением цены за последнее время. Хотя далее этот осциллятор не бу дет рассматриваться, для заинтересованных читателей мы приводим его определение:

Х(i) = H(i) + L(i) + C(i) A(i) = Простое скользящее среднее от X(i) с периодом n дней D(i) = Среднее от [Х(i - k) - A(i)] для k от 0 до n - CCI(v) = [Х(i) - A(i)]/[0,015 X D(i)] В уравнениях индекса товарных каналов X Ч так называемая меди анная цена, А Ч скользящее среднее X, D Ч среднее абсолютное откло нение, n Ч период индикатора, i Ч номер торгового дня.

На рис.7-1 изображен график S&P 500, к которому приложены гра фики трех наиболее популярных осцилляторов с прилагающимися к ним сигнальными линиями, медленными версиями и т.п. На графике стохас тического осциллятора также изображены фиксированные пороги на уровнях 80 и 20, для RSI эти пороги традиционно помещают на уровнях и 30. Рисунок показывает графики осцилляторов и их реакцию на изме нения цен, а также иллюстрирует метод расхождения, о котором речь пой дет ниже.

ПОЛУЧЕНИЕ СИГНАЛОВ ВХОДА ПРИ ПОМОЩИ ОСЦИЛЛЯТОРОВ Существуют различные способы применения осцилляторов для получе ния торговых сигналов. В этой главе будут рассмотрены три из них.

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

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

ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ Медленный стохастический осциллятор Рисунок 7-1. Осцилляторы и расхождение графиков цены и осцилляторов.

Еще один известный метод Ч поиск расхождений осциллятора и цены, описанный МакХортером (McWhorter, 1994). Расхождение получается тогда, когда цены образуют новый минимум (ниже предыдущих миниму мов), а осциллятор Ч более высокий минимум (выше предыдущих мини мумов). Такое расхождение дает сигнал к покупке. В противоположной ситуации, когда цены образуют новый максимум, а осциллятору не уда ется достичь предыдущего максимума, что является признаком потери ценового импульса, генерируется сигнал к продаже. Расхождение иногда легко увидать глазами, но для программы с простыми правилами найти его почти всегда затруднительно. Механическая генерация сигналов на основе расхождения требует алгоритма распознавания образов, что ус ложняет систему и, следовательно, затрудняет ее тестирование. Впрочем, получать такие сигналы можно, хорошим примером служит программа Divergengine от Ruggiero Associates. Пример расхождения можно увидеть на рис. 7-1.

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

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

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

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

ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ ХАРАКТЕРИСТИКИ ВХОДОВ НА ОСНОВЕ ОСЦИЛЛЯТОРОВ Основанные на осцилляторах входы обладают преимуществами опере жения или совпадения по времени с поведением цены, следовательно, они пригодны для входов, направленных против тренда, и теоретически мо гут обеспечивать высокий процент выгодных сделок. Осцилляторы обыч но работают наилучшим образом на циклических или не подверженных трендам рынках. На этих рынках осцилляторы указывают на максимум или минимум еще до начала движения цен. Таким образом, проскальзы вание минимально или даже отрицательно, и переоценка позиции стано вится положительной уже при очень малом движении цены. В таких слу чаях легко получить солидную прибыль даже при неоптимальной страте гии выхода. Считается, что на рынках тренды присутствуют всего около 30% времени;

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

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

МЕТОДИКА ТЕСТИРОВАНИЯ Все приведенные ниже тесты были осуществлены с помощью осцилля торных моделей на портфеле разнообразных ценных бумаг. Можно ли получать прибыльные сделки с осцилляторными моделями? Как они ра ботают во времени Ч ухудшается или улучшается их функционирова ние за последние годы? Целью нашего тестирования был ответ на эти вопросы.

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

За последние годы мы закодировали на языке C++ ряд осциллято ров, описанных в Technical Analysis of Stocks and Commodities и в ряде других источников. В этой главе мы сравниваем работу версий C++ ос цилляторов MACD, RSI и стохастического с их версиями в TradeStation.

В большинстве случаев результаты идеально совпадали, но в одном слу чае, а именно для Медленного %К, результат разительно отличался. Раз бор кода показал, что TradeStation рассчитывает Медленный %К как экс поненциальное скользящее среднее от Быстрого %К. В нашем же коде отдельно рассчитываются простые скользящие средние с периодом 3 дня для числителя и знаменателя формулы Быстрого %К. Согласно уравне ниям, приведенным Мейбахом (Meibahr, 1992) и другими источниками, правильной является наша версия на C++. Если читатели захотят повто рить наши расчеты в TradeStation и обнаружат расхождения, мы насто ятельно рекомендуем проверить функции индикаторов TradeStation.

Кроме того, при попытке закодировать правильную версию Медленно го %К для TradeStation на EasyLanguage мы неожиданно обнаружили, что TradeStation без предупреждения может выдать неверные результа ты, если одна пользовательская функция вызывает другую. Когда мы из менили код так, чтобы рассчитывалась промежуточная переменная (что бы избежать совместных вызовов), были получены правильные резуль таты. В этих тестах использовалась версия TradeStation 4.02 от 29 июля 1996 г.

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

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 = xllmodOl.c // parms - набор [1.. MAXPRM] параметров // dt - набор [l..nb] дат в формате ГГММДД // орn - набор [l..nb] цен открытия // hi Ч набор [l..nb] максимальных цен // 1о - набор [1..пЬ] минимальных цен // cls Ч набор [l..nb] цен закрытия // vol - набор [l..nb] значений обьема // oi Ч набор [l..nb] значений открытого интереса // dlrv Ч набор [l..nb] средних долларовой волатильности // nb Ч количество дней в наборе данных // ts Ч ссылка на класс торгового симулятора // eqcls Ч набор [l..nb] уровней капитала при закрытых позициях ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ // объявляем локальные переменные static int rc, cb, ncontracts, maxhold, len1, len2, len3;

static int modeltype, ordertype, osctype, signal, i, j, k;

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

static float exitatr[MAXBAR+1];

static float sigline[MAXBAR+1], oscline[MAXBAR+1];

static float upperband[MAXBAR+1], lowerband [MAXBAR+1] ;

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

// более короткий для первого параметра длины 1еn2 = parms[2] ;

// более длинный для второго параметра длины 1епЗ = parms[3];

// длина теста дивергенции modeltype = parms[7];

// тип осцилляторной модели входа osctype - parms[8];

// тип осциллятора ordertype = parms[9];

// тип входного приказа maxhold =10;

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

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

// защитная остановка в единицах волатильности // пропускаем неправильные комбинации параметров, if ( (osctype==4 && len1>=len2) ) ( set_vector(eqcls, 1, nb, 0.0);

return;

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

// средний истинный диапазон для выхода switch(osctype} { // выбираем осциллятор case 1: // классические быстрые стохастики StochOsc(oscline,hi,lo,cls,1,len1,nb);

//Быстрый %К MovAvg(sigline, oscline, 1, 3, nb);

//Быстрый %D set_vector(upperband, 1, nb, 80.0);

//верхняя граница set_vector(lowerband, 1, nb, 20.0);

//пробой нижней границы break;

case 2: // классические медленные стохастики StochOsc(oscline,hi,lo,cls,2,lenl,nb);

//Медленный %К MovAvg(sigline, oscline, 1, 3, nb);

//Медленный %D set_vector(upperband, 1, nb, 80.0);

//верхняя граница set_vector(lowerband, 1, nb, 20.0);

//пробой нижней границы break;

case 3: // классический RSI RsiOsc(oscline, cls, 1, lenl, nb);

//RSI MovAvgtsigline, oscline, 1, 3, nb) ;

//3-дневное ПСС set_vector(upperband, 1, nb, 70.0);

//верхняя граница set_vector(lowerband, 1, nb, 30.0);

//пробой нижней границы break;

case 4 : // классический MACD MacdOsc(oscline,cls,1,lenl,len2,nb);

//классический MACD MovAvg(sigline, oscline, 2, 9, nb) ;

//9-дневное ЭСС for{i=l;

i<=nb;

i++} lowerband[i]=1.5*fabs(oscline[i] ) ;

//пороги MovAvg(upperband,lowerband,1,120,nb);

//как долгосрочная for{i=l;

i<=nb;

i++} //отклонение от среднего lowerband[i]= -upperband[i];

//полосы break;

default: nrerror("Invalid moving average selected");

};

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

cb <= nb;

cb++} { // не открываем позиций до начала периода выборки //... то же самое, что и установка MaxBarsBack в TradeStation 166 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК if(dt[cb] < IS_DATE) { egcls[cb] = 0.0;

continue;

) // выполняем ожидающие приказы и считаем накопленный капитал rс = 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 / dlrvfcbj);

if(ncontracts < 1) ncontracts = 1;

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

// генерируем входные сигналы, цены стоп- и лимитных приказов, // используя определенную модель входа на осцилляторах #define CrossesAbove (a,b,c) (а[с]>=b[с] && а[с-1]=b [с-1] ) #define TurnsUp(a,c) (а[с]>=а[с-1] && а[с-1]<а[с-2]) #define TurnsDn(a,c) (a[c]=а [с-2] ) signal=0;

switch (modeltype) { case 1: // модель перекупленности-перепроданности if(CrossesAbove(oscline, lowerband, cb)} signal = 1;

else if(CrossesBelow(oscline, upperband, cb)) signal = -1;

limprice = 0.5 * (hi [cb] + lo [cb] ) ;

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

break;

case 2: // модель сигнальной линии if(CrossesAbove(oscline, sigline, cb)) signal = 1;

else if(CrossesBelow(oscline, sigline, cb)) signal = -1;

limprice = 0.5 * (hi [cb] + lo[cb]) ;

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

break;

case 3: // модель дивергенции i = LowestBar(cls, len3, cb) ;

j = LowestBar(oscline, len3, cb);

if(i < cb && i > cb-6 && j > cb-len3+l && i-j > && TurnsUp(oscline, cb)) signal = 1;

else { i = HighestBar(cls, len3, cb} ;

j = HighestBar(oscline, len3, cb);

if(i < cb && i > cb-6 && j > cb-len3+l && i-j > && TurnsDn(oscline, cb)) signal = -1;

) limprice = 0.5 * (hi[cb] + lo[cb]);

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

break;

default: nrerror("Invalid model selected");

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

break;

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

break;

ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ case 3: ts.buystop('3', stpprice, ncontracts);

break;

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

} } else if(ts.position1) >= 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 ('Х', ptlim*tmp, nmstp*tmp, maxhold) ;

} // обрабатываем следующий день ] Логика кода весьма напоминает программу, использованную для тес тирования скользящих средних. Сначала копируется ряд параметров в местные переменные для простоты ссылок и считывания дальнейшим кодом. Затем проверяется наличие непригодных сочетаний параметров, например для MACD (osctype = 4) длина короткого скользящего средне го должна быть меньше, чем длинного, иначе тест будет пропущен. В сле дующем крупном блоке osctype выбирает вид рассчитываемого осцилля тора (1 Ч быстрый стохастический, 2 Ч медленный стохастический, 3 Ч классический RSI, 4 Ч классический MACD). Осциллятор oscline затем рассчитывается в виде ряда данных или вектора, генерируются дополни тельные кривые, связанные с ним, например сигнальная линия sigline или медленная версия осциллятора. Верхний (upperband) и нижний (lowerband) пороги либо рассчитываются, либо задаются. Для стохастического осцил лятора используются стандартные пороги 80 и 20, для RSI Ч пороги на уровне 70 и 30. Хотя MACD как таковой не имеет порогов, пороги для него устанавливаются на уровне плюс-минус полтора стандартных отклоне ния от нуля. Затем начинается процесс перебора данных, день за днем.

В цикле перебора данных представляют интерес два главных блока Ч первый генерирует сигналы покупки и продажи, а также цены для лимит ного и стоп-приказов, используемых выбранной моделью. Параметр mode/type выбирает модель: 1 Ч модель перекупленности/перепроданно сти, 2 Ч модель сигнальной линии, 3 Ч модель на расхождении. При этом используется один из вышеперечисленных осцилляторов, выбранный параметром osctype. Последний блок производит вход в рынок согласно выбранному значению параметра ordertype: 1 Ч для входа по цене откры тия, 2 Ч по лимитному приказу, 3 Ч по стоп-приказу. Затем симулятор использует стандартную модель выхода для закрытия сделок.

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

168 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК РЕЗУЛЬТАТЫ ТЕСТОВ Проводилось тестирование трех осцилляторных моделей входа: на осно ве понятия перекупленности/перепроданности (осцилляторы RSI и сто хастический), на основе взаимодействия осциллятора с сигнальной лини ей (стохастический осциллятор и MACD) и на основе расхождения (ста тистический осциллятор, RSI и MACD). Все индивидуальные комбинации были исследованы с входами по цене открытия, по лимитному приказу и по стоп-приказу. Сравнение результатов всех трех видов входов приве дено ниже в данной главе.

Табл. 7-1 и 7-2 содержат результаты каждого из 21 тестов. Данные рас пределены по торгуемым финансовым инструментам, по моделям, пока завшим прибыль и убыток в пределах выборки (табл. 7-1) и вне пределов выборки (табл. 7-2). Первый столбец (SYM) Ч это символ рассматривае мого рынка, первая строка Ч номер теста. Степень прибыльности и убы точности рынков для каждой модели указана следующим образом: один минус (Ч) означает убыток в $2000 Ч 4000, два минуса (- -) Ч убыток более $4000;

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

пустая ячейка означает прибыль до $ или убыток до $1999 со сделки.

ТЕСТИРОВАНИЕ МОДЕЛЕЙ, ОСНОВАННЫХ НА ПОНЯТИИ ПЕРЕКУПЛЕННОСТИ/ПЕРЕПРОДАННОСТИ Входы генерировались, когда осциллятор пересекал верхний порог вниз или нижний порог вверх. Эти модели являются противотрендовыми. Ког да осциллятор указывает на импульс цен, направленный вниз, произво дится покупка. В противоположном случае производится продажа. В тес тах от 1 до 6 использовались стохастический осциллятор и RSI, поскольку для них существуют стандартные пороги, часто применяемые вышеопи санным способом.

Тесты 1Ч3. Стохастические модели на основе понятия перекуп ленности/перепроданности. Эти тесты оценивают работу модели с входом по цене открытия (тест 1), по лимитному приказу (тест 2) и по стоп приказу (тест 3). Использован оригинальный Быстрый %К по Лэйну, пе риод Ч от 5 до 25 с шагом 1. Наилучшие значения для тестов 1, 2 и 3 соста вили 25, 20 и 16 соответственно. Для стохастического осциллятора тради ционные пороговые значения составляют 20 (нижнее) и 80 (верхнее). В целом эти модели несли тяжелые убытки как в пределах, так и вне выбор ки (табл. 7-3). Как и в предыдущих тестах, вход по лимитному приказу был наилучшим (т.е. имел минимальный убыток со сделки). Процент прибыль ных сделок (37% в пределах, 36% вне пределов сделки) также был макси ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ Таблица 7Ч1. Эффективность в пределах выборки по тестам и рынкам мальным при использовании этого входа. Вход по стоп-приказу дал про межуточные результаты, по цене открытия Ч наихудшие. Торговая стра тегия работала достаточно плохо в обеих выборках и на всех рынках. Вне пределов выборки небольшие прибыли были получены на рынке британ ского фунта и апельсинового сока со всеми видами входов, а при входе по стоп-приказу Ч на рынке леса, соевых бобов и живых свиней;

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

ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК Таблица 7Ч2. Эффективность вне пределов выборки по тестам и рынкам Тесты 4Ч6. Модели RSI на основе понятия перекупленности/пере проданности. Эта модель оценивалась с входом по цене открытия (тест 4), по лимитному приказу (тест 5) и по стоп-приказу (тест 6). Рассчитывался оригинальный RSI по Вильямсу, период Ч от 5 до 25 с шагом 1. Наилуч шее значение для всех тестов составило 25. Использованы традиционные пороговые значения: 30 (нижнее) и 70 (верхнее). Модель работала еще хуже, чем стохастическая, процент прибыльных сделок в общем случае колебался от 26 до 37%. Средний убыток в сделке достигал $7000. Общая ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ прибыль была лучше, чем в тесте стохастического осциллятора, и, посколь ку было совершено меньше сделок, хотя убыток на сделку был больше, общий убыток оказался меньше. Модель не нашла какого-либо слабого места рынка, которое можно было бы использовать для получения при были. Лучше всего работал вход по лимитному приказу, прочие Ч при мерно одинаково. Прибыль получена на значительно большем количестве отдельных рынков, особенно в тесте 5, где при входе по лимитному при казу прибыльными были в пределах выборки казначейские облигации, золото, серебро, платина, скот, овес и кофе;

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

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

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

Тесты 7Ч9. Модели на основе стохастического осциллятора с сиг нальной линией. Эта модель оценивалась с входом по цене открытия (тест 7), по лимитному приказу (тест 8) и по стоп-приказу (тест 9). Рассчи тывался оригинальный Медленный %К по Лэйну, поскольку в предвари тельном тестировании Быстрый %К приводил к избыточному числу сде лок, вызванных высоким уровнем шума. Сигнальная линия представляла собой простое скользящее среднее Медленного %К с периодом 3 дня. Пе риод осциллятора Ч от 5 до 25 с шагом 1. Наилучшие значения для тестов 7, 8 и 9 составили 15, 14 и 11 соответственно. В целом модель несла тяже лые убытки в расчете на одну сделку. Ввиду большого количества сделок убытки были астрономическими. Вход по лимитному приказу был наи лучшим (т.е. имел минимальный убыток в сделке и максимальный про цент прибыльных сделок). Хуже всего работал вход по цене открытия. Эта модель положительно реагирует на использование стоп-приказов. Воз 172 ЧАСТЬ II ИССЛЕДОВАНИЕ входов в РЫНОК можно, это связано с тем, что они действуют подобно фильтрам трендов:

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

на рынке кофе удалось получить более $2000 в сделке.

Тесты 10Ч12. Модели MACD на основе сигнальной линии. Эта мо дель оценивалась с входом по цене открытия (тест 10), по лимитному при казу (тест 11) и по стоп-приказу (тест 12). Рассчитывался классический MACD с использованием экспоненциальных скользящих средних. Пери од короткого скользящего среднего прогонялся от 3 до 15 с шагом 2, пери од длинного скользящего среднего Ч от 10 до 40 с шагом 5. Скользящее среднее, служащее сигнальной линией, имело традиционный фиксиро ванный период, равный 9. В общем, этот осциллятор работал лучше, чем какой-либо из испытанных до сих пор. В пределах выборки лучшим был вход по лимитному приказу, худшим Ч по цене открытия. Вне пределов выборки вход по стоп-приказу давал максимальный (из полученных до сих пор) процент прибыльных сделок (40%) и минимальный средний убы ток в сделке. В пределах выборки только рынок леса давал ощутимую при быль при входе по лимитному приказу. При входе по стоп-приказу в пре делах выборки были прибыльны также рынки живых свиней, свиной гру динки, кофе и сахара. Из них вне пределов выборки остались прибыль ными лес, живые свиньи, свиная грудинка и кофе. Многие рынки, убы точные в пределах выборки, дали прибыль вне ее. Положительные резуль таты по максимальному количеству рынков были получены при исполь зовании входа по стоп-приказу.

ТЕСТЫ МОДЕЛЕЙ, ОСНОВАННЫХ НА РАСХОЖДЕНИИ Тесты 13 Ч 21 рассматривают расхождения графиков цены и стохастичес кого осциллятора, RSI и MACD. Расхождение Ч это концепция, исполь зуемая техническими трейдерами для описания явления, легко заметно го на графике, но трудно поддающегося алгоритмическому определению и анализу. Примеры расхождения изображены на рис. 7-1. Расхождение появляется, когда рынок образует провал, более низкий, чем провал или пара провалов, образованных в это время осциллятором, указывая, таким образом, на покупку. Сигнал к продаже возникает в противоположной ситуации. Поскольку формы волн могут быть самыми разными, опреде ление расхождений Ч нетривиальная задача. Хотя наш алгоритм устро ен элементарно и далек от совершенства, при исследовании графиков он ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ дает достаточно надежные результаты, чтобы сулить о качестве основан ных на расхождении систем.

Мы будем обсуждать только сигналы покупки, поскольку сигналы про дажи представляют собой их точную противоположность. Логика алго ритма такова: в течение обозреваемого исторического периода (1епЗ) на ходят дни с минимальным значением в ценовой серии и в значениях ос циллятора. Затем проверяют ряд условий: во-первых, минимум ценового ряда не должен приходиться на текущий день (т.е. должно начаться повы шение), но попадать в пределы прошлых шести дней (т.е. этот провал дол жен быть близок к текущему моменту). Минимум в ценовой последова тельности должен иметь место не менее чем через четыре дня в последо вательности значений осциллятора (глубочайший провал осциллятора должен опережать глубочайший провал цен). Еще одно условие состоит в том, чтобы минимальное значение осциллятора не приходилось на пер вый день в обозреваемом периоде (т.е. должен быть сформирован мини мум). Лучше, чтобы осциллятор был в самом начале обратного движения (что определяет второй провал как сигнал к покупке). Если все условия выполнены, то расхождение налицо и отдается приказ на покупку. Если приказ на покупку не отдан, то подобным же образом производится по иск расходящихся пиков, и при их обнаружении и соответствии подоб ным критериям отдается приказ на продажу. Такая методика достаточно хорошо находит расхождения на графиках. За исключением вида входов, единственное различие в тестах с 13 по 21 Ч это используемый вид ос циллятора.

Тесты 13Ч15. Модели расхождения цены и стохастического ос циллятора. Со стандартными входами использовался Быстрый %К. Оп тимизация состояла в прогонке периода стохастического осциллятора от 5 до 25 с шагом 1 и обозреваемого периода расхождения от 15 до 25 с ша гом 5. Лучшие параметры для периода и длины составили 20 и 15 для вхо да по цене открытия, 24 и 15 для входа по лимитному приказу и 25 и 15 для входа по стоп-приказу. Как в пределах, так и вне пределов выборки эф фективность этой модели была в числе худших;

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

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

Тесты 16Ч18. Модели расхождения цены и RSI. Оптимизация состоя ла в прогонке периода RSI от 5 до 25 с шагом 1 и обозреваемого периода расхождения от 15 до 25 с шагом 5. В общем, результаты были плохими. В пределах выборки наименее убыточным был вход по стоп-приказу, за ним следовал вход по лимитному приказу. Поскольку RSI Ч один из излюб ленных индикаторов, используемых при поисках расхождения, такие пло хие результаты достойны особого внимания. Мазут приносил прибыли со всеми видами входов, неэтилированный бензин был весьма прибылен при входе по цене открытия и по стоп-приказу, сырая нефть Ч при входе по лимитному приказу и по стоп-приказу. В пределах выборки со всеми входами были прибыльны соевые бобы, с входом по стоп-приказу непло хо работали апельсиновый сок, кукуруза, соевое масло и свиная грудин ка. Вне пределов выборки рынок нефтепродуктов не приносил устойчи вых прибылей, а соевые бобы оставались прибыльными со всеми видами входов;

апельсиновый сок и соевое масло по-прежнему приносили при быль при входе по стоп-приказу.

Тесты 19Ч21. Модели расхождения цены и MACD. Период короткого скользящего среднего прогонялся от 3 до 15 с шагом 2;

период длинного скользящего среднего Ч от 10 до 40 с шагом 5;

обозреваемый период рас хождения Ч от 15 до 25 с шагом 5. Исследовались только те наборы пара метров, где период длинного скользящего среднего был значительно боль ше, чем период короткого.

Наконец-то модели, которые работают, принося положительную прибыль и в пределах, и вне пределов выборки! При входе по цене откры тия торговля была прибыльной в обоих образцах данных. В пределах вы борки средняя сделка приносила $1393, прибыльными были 45% сделок, а вероятность случайности результатов была всего 8,7% (после коррекции 99,9%). И длинные, и короткие позиции были прибыльными. Несмотря на низкую статистическую достоверность в пределах выборки, вне ее пре делов прибыли продолжались: с учетом проскальзывания и комиссион ных средняя прибыль в сделке составила $140 при 38% прибыльных сде лок (только короткие позиции были прибыльны).

Вход по лимитному приказу в пределах выборки работал несколько хуже, но вне пределов выборки Ч значительно лучше. На рис. 7-2 изобра жен график изменения капитала для теста с входом по лимитному прика зу. В пределах выборки средняя прибыль в сделке составила $1250 при 47% прибыльных сделок (максимальное из полученных значений);

прибыль ными были и длинные, и короткие позиции, причем вероятность случай ности прибылей составила 13,1% (после коррекции 99,9%). Вне пределов ГЛАВА 7 Входы НА ОСНОВЕ ОСЦИЛЛЯТОРОВ Дата Рисунок 7-2. График изменения капитала для теста расхождения цены и MACD со входом по лимитному приказу.

выборки модель приносила в среднем $985 в сделке, была прибыльной в 44% сделок, а вероятность случайности прибыли составляла всего 27,7%.

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

Анализ отдельных рынков (табл. 7-1 и 7-2) подтверждает потенциал этих моделей. В пределах выборки больше рынков приносили прибыль, в обоих образцах данных по всем трем видам входов выгодны были рынки сырой нефти и кофе, многие рынки были прибыльными с двумя видами входов (например, мазут, живой скот, соевые бобы, соевая мука и лес).

Pages:     | 1 | 2 | 3 | 4 | 5 |   ...   | 7 |    Книги, научные публикации