Полезна при создании и тестировании прибыльного торгового робота. Особенно для трейдеров, работающих с несколькими инструментами для увеличения диверсификации, снижения риска и повышения ликвидности. Приведены коды программ. Приведены методики статистической оценки результатов, тесты за пределами выборки и методики обеспечивают защиту от «подгонки» при оптимизации. Рассмотрены данные, симуляторы, оптимизаторы и статистика. Похоже, пока лучшее из прочитанного (6.3.15).
Цитируется неоднократно — без кавычек и ссылок, например:
Вселяет опримизм тест 11 ниже, показывающий существенные отличия валютных рынков от рынков ценных бумаг и др.
………………………..
Внутридневные ценовые данные состоят из последовательности баров, каждый их которых отражает фиксированный временной интервал,
или из индивидуальных тиков. Показатели точки данных включают дату, время, цену открытия, максимальную цену, минимальную цену, цену закрытия и тиковый объем. Тиковый объем отличается от объема дневных торгов: для внутридневных данных — это количество тиков, происходящих в пределах бара, вне зависимости от количества контрактов или сделок в каждом из этих тиков. Для индивидуальных тиков сообщается только дата, время и цена, но не объем. Внутридневные тиковые данные могут быть легко конвертированы в данные с фиксированным временным интервалом при помощи доступных программ, которые часто предоставляются поставщиком данных без дополнительной оплаты.
……………………………………..
Недостатками краткосрочных временных масштабов являются необходимость получения данных в реальном времени, накопления исторических тиковых данных, применения высокопроизводительной аппаратуры с огромным объемом памяти, использования специальных программ
и большое количество времени на занятия собственно торговлей.
Необходимость в производительном компьютере с большим объемом памяти возникает по двум причинам: (1) при тестировании системы будут использоваться колоссальные объемы данных; (2) программы, управляющие системой, ведущие сбор данных и строящие графики, должны работать в реальном времени, не пропуская ни одного тика. И база исторических данных, и программы, способные справиться с такими объемами, необходимы для разработки и тестирования систем.
Реальная работа требует поступления данных в реальном времени, и хотя сейчас мощные компьютеры вполне доступны по цене, специализированные программы и банки исторических тиковых данных недешевы. Оплата данных в реальном времени — также заметный и постоянный расход.
…………………………………………
С другой стороны, стоимость данных и затраты времени на торговлю минимальны для работающих на дневных и более длительных временных
масштабах. Для большинства финансовых инструментов в Интернете доступны бесплатные данные, программы также скорее всего будут дешевле,
и торговля потребует меньше времени: систему можно запускать после закрытия рынков и передавать брокеру приказы до открытия рынков утром.
Таким образом, на торговлю можно тратить около 15 минут в день, оставляя больше времени на разработку системы и, естественно, на отдых.
Еще одно преимущество больших временных масштабов — возможность вести торговлю на большом количестве рынков.
Поскольку не на многих рынках уровень ликвидности и волатильности достаточен для дневной торговли, а человек не способен успевать делать все сразу, внутридневной трейдер может осуществлять диверсификацию только с помощью нескольких торговых систем на одном рынке. Трейдер, работающий по данным на конец дня, имеет более широкий выбор рынков и больше свободного времени, что дает ему возможность работать на нескольких рынках одновременно. Распределение капитала — замечательный способ снижения риска и повышения прибылей. Кроме того, длительные временные масштабы позволяют получать большие прибыли при следовании за сильными, продолжительными трендами; такие прибыли могут превратить позицию $50 000 в миллион менее чем за год. В конце концов среднеи долгосрочный трейдер может найти больше внешних параметров, имеющих потенциальные прогностические качества.
………………………………..
для проведения тестов требуется применять только лучшие из доступных данных. Некоторые прогностические системы, например основанные на нейронных сетях, могут быть чрезвычайно чувствительны к нескольким отклонениями, ошибочным данным; в таких случаях необходимость в чистых данных особенно высока.
Время, потраченное на поиск и окончательную чистку хороших данных, не будет потеряно.
………………………………………….
Суть в том, что на этих примерах показана важность приобретения качественных данных от поставщика, имеющего хорошую репутацию и ведущего серьезную работу. Это сэкономит время, обеспечит надежные, чистые данные для разработки и тестирования систем и для торговли в дальнейшем. Более глубокий обзор проблем качества данных, в том числе и то, как, собственно, создаются рыночные котировки, как их передают и хранят, можно найти у Джурика (Jurik, 1999).
……………………………..
Данные не обязательно покупать у коммерческих поставщиков. Иногда их можно получить непосредственно с места событий — различные
биржи порой поставляют данные потребителям напрямую. Данные по опционам можно найти в Интернете на сайте Чикагской торговой биржи
(СВОТ). Когда вводится новый контракт, биржа публикует всю актуальную информацию по данному контракту. В некоторых случаях это — един-
ственный способ получить доступ к данным быстро и дешево.
………………………………………..
ВИДЫ торговых СИМУЛЯТОРОВ
Существуют два главных вида торговых стимуляторов. Одни из них — интегрированные, простые в применении программные приложения, которые обеспечивают некоторые функции исторического анализа и тестирования помимо сбора данных и построения графиков. Другой вид — специализированные компоненты программ или библиотеки классов, которые могут включаться в создаваемые пользователем программы для обеспечения функций тестирования и оценки систем. Компоненты программ и библиотеки классов обеспечивают открытость архитектуры, продвинутые возможности и высокую производительность, но требуют умения программировать. Для работы с ними необходимы дополнительные элементы — графика, создание отчетов, управление данными. Интегрированные пакеты, хотя обычно менее производительны, гораздо доступнее для начинающего пользователя.
…………………………………..
Оптимизация под управлением пользователя. Оптимизация под управлением пользователя ведется при сотрудничестве человека и программы. Как и при оптимизации с лобовым подходом, происходит испытание различных вариантов в поисках оптимального решения, но если в первом случае ведется всеобъемлющий поиск во всем множестве вариантов, оптимизация под управлением пользователя ведется, как выборочная охота, только в некоторых участках пространства решений. Замысел в том, что при вмешательстве человека процесс оптимизации способен быстро обнаружить оптимальные значения, не отвлекаясь на обследование каждого тупика.
……………………………………
Генетические оптимизаторы
Представьте себе нечто, способное решить все проблемы, связанные с созданием человека — нечто, представляющее собой вершину всех методов оптимизации и решения задач. Что это такое? Известный процесс эволюции. Генетические оптимизаторы пытаются использовать часть этой невероятной способности к решению задач при помощи грубой симуляции эволюционного процесса. По параметрам общей эффективности и размаха решаемых программ никакой многоцелевой оптимизатор не превосходит хорошо написанный генетический оптимизатор.
Генетические оптимизаторы являются стохастическими в том смысле, что они используют в работе случайные числа.
……….
Как и генетическая оптимизация, моделирование отжига — очень мощная стохастическая методика, основанная на естественном явлении, которое может находить глобально оптимальные решения и работать с неупорядоченными функциями эффективности. Моделирование отжига эффективно решает комбинаторные проблемы, включая известную «задачу о коммивояжере» или проблему оптимального расположения миллионов элементов современных интегральных микросхем, например компьютерных процессоров. Методы, основанные на моделировании отжига, не следует ограничивать комбинаторной оптимизацией; они могут быть легко применены для оптимизации параметров с реальными значениями.
…………………………………..
Аналитические (математические) оптимизаторы
Анализ (в смысле .«математический» или «комплексный» анализ) является расширением классического исчисления. Аналитические оптимизаторы используют наработанные методы, в особенности методы дифференциального исчисления и исследования аналитических функций для решения практических задач. В некоторых случаях анализ дает прямой (без перебора вариантов) ответ на задачу оптимизации.
……………………………
АЛЬТЕРНАТИВЫ ТРАДИЦИОННОЙ ОПТИМИЗАЦИИ
Существуют два альтернативных традиционной оптимизации подхода —это оптимизация с прогонкой вперед и самоадаптивные системы. Обе эти методики имеют то преимущество, что практически все тестирование проводится вне (пределов) выборки.
Все чисто и математически безукоризненно. Про коррекцию коэффициентов корреляции, множественные тесты, чрезмерную подгонку системы под ценовые данные и другие проблемы можно просто забыть.
Более того, с современной компьютерной техникой модели с прогонкой вперед и самоадаптивные модели становятся практичными и даже несложными.
Оптимизации с прогонкой вперед
Принцип оптимизации, или тестирования с прогонкой вперед, состоит в эмуляции шагов, действительно производимых системой, требующей периодической оптимизации.
Метод работает следующим образом. Оптимизируйте систему на точках данных от 1 до М. Затем проведите виртуальную торговлю в точках данных от М + 1 до М + К. Повторно оптимизируйте систему на точках от К + 1 до К + М. Затем промоделируйте торговлю в точках от (К + М) + 1 до (К + М) + К. Пройдите таким образом через всю выборку данных.
Как следует из примера, сначала оптимизируется система, потом моделируется торговля. Через некоторое время система снова оптимизируется, и торговля возобновляется. Эта последовательность гарантирует, что торговля всегда происходит на данных, более поздних, чем данные, использовавшиеся для оптимизации. Практически, все сделки происходят на данных вне пределов выборки. При тестировании с прогонкой вперед М — окно оптимизации (или исторического обзора), а К— интервал повторной оптимизации.
Самоадаптивные системы работают подобным образом, но в этом случае оптимизация или адаптивный процесс — часть системы, а не тестовой программы. Как только поступает новая точка данных, самоадаптивная система обновляет свое внутреннее состояние (правила или параметры) и затем принимает решение относительно следующей точки данных. При поступлении следующих данных выполняются принятые решения, и процесс повторяется.
Внутренние изменения, при помощи которых система изучает рынок и адаптируется к нему, могут происходить не в каждой точке, а, например, в некоторые фиксированные моменты времени.
Трейдер, планирующий использовать самоадаптивные системы, должен иметь мощную, основанную на компонентах платформу с использованием развитого языка программирования (C++, Object Pascal или Visual Basic) с возможностью доступа к библиотекам и компонентам третьих производителей. Эти компоненты рассчитаны на встраивание в создаваемые пользователем программы, включая специальные программы адаптивных систем. Чем больше компонентов доступно, тем меньше работы:
Несомненно, что системы с прогонкой вперед и самоадаптивные системы приобретут большую популярность в будущем с ростом эффективности рынков и сложности работы на них, а также с расширением доступности для рядовых трейдеров коммерческого программного обеспечения на их основе.
……………………………………………………………..
Статистика может помочь трейдеру оценить вероятность того, что система в будущем будет работать так же прибыльно, как и в прошлом. В этой книге мы представили результаты статистического анализа везде, где это, по нашему мнению, полезно и уместно.
Среди методов статистического анализа, наиболее полезных трейдеру, можно назвать проверку по критерию Стьюдента, корреляционный анализ и некоторые виды непараметрического статистического анализа.
Проверка по критерию Стьюдента необходима в тех случаях, когда надо определить вероятность того, что среднее или сумма некоторого ряда независимых значений (полученных из выборки) больше или меньше некоторого числа или находится в некоторых пределах от него. Например, проверка по критерию Стьюдента может вскрыть вероятность того, что общая прибыль ряда сделок (каждая с индивидуальными показателями прибыли/убытка) может превысить некоторый порог в результате простой случайности. Эти критерии также полезны для выбора периодичности данных, например при вычислении дневного или месячного дохода за период в несколько лет. Кроме того, проверка по критерию Стьюдента помогает установить границы производительности системы в будущем (если предположить, что на рынке не ожидается структурных изменений), что позволит заявить, например, следующее: «вероятность того, что в будущем средняя прибыль составит от х до у, более 95%».
Корреляционный анализ помогает определить степень взаимосвязи двух различных переменных. При использовании для принятия решений он также помогает определить, являются ли связи «статистически значимыми» или просто случайными. С помощью таких методов можно определить доверительные интервалы границ «реальной» корреляции, т.е. корреляции по выборке данных за некоторый период времени. Корреляционная статистика важна при поиске переменных, которых можно использовать как прогностические показатели, например, в нейронной сети или
в системе уравнений регрессии.
Корреляционный анализ и непараметрические статистические методы (критерий наличия «чередующихся полос» в ряду данных) полезны при
оценке зависимости значений ряда данных от предыдущих значений в ряду (серийной корреляции). Например, действительно ли выгодные сделки следуют в виде полос или групп, между которыми сплошные убытки? Критерии наличия «полос» позволяют определить, что же на самом деле происходит.
Если в системе есть серийная корреляция, ее можно использовать для перенастройки системы. Например, если в системе выражены периоды прибылей и убытков, можно разработать метасистему, которая будет проводить сделку за сделкой, пока есть прибыли, и прекращать торговлю
после первой убыточной сделки, уходя в «виртуальную торговлю» до наступления новой прибыльной полосы. Если полосы реально существуют, то подобная стратегия может значительно улучшить поведение системы.
……………………………..
Лучше работать с информацией, зная, что некоторые положения нарушены, чем работать вслепую.
………………….
Хороший вход— это такой вход, который начинает сделку в точке с низким потенциальным риском и высокой потенциальной прибылью. Точка с низким риском — это точка, где величина возможного неблагоприятного движения перед поворотом рынка в пользу трейдера невелика. Входы, при которых неблагоприятное движение минимально, весьма желательны, поскольку они позволяют устанавливать очень близкие защитные остановки, минимизируя, таким образом, риск. Хороший вход должен также с большой вероятностью сопровождаться благоприятным движением рынка вскоре после входа.
Сделки, долго ожидающие благоприятного движения рынка, попросту оттягивают на себя деньги, которые можно применить в других местах; такие сделки не только увеличивают общий риск портфеля, но и расходуют часть маржи, не позволяя открыть другие, более эффективные позиции. Идеальный вход состоял бы в покупке по минимальной цене и продаже по максимальной. Естественно, такие входы едва ли случаются в реальном мире и совсем не обязательны для успешной торговли. Для успешной торговли всего-навсего достаточно, чтобы входы в очетании с разумными выходами образовывали торговую систему с хорошими характеристиками общей эффективности.
…………………………………….
Входы могут выполняться при помощи различных приказов, включая стопприказы, лимитные приказы и рыночные приказы.
…………………………….
Мы постараемся пояснить популярные методы, используемые часто и на протяжении долгого времени (некоторые — десятилетиями), но мало поддержанные объективными доказательствами. Мы будем систематически тестировать эти модели для проверки их эффективности. Мы также попытались расширить наши исследования моделей входа, вызвавшие интерес у читателей (в основном, читателей журнала Technical Analysis
of Stocks and Commodities).
………………………….
Стандартизованный выход, используемый для изучения моделей входа в последующих главах, включает в себя три функции, необходимые для моделей выхода: выход с прибылью, когда рынок движется в пользу трейдера достаточно долгое время; выход с ограниченным убытком, если рынок идет против, и выход из застойного рынка спустя некоторое время для сохранения маржи и снижения неэффективных вложений. Стандартный выход реализуется при помощи комбинации стоп-приказа, лимитного приказа и рыночного приказа.
……………………………………
Модели, основанные на пробоях
ТЕСТИРОВАНИЕ МОДЕЛЕЙ, ОСНОВАННЫХ НА ПРОБОЕ
Насколько хорошо они работают? Да и работают ли? Теоретически модели на пробое наилучшим образом подходят для торговли на рынках с устойчивыми трендами, таких как рынки forex. При должном использовании фильтров они могут работать и на других рынках. Некоторые ответы на эти вопросы будут приведены в нашем исследовании. Во всех тестах использовались стандартные портфель и стратегия выхода (см. введение к части II).
……………………….
Ниже приводится компьютерный код на C++ для системы пробоя канала по ценам закрытия со стандартной стратегией выхода.
// Выполнение тестирования модели
// parms — набор [1..MAXPRM] параметров
// dt — набор [1..nb] дат в формате ГГММДД
// орn — набор [1..nb] цен открытия
// hi — набор [l..nb] максимальных цен
// 1о — набор [1..nb] минимальных цен
// cls — набор [l..nb] цен закрытия
// vol — набор [l..nb] значений объема
// oi — набор [l..nb] значений открытого интереса
// dlrv — набор [1..nb] средних долларовой волатильности
// nb — количество дней в наборе данных
// ts — ссылка на класс торгового симулятора
// eqcls — набор [l..nb] уровней капитала при закрытых позициях
//объявляем локальные переменные
static int cb, n, neontracts, maxhold;
static float mmstp, ptlim, atr;
// копируем параметры в локальные переменные для удобного обращения
n = parms [1]; // параметр ширины канала
maxhold = 10; // период максимального удержания позиции
ptlim = 4.О; // целевая прибыль в единицах волатильности
mmstp = 1.0; // защитная остановка в единицах волатильности
// file — x09mod01.c
// только для этого теста выставляем транзакционные издержки равными нулю
ts.commission(0.0);
ts.slippage (0.0);
// проходим через бары (дни}, чтобы смоделировать реальную торговлю
for(cb = 1; cb <= nb-1; cb++) [
//не открываем позиций до начала выборки
//… то же самое, что установка MaxBarsBack в TradeStation
if(dt[cb] < IS_DATE) { eqcls[cb] = 0.0; continue; }
// выполняем ожидающие приказы и считаем кумулятивный капитал
ts.update(opn[cb] , hi[cb], lo [cb] , cls [cb], cb) ;
eqcls [cb] = ts.currentequity{EQ_CLOSETOTAL);
// считаем количество контрактов для позиции
//… мы хотим торговать эквивалентом долларовой волатильности
//… равным 2 новым контрактам S&P-500 от 12/31/98
ncontracts = RoundToInteger(5673.0 / dlrv[cb]) ;
if (ncontracts < 1) ncontracts = 1;
// избегаем устанавливать приказы на дни с ограниченной торговлей
if(hi[cb+1] == lo[cb+1]} continue;
// file = x09mod01.c
// пробой канала но основе цены закрытия с входом на завтрашнем открытии
if (cls [cb]>Highest(cls,n,cb-l) && ts.position {) < = 0) {
ts.buyopen(‘1’ , ncontracts) ;
}
else if (cls [cb]<Lowest(cls,n,cb-l) && ts.position{)>=0) {
ts . sellopen (‘2 ‘, ncontracts) ;
}
// симулятор использует стандартную стратегию выхода
atr = AvgTrueRange(hi, lo, cls, 50, cb} ;
ts.stdexitcls(‘X’, ptlim*atr, mmstp*atr, maxhold);
] // обрабатываем следующий день
……………………………………………….
Для такой простой системы результаты были неожиданно хороши: годовая прибыль составила 76%. Все параметры n были прибыльными, в отношении риска/прибыли оптимальное значение составило 80 дней. Т-тест дневной прибыли (по соотношению риска/прибыли) показывает, что вероятность случайной эффективности составляет менее одной тысячной, а после коррекций на оптимизацию — менее одной сотой. Как и следовало ожидать по таким показателям, в тесте вне пределов выборки система также была прибыльной. Длинные позиции (покупки) принесли больше прибыли, чем короткие (продажи), возможно, в связи с ложными сигналами с короткой стороны, вызванными постоянным снижением цены при
приближении срока истечения контрактов. Другое объяснение состоит в том, что цены на товары обычно более подвержены влиянию кризисов и
дефицита, чем избытка. Как и при использовании других систем, основанных на пробое, процент прибыльных сделок был невелик (43%), причем крупные прибыли от редких удачных сделок компенсировали частые мелкие убытки. Хотя некоторым психологически трудно воспринимать систему, которая терпит убыток за убытком в ожидании большой прибыли, ожидание того стоит.
………………………………………
В следующем тесте учтены комиссионные и проскальзывание.
Тест 2. Система на основе пробоя канала. Используются только цены закрытия; вход по рыночной цене при открытии биржи на следующий день, комиссия и проскальзывание учитываются. Этот тест проведен точно так же, как и предыдущий, за исключением учета проскальзывания (3 тика) и комиссионных ($15 за цикл сделки). Хотя эта модель работала успешно без учета расходов на сделки, на практике она с треском провалилась. Даже лучшее в выборке решение принесло только убытки, и, как и следовало ожидать, вне пределов выборки система также работала с убытком.
Почему же относительно небольшие комиссионные и проскальзывание приводят к разрушению производительности системы, которая без них зарабатывает тысячи долларов на средней прибыльной сделке? Потому что на многих рынках сделки включают множественные контракты, а комиссионные и проскальзывания влияют на каждый контракт по отдельности. В данном случае опять именно длинные сделки приносили наибольшую прибыль. Модель была умеренно доходной в 1980-х годах, но потом стала убыточной. Учитывая прибыльные результаты прошлого теста, можно предположить, что модель постепенно перестала окупать расходы на совершение сделок.
Когда простые компьютеризованные системы пробоев вошли в моду в конце 1980-х годов, возможно, именно они с течением времени изменили природу рынков, что привело к падению эффективности данных систем.
…………………………………………..
Тест 3. Система на основе пробоя цены закрытия, вход по лимитному приказу на следующий день, расходы на сделки учитываются.
// file = x09mod03.c
// пробой канала на основе только цен закрытия с входом на следующий день,
// используя лимитный приказ
limprice = 0.5 * (hi[cb] + lo [cb]);
if (cls[cb]>Highest(cls,n,cb-l) && ts.position{)<=0) {
ts.buylimit(‘1’ , limprice, ncontracts);
)
else if (cls[cb]<Lowest(cls,n,cb-l) && ts.position{)>=0) {
ts.selllimit(‘2’, limprice, ncontracts);
)
// симулятор использует стандартную стратегию выхода
atr = AvgTrueRange{hi, lo, cls, 50, cb} ;
ts.stdexitcls (‘X’, ptlim*atr, mmstp*atr, maxhold);
Вход производится по лимитному приказу в пределах бара. Если бы использовались целевая прибыль и защитная остановка в пределах бара, то возникли бы проблемы. Помещение многих приказов внутри одного бара может сделать моделирование недостоверным: последовательность выполнения этих приказов невозможно отследить по данным на конец дня, а повлиять на результат они могут серьезно. Поэтому стандартный
выход основан на приказах, использующих только цены закрытия. Как и ранее, параметр n (количество дней для усреднения) оптимизировался от 5 до 100 с шагом 5, и выбиралось лучшее решение по соотношению риска/прибыли (и t-вероятности).
Комиссионные, проскальзывание, параметры выхода и возможность снова войти в продолжающийся тренд, хотя и с запаздыванием, остались неизменными.
При оптимальном n = 80 (как и тесте 1) эта модель давала около 33% прибыли в год в пределах выборки. Вероятность случайности этих показателей была 5% без коррекции и 61% после коррекции на 21 тесте оптимизации. Хотя в пределах выборки система была выгодной, статистические данные показывают, что в будущем возможен провал; в самом деле, на данных вне пределов выборки система была убыточной. Как и в тестах 1 и 2,
сделки длившиеся 7 и более баров, были прибыльнее, чем короткие. Процент прибыльных сделок составил 42%.
Хотя вход с использованием лимитного приказа не снял отрицательного влияния комиссии и проскальзывания, тем не менее эффективность улучшилась. Лимитный приказ не особенно уменьшил количество сделок и не привел к пропуску выгодных трендов; обычно после пробоев рынок возвращался обратно, позволяя входить по более выгодной цене.
То, что такая произвольная и, почти наверняка, неоптимальная методика смогла улучшить эффективность системы, весьма обнадеживает.
График изменения капитала также показывает, что подобная система когда-то работала хорошо, но теперь бесполезна.
Из табл. 5-2 видно, что прибыльные результаты были получены на рынке нефти как в пределах, так и вне пределов выборки, что соответствует данным предыдущих тестов. Рынок кофе также был прибыльным в обоих случаях. В пределах выборки фьючерсы на S&P 500 также принесли прибыль.
Заключение. Вход, основанный на лимитном приказе, может значительно улучшить общую эффективность модели, основанной на пробое.
…………………………………………..
Тест 8. Пробой волатильности с использованием входа по лимитному приказу. Эта модель пытается открыть длинную позицию на следующий день после пробоя с помощью лимитного приказа в случае, если цена закрытия торгового дня была выше, чем текущей уровень цен плюс ширина среднего истинного диапазона. Текущая цена определяется экспоненциальным скользящим средним с периодом malen, …
Все валютные рынки были прибыльными как в пределах выборки, так и вне ее, за исключением британского фунта и канадского доллара. Это показывает эффективность подобных систем на трендовых рынках. Как ни странно, рынки валют с максимальной прибылью в пределах выборки не обязательно были самыми прибыльными вне ее пределов.
Это показывает, как важно вести торговлю корзиной валют, не отбирая инструменты по результатам исторических данных, если используется система, основанная на пробое. Хотя эта модель плохо работала на рынке нефтепродуктов, на рынке кофе и леса результаты были ошеломительными (более 65% и более 29% соответственно и в пределах, и вне выборки).
……………………………………..
Тест 9. Пробой волатильности с использованием входа по стопприказу.
Модель в пределах выборки была выгодна при работе с британским фунтом, немецкой маркой, швейцарским франком и иеной; вне выборки все рынки, кроме британского фунта, дали положительные результаты.
Если бы велась торговля всеми валютами, кроме евродолларов и канадского доллара, то в обеих выборках была бы получена солидная прибыль;
евродоллар понес большие убытки ввиду проскальзывания и входа по неоптимальной цене стоп-приказа.
Дело в том, что долларовая волатильность рынка евродоллара низка, поэтому требуется торговать большим количеством контрактов, что повышает расходы на сделку.
……………………………………..
Тест 11. Пробой волатильности с входом по лимитному приказу; только валютные рынки.
Модель идентична прошлой, за тем исключением, что вместо ограничения длинными позициями введено ограничение рынками валют. Оптимизация не проводилась ввиду малого количества рынков и, соответственно, данных; вместо этого использованы лучшие параметры теста 8.
Это первый тест, где система, основанная на пробое, дала явно прибыльные результаты в обеих выборках с учетом реальных расходов на
сделки! В пределах выборки прибыль системы составила 36,2% в год, вне — 17,7%, что тоже неплохо. В пределах выборки проведено 268 сделок, из них 48% прибыльных со средней прибылью $3977. Вне пределов выборки проведено 102 сделки, из них 43% прибыльных, средняя прибыль— $2106.
Почти вся прибыль сделана в пяти «рывках», длившихся несколько месяцев каждый. Эта модель потенциально пригодна для торговли, особенно если заменить стандартный выход на более эффективный.
——————————
Ни один метод (за исключением ограничения модели валютным рынком) не увеличил эффективность в достаточной степени для преодоления затрат на сделки вне пределов выборки. … Модели, основанные на пробое, в настоящее время не работают, хотя были эффективны ранее.
Это соответствует предположению, что прибыльных трендов становится все меньше — по мнению многих трейдеров, рынки становятся «зашумленными» и противодействуют трендам, что затрудняет работу вышеописанных методов, следующих за трендом.
Не удивительно, что лучше всего работают направленные против тренда входы по лимитным приказам.
Впрочем, при верном сочетании разновидности модели, основанной на пробое, метода входа и рынка можно получить как минимум умеренные прибыли.
…………………………………..
ЧТО ТАКОЕ СКОЛЬЗЯЩЕЕ СРЕДНЕЕ?
Чтобы понять идею скользящих средних, для начала необходимо обсудить временные ряды, т.е. последовательности данных, расположенных в хронологическом порядке. Например, такими данными являются ежеднев
ные цены закрытия каких-либо акций. … Во временном ряду серии выборка из нескольких последовательных точек данных может быть названа «временным окном». Если точки данных (например, цены закрытия) в данном временном окне сложить и сумму разделить на количество этих точек данных, то получится «среднее». Скользящее среднее получается тогда, когда этот процесс повторяется снова и снова при смещении «временного окна» вперед, точка за точкой по ряду данных. Средние, полученные таким образом, образуют новый времен-ной ряд, новый набор упорядоченных во времени значений.
Эта серия называется «скользящей средней временного ряда» (в данном случае — скользящее среднее цен закрытия). Этот вид скользящих средних известен как простое скользящее среднее, поскольку рассчитывается как простое арифметическое среднее точек данных, что присваивает каждой точке один и тот же удельный вес. … Элерс (Ehlers, 1989) рассматривал взаимосвязь скользящих средних и фильтров низких частот. Он разработал уравнения и, сравнивая различные фильтры со скользящими средними по их полезности, пришел к выводу, что скользящие средние могут быть использованы для фильтрации любых данных, а не только ценовых.
………………………..
Существует огромное разнообразие адаптивных скользящих средних и других сложных методов сглаживания, разработанных в целях минимизации запаздывания. … Все скользящие средние, от простых до сложных, сглаживают временные ряды с использованием некоторого усредняющего процесса. Отличия состоят в том, какой удельный вес присваивается каждой из точек данных и насколько хорошо адаптируется формула к изменению условий — простое скользящее среднее, экспоненциальное скользящее среднее, треугольное скользящее среднее с передним
взвешиванием и др. …
Модель с входом, основанным на скользящем среднем, генерирует сигналы входа на основе простых соотношений между скользящим средним и ценой или между двумя скользящими средними. Существуют модели и следующие за трендом, и идущие против тренда. Наиболее популярные модели следуют за трендом и отстают от рынка. С другой стороны, модели, идущие против тренда, предсказывают развороты и по крайней мере совпадают с событиями на рынке. Это не означает, что следующие за рынком модели работают хуже противотрендовых; надежные входы в тренд, пусть даже и с запаздыванием, лучше и, в общем, выгоднее, чем попытки предсказывать развороты, которые только изредка происходят в ожидаемый момент. Поскольку мы вынуждены использовать стандартные выходы и поскольку в реальной торговле любой серьезный трейдер будет использовать защитные остановки и управление капиталом, мы не будем тестировать простые модели скользящих средних, постоянно присутствующие на рынке. Впрочем, при использовании быстрых скользящих средних сигналы разворота позиции возникают раньше, чем стандартный выход закрывает сделки.
…
ЧТО МЫ УЗНАЛИ?
…
Будьте готовы к неожиданностям. Мы полагали, что для моделей, основанных на наклонах, адаптивное скользящее среднее, имеющее более быстрый отклик, будет обеспечивать лучшие результаты. На самом деле система с адаптивным средним оказалась одной из худших.
• Даже несмотря на то, что традиционные индикаторы, используемые стандартным образом, обычно приводят к неудаче (например, такие старые системы, как пробои волатильности), классические концепции поддержки/сопротивления могут быть весьма выгодными. Пробои уровней поддержки/сопротивления проявляют себя лучше, чем, например, пробои волатильности. Аналогично, модели скользящего среднего, использующие концепцию поддержки/сопротивления, работают лучше прочих. Реализация метода поддержки/сопротивления была рудиментарной, тем не менее в самых удачных сочетаниях она дает одни из лучших результатов. … Основной задачей здесь можно назвать поиск автоматизированного «механического» метода поиска текущих уровней поддержки/сопротивления.
…………………………….
Входы на основе осцилляторов
Осцилляторы популярны у трейдеров, использующих технические системы, в течение многих лет. Статьи, посвященные осцилляторам, неред-
ко появляются в таких журналах, как Technical Analysis of Stocks and Commodities и Futures. Описанию осцилляторов посвящено множество книг по техническому анализу.
Наиболее широко применяются в классическом виде и различных вариантах осциллятор Аппеля (1990) — осциллятор схождения-расхождения скользящих средних (так называемый MACD) и гистограмма MACD (MACD-H). Кроме того, популярны стохастический осциллятор Лэйна и индекс относительной силы Вильямса (RSI). В литературе упоминается множество их вариантов. Также следует упомянуть индекс товарных каналов Ламберта (CCI), индекс случайного блуждания, который тоже можно считать осциллятором, и осциллятор Геда на основе регрессионных каналов (1997).
…………………………….
Осциллятор — это индикатор, обычно основанный на ценах и имеющий тенденцию колебаться или «осциллировать» в некоторых фиксированных
или достаточно жестко ограниченных пределах. Осцилляторы характеризуются нормализацией диапазона и удалением долговременных трендов уровня цен — информация извлекается осцилляторами из таких эфемерных показателей, как импульс и перенапряжение. Импульс — это состояние, когда цены мощно ‘двигаются в данном направлении. Перенапряжение — это состояние избыточно высоких или низких цен («перекупленность» и «перепроданность»), когда цены готовы резко вернуться на более разумный уровень.
…………………………….
Существуют различные способы применения осцилляторов для получения торговых сигналов. В этой главе будут рассмотрены три из них.
Один метод состоит в том, чтобы использовать осциллятор как индикатор перекупленности/перепроданности. Покупка происходит, если значение осциллятора опускается ниже некоторого порога в зону перепроданности и затем возвращается обратно. Продажа происходит, если осциллятор поднимается выше порога перекупленности и затем опускается обратно. Существуют традиционные пороги, используемые с разными осцилляторами. …
Еще один известный метод — поиск расхождений осциллятора и цены, описанный МакХортером (McWhorter, 1994). Расхождение получается тогда, когда цены образуют новый минимум (ниже предыдущих минимумов) , а осциллятор — более высокий минимум (выше предыдущих минимумов). Такое расхождение дает сигнал к покупке, В противоположной ситуации, когда цены образуют новый максимум, а осциллятору не удается достичь предыдущего максимума, что является признаком потери ценового импульса, генерируется сигнал к продаже.
В условиях сильного тренда многие из ожидаемых разворотов никогда не происходят, и система входит в рынок в неверном направлении. Таким образом, за счет точности теряется надежность. Что важнее — поздний, но надежный вход или ранний, но менее надежный — вопрос отдельного эмпирического исследования. В принципе эта проблема возникает при использовании любого прогностического метода — чем больше задержка, тем точнее (и бесполезнее) прогноз и, чем больше опережение, тем он полезнее (и ошибочнее). Эта логика напоминает принцип неопределенности Гейзенберга. …
Наилучшие результаты в обеих выборках данных получены для модели на расхождении цены и MACD. Вход по лимитному приказу дает наилучшие результаты, как в пределах, так и вне пределов выборки: доходность в процентах годовых — 12,5% и средняя прибыль в сделке — $1250
в пределах выборки. Данные показатели вне пределов выборки равны 19,5% и $985 соответственно. Такие показатели кардинально отличаются
от прочих моделей. Наихудшей (при усреднении результатов по видам приказов) оказывается модель на основе перекупленности/перепроданности RSI, особенно по показателю среднего убытка в сделке. Также среди худших были модели расхождения цены и стохастического осциллятора, перекупленности/перепроданности на основе стохастического осциллятора и расхождения цены и RSI.
……………………………
Как и лунные циклы, или сезонные явления, входы на основе солнечной активности основываются на предположении, что поведение рынка находится под влиянием неких внешних факторов и что независимая внешняя переменная имеет предсказательную ценность. Система, построенная на таком принципе, предсказывает поведение рынка, а не реагирует на него. Как и в случае любого предсказания, его точность может быть различной. Сделки, заключенные на основе неверных предсказаний, могут быть разрушительными, даже если многие сделки, основанные на удачных предсказаниях, принесли прибыль. Данные системы прогностичны по своей природе, и это их свойство позволяет вести торговлю против тренда, что обеспечивает лучшее выполнение приказов, меньшее проскальзывание и лучший контроль над риском, если использовать оптимальные защитные остановки (здесь это не использовано ввиду необходимости придерживаться стандартных выходов).
…………………………………..
Входы на основе циклов
Цикл— это ритмическое колебание, имеющее определимую частоту (0,1 цикла в день, например) или же, по-другому, периодичность (10 дней на цикл, например). В предыдущих двух главах рассматривались циклические по природе явления. Эти процессы имели внешнюю по отношению к рынку природу и известную, если не фиксированную периодичность. Сезонные явления, например, вызваны сменой времен года, и, следовательно, привязаны к внешней действующей силе. Таким образом, все сезонные явления цикличны, но не все цикличные явления сезонны.
В этой главе будут рассматриваться циклы, существующие исключительно в ценовых данных и не обязательно имеющие какие-либо внешние причины. Некоторые из таких циклов могут объясняться еще неизвестными влияниями, другие могут происходить из резонансных колебаний рынков. Какова бы ни была причина, при рассмотрении практически любого графика можно обнаружить циклические явления. В старину трейдеры использовали для поиска регулярных максимумов и минимумов инструмент в форме гребня, который прикладывали к графику. Сейчас применяются компьютерные программы, позволяющие легко наблюдать и анализировать циклы.
В отношении механического обнаружения и анализа циклов наиболее используемой техникой является спектральный анализ на основе метода максимальной энтропии (MESA). … В настоящее время предлагается не меньше трех крупных программных пакетов для трейдеров с возможностью применения метода максимальной энтропии для анализа рыночных циклов. Это Cycle Trader от Bresset, MESA от Ehlers (800-633-6372) и TradeCycles (Scientific Consultant Services, 516-696-3333 и Ruggiero Associates, 800-211-9785)
… (В.К. :похоже, это так или иначе может быть сведено к преобразованиям Фурье )
…………………………….
Результаты этого исследования удручают, тем более что теоретическая основа фильтров стала изящнее. Возможно, при использовании для анализа циклов других методов, например метода максимальной энтропии, результат был бы лучше, а возможно, и нет. Подобные же разочарования постигали и других трейдеров, пытавшихся использовать различные идеи для циклической торговли с простым принципом продажи по максимуму и покупки по минимуму. Возможно, циклы слишком уж очевидны и обнаружимы практически любым способом, что приводит к эксплуатации цикла всеми участниками рынка. В последнее время, с распространением программ для анализа циклов, это кажется наиболее вероятным. Мы считаем, что не стоит отказываться от концепции циклической торговли, но использовать обнаруженные циклы более сложными способами можно в сочетании с другими критериями входов, например можно открывать позицию только при совпадении циклического максимума с сезонной точкой разворота.
…………………………………..
ЧТО МЫ УЗНАЛИ?
• Теоретически солидные, изящные и привлекательные модели не обязательно хорошо работают на реальном рынке.
…
Если модель работает, то работает очень выгодно. Как было сказано ранее при исследовании поведения S&P 500 и других рынков, можно легко и быстро обнаружить последовательности сигналов, точно предсказывающих максимумы и минимумы.
• Следовательно, необходимы специализированные выходы, рассчитанные на систему, которая при срабатывании весьма точна, но в случае ошибки приводит к большим убыткам. Видимо, рынок со временем стал «менее уязвим» в отношении циклических моделей, как это было с моделями, основанными на пробоях. Очевидные, явные циклы исчезают раньше, чем большинство трейдеров успевает получить в них прибыль. Следовательно, все, что слишком гладко и привлекательно в теории, вряд ли приведет к успеху в реальной торговле.
……………………………
ЧТО ТАКОЕ НЕЙРОННЫЕ СЕТИ?
Нейронные сети представляют собой, в сущности, некие блоки со способностью к самообучению и распознаванию образов, классификации и прогнозированию. Они особо привлекательны для трейдеров, поскольку сети могут справляться и с оценками вероятности в неоднозначных ситуациях, и с моделями нечеткой логики, т.е. с моделями, легко определимыми на вид, но с трудом поддающимися алгоритмизации в виде точных правил. Потенциально, нейронные сети могут обнаруживать любые присутствующие в исходных данных повторяющиеся модели.
………………………
Нейронные сети были наиболее популярны в конце 80 — начале 90-х годов, после чего медовый месяц завершился. Что же произошло? В общем, наступило разочарование среди трейдеров, надеявшихся, что новые технологии чудесным образом обеспечат им превосходство с минимальными затратами усилий. Разработчики использовали для обучения недостаточно подготовленные исходные данные, надеясь на открытия, которые должна была сделать сама сеть. Это был наивный подход. Успех на рынке никогда не бывает таким простым и доступным для всех. Этот подход был не только неэффективен в отношении разработки сетей, но и привел к тому, что сети широко распространились. В результате любая попытка систем уловить выгодные движения рынка сводилась к нулю ввиду изменившейся природы рынка, который быстро адаптировался к новым методам торговли. Во всем обвинили саму технологию и отбросили ее, не задумавшись о неправильном подходе к ее применению. Для получения успешных результатов был необходим более осмысленный и изощренный подход.
……………………………..
Генетические алгоритмы
Основываясь на моделях, используемых в биологии и экономике, математик и психолог Джон Холланд (John Holland) разработал алгоритм генетической оптимизации. Алгоритм впервые был опубликован в книге Холланда «Адаптация в естественных и искусственных системах» (J. Holland, Adaptation in Natural and Artificial Systems, 1975). Генетические алгоритмы (ГА) впервые стали применяться в компьютерных дисциплинах в начале 1990-х годов (Yuret and de la Maza, 1994). Торговое сообщество впервые обратило на них внимание около 1993г., когда появилось несколько статей (Burke, 1993; Katz and McCormick, 1994; Oliver, 1994) и компьютерных программ. С тех пор несколько фирм добавили генетическое обучение в свои программные пакеты, а у некоторых есть даже программы генетической оптимизации профессионального уровня.
В торговом обществе ГА никогда не пользовались таким успехом, как нейронные сети. Популярность этой технологии никогда не росла из-за самой ее природы. Среднему человеку трудно понять генетический алгоритм и более чем сложно применять его правильно. Однако, по нашему мнению, ГА могут быть крайне выгодны для проектировщиков торговых систем.
В данной книге представлен общий обзор ГА и их применения в торговле. Читателям, заинтересованным в детальном изучении этого предмета, следует прочитать книгу Девиса (Davis, 1991), а также нашу главу в книге «Virtual Trading» (Katz, McCormick, 1995a, 1995b) и наши статьи (Katz, McCormick, июль/август 1994, декабрь 1996, январь 1997, февраль 1997).
…………………………..
Генетический алгоритм решает проблему, используя процесс, подобный биологическому развитию. Он работает как рекомбинация и мутация генетических последовательностей. Рекомбинация и мутация — генетические операторы, т.е. они управляют генами. Ген — это последовательность кодов (генотипов), которая содержит всю информацию, необходимую для того, чтобы создать функциональный организм с определенными характеристиками (генотипом). Хромосома — последовательность генов. В случае генетической оптимизации, используемой для решения задач, связанных с торговлей, последовательность кодов обычно принимает форму ряда чисел.
При моделировании эволюционного процесса ГА участвует в отборе и сопряжении членов из популяции (хромосом). Сопряжение — это процесс, содержащий скрещивание и мутацию.
При скрещивании элементы, которые включают гены различных хромосом (члены популяции или решения), комбинируются, чтобы создавать новые хромосомы. Мутацией называют возникновение случайных изменений в этих элементах. Это обеспечивает дополнительное изменение в наборах создаваемых хромосом. Как и в процессе биологического отбора (где менее пригодные члены популяции ставляют меньше потомства), менее пригодные решения удаляются. При этом более пригодные решения размножаются, создавая другое поколение решений, которое может содержать несколько лучшие решения, чем предыдущие. Процесс рекомбинации, случайной мутации и отбора является чрезвычайно мощным механизмом решения задач.
……………………………
Шаблоны правил
Первый шаблон правила (case l в функции Rules) определяет сравнение между двумя ценами и порогом: правило принимает значение ИСТИНА (TRUE), если цена закрытия 1b1 дней назад больше, чем некоторый пороговый фактор (thr) плюс цена закрытия 1b2 дней назад. В остальных случаях правило принимает значение ЛОЖЬ (FALSE). Неизвестные (1b1, 1b2 и thr) оставлены пустыми для будущего использования при реализации программы. Этот шаблон был включен, потому что тот вид правил, которые он представляет, был полезен в предыдущих исследованиях.
Второй шаблон правила (case 2) включает простые скользящие средние, которые часто используются для определения тренда. Обычно считается, что рынок будет двигаться вверх, если цена выше ее скользящего среднего, и опускаться вниз, если цена ниже ее скользящего среднего. В шаблоне присутствуют только два неизвестных: первый (per) контролирует число дней в скользящем среднем и второй (v4) контролирует направление сравнения (выше или ниже).
Третий шаблон правила (case 3) идентичен второму (case 2), за исключением того, что вместо простого скользящего среднего используется экспоненциальное .
…………………………
РЕЗУЛЬТАТЫ ТЕСТОВ
Были выполнены шесть тестов. Эволюционный процесс использовался для поиска оптимальных правил входа в длинные и короткие позиции с каждым из трех приказов для входа: по цене открытия, стоп-приказу и лимитному приказу. Во всех случаях было создано 2500 поколений генетической обработки. Задача вычисления всех решений и сохранения их в файлы потребовала всего несколько часов на быстром Pentium, что демонстрирует практическую пригодность этого метода. Для каждого теста генетический процесс произвел табличный файл (GFiles от 1 до 6), состоящий из строк, соответствующих каждому из поколений. Таким образом, каждая строка представляет определенное решение. Большинство ранних решений были мало пригодными для торговли, но качество решений улучшалось с появлением новых поколений, что характерно для ГА. Каждая строка содержит информацию относительно эффективности отдельного решения — набора параметров, который представляет ген, содержащийся в полной хромосоме.
ЧТО МЫ УЗНАЛИ?
Генетические алгоритмы представляются эффективным средством обнаружения нестандартных торговых систем, которые практически невозможно разработать общепринятыми методами.
При правильном использовании ГА избыточная оптимизация (подгонка под исторические данные) не является серьезной проблемой, несмотря на оптимизационную мощь генетических алгоритмов.
Ограничения количества и сложности правил в любом решении представляются ключевым элементом в контроле над демоном подгонки под исторические данные.
• Генетическая эволюция правил имеет большое преимущество,связанное с тем, что полученные правила могут быть переведены на простой язык и понятны. В отличие от нейросетевых систем торговые правила, созданные с помощью ГА, не скрыты в непостижимом черном ящике.
Использование генетики описанным выше способом помогает создать большое количество отдельных прибыльных решений, которые затем можно объединить в портфеле, торгующем несколькими моделями.
…………………………..
ВАЖНОСТЬ СТРАТЕГИИ ВЫХОДА
Существуют две цели, которые пытается достичь хорошая стратегия выхода. Первая и наиболее важная цель состоит в строгом контроле убытков.
Стратегия выхода должна диктовать, как и когда закрывать неудачную позицию, чтобы предотвратить существенную эрозию торгового капитала.
Эту цель часто называют управлением капиталом и реализуют с помощью защитных остановок (защитные остановки управления капиталом). Вторая цель хорошей стратегии выхода состоит в том, чтобы находиться в прибыльной позиции до ее полной зрелости. Стратегия выхода должна не только определять оптимальные моменты для фиксации убытков, но и помогать при выходе с прибылью. Вообще не желательно выходить из сделки
преждевременно, извлекая только маленькую прибыль из рынка. Если торговля идет благоприятно, необходимо находиться в сделке как можно долго и извлекать из нее максимальную прибыль. Это особенно важно, если система не позволяет многократные входы в продолжительные тренды.
Существует огромное множество видов выхода. В стандартной стратегии выхода были использованы только три вида выхода в простой неизменной
манере. Фиксированный выход управления капиталом осуществлялся с помощью стоп-приказа: если рынок сместился против открытой позиции более чем на определенную величину, то позиция закрывается с ограниченным убытком. Выход при достижении целевой прибыли осуществлялся с помощью лимитного приказа: при смещении цены на указанную величину в благоприятном направлении производится выход с известной прибылью. И наконец, если позиция удерживалась в течение указанного количества дней, она закрывалась с помощью рыночного приказа.
Выходы управления капиталом
Каждая стратегия выхода должна содержать выход управления капиталом. Выход управления капиталом осуществляется с использованием стоп-приказа. Поэтому он часто называется защитной остановкой. Такая защитная остановка закрывает позицию после неблагоприятного движения
рынка (движение против сделки) или по указанной цене ниже (в случае длинной позиции), или выше (в случае короткой позиции) цены входа в сделку. Защитная остановка обыкновенно остается на одном месте в течение всего времени удержания позиции. Ее цель состоит в ограничении риска некоторой максимально допустимой величиной. Конечно, потенциальный риск может быть больше, чем ожидаемый. К примеру, рынок может испытать большой разрыв между ценой закрытия вечером и ценой открытия на следующее утро. Торговля без защитной остановки подобна полету в шатком старом самолете без парашюта.
Вопрос заключается не в том, нужны ли защитные остановки — разумеется, они просто необходимы. Основная задача состоит в нахождении оптимального положения защитной остановки. На волатильных рынках и в волатильные периоды следует оставлять больше пространства для движения, т.е. избегать слишком близких к рынку защитных остановок, чтобы не закрыть потенциально прибыльные позиции с убытками.
Следящий выход обычно осуществляется с помощью так называемой следящей остановки. Цель этого вида выхода состоит в том, чтобы при движении рынка в неблагоприятном направлении зафиксировать часть прибыли или обеспечивать защиту, которая является более плотной, чем первоначальная защитная остановка.
Если торговля ведется достаточно активно и комиссионные поддерживаются на должном уровне, брокер не должен нервничать при нескольких корректировках стоп-приказов. Напротив, разумный брокер будет доволен, понимая, что клиент, правильно и эффективно использующий выходы управления капиталом и следящие остановки, с большой вероятностью выживет как активный, создающий комиссию трейдер.
Выход при достижении целевой прибыли обычно осуществляется с помощью лимитного приказа, закрывающего позицию, если рынок переместился на указанную величину в благоприятном для сделки направлении.
Лимитный приказ, осуществляющий выход при достижении целевой прибыли, может либо быть фиксированным, подобно защитной остановке для
управления капиталом, либо перемещаться вслед за ценой, как следящая защитная остановка. Фиксированная целевая прибыль может быть основана либо на волатильности, либо на простой долларовой сумме.
Выходы, основанные на времени, включают выход по рыночному приказу после того, как с момента открытия позиции пройдет определенное время. Если рынок за указанное время значительно не сдвинулся, чтобы сработал выход по целевой прибыли или другой вид выхода, то сделка, вероятно, бесперспективна и напрасно отвлекает ресурсы.
Выходы, основанные на волатильности, связаны с распознаванием того, что уровень фактического или потенциального риска возрастает из-за
быстрого повышения рыночной волатильности. При таких обстоятельствах желательно закрыть позиции и ограничить риск.
Барьерный выход включается, когда рынок соприкасается или пересекает некоторый барьер, такой как уровень поддержки или сопротивления,
линии тренда или уровень коррекции Фибоначчи. Барьерные выходы — лучшие выходы: они представляют теоретические барьеры, за пределами которых интерпретация рыночного действия должна быть пересмотрена, и часто позволяют устанавливать очень близкие защитные остановки, поразительно сокращая убытки неудачных сделок. Фокус в том, чтобы найти хороший барьер в подходящем месте.
Сигнальные выходы происходят, когда система дает сигнал, противоречащий текущей позиции, и позиция закрывается по этой причине. Система, генерирующая сигнал выхода, может и не совпадать с системой, генерирующей сигналы входа. Фактически, система выхода не должна быть столь же надежна, как используемая для входа в сделки! Входы должны быть консервативны. Должны быть отобраны только лучшие возможности, даже если это означает потерю многих потенциальных точек входа. С другой стороны, выходы могут быть либеральны. Важно не упустить любых разворотов трендов, допуская некоторое количество ложных сигналов.
Пропущенный вход — только одна упущенная возможность из многих. Пропущенный выход, однако, может легко привести к уменьшению счета! Выходы, основанные на распознавании моделей, пересечении скользящих средних и расхождениях — сигнальные выходы.
———————————-
ПРИНЦИПИАЛЬНЫЕ МОМЕНТЫ ПРИ ВЫХОДЕ ИЗ РЫНКА
При попытке выйти из рынка возникает множество проблем, которые необходимо принять во внимание. Например, защитные остановки могут заканчиваться плохим исполнением и существенными транзакционными издержками из-за таких факторов, как «охота» и проскальзывание.
Лимитные приказы могут быть просто не выполнены.
Существуют также компромиссы, которые стоит рассмотреть; например тесные защитные остановки могут сдержать убытки, но в то же время погубить потенциально прибыльные сделки и увеличить количество убыточных сделок. Далекие от рыночных цен защитные остановки позволяют развиваться прибыльным сделкам, но приводят к большим убыткам в случае неудачных сделок.
«Охота» на стоп-приказы (ВК: со стороны влиятельных биржевых трейдеров-(брокеров?))
Биржевые трейдеры могут преднамеренно вынуждать рынок достигать областей скопления стоп-приказов для их исполнения. Когда стоп-приказы устранены таким образом, разместивший их трейдер обычно получает убыток.
Как этого можно избежать? Разместите у брокера «катастрофическую защитную остановку», т.е. далекую остановку, призванную спасти вас в случае биржевого краха или отсутствия связи с вашим брокером. Катастрофическая остановка размещается достаточно далеко от рынка, для того чтобы быть вне досягаемости «озорства» профессиональных трейдеров. Никто не будет рад срабатыванию этой защитной остановки, но по крайней мере она не позволит вам потерять все деньги при возникновении экстремальной ситуации. Близкая защитная остановка будет «размещена» только у вас, в торговой системе на вашем компьютере: когда эта остановка будет достигнута, компьютер покажет сообщение и издаст звуковые сигналы. Услышав их, вы сможете немедленно позвонить брокеру и выйти из сделки.
При таком подходе можно благополучно и без риска использовать тесные защитные остановки, которые не будут предметом «охоты».
(ВК: непонятно — как разместить установку «у брокера», в отличие от установки «только на локальном компьютере»? Похоже, торговый терминал должен позволять устанавливать защиту, невидимую брокером (брокерами)? )
Проскальзывание
Проскальзывание — это количество рыночного движения с момента размещения торгового приказа (в случае стопа — с момента его срабатывания) до момента его исполнения. Эту величину легко выразить в долларах. В случае стоп-приказов скорость движения рынка против сделки влияет на величину суммы, потерянной благодаря проскальзыванию. Чем быстрее движется рынок в момент срабатывания стоп-приказа, тем больше будет убыток, связанный с проскальзыванием.
Торговля по методу противоположного мнения
Если возможно, выходите из длинных позиций, когда большинство трейдеров покупает, и закрывайте короткие позиции, когда все стремятся продать. Такое поведение будет облегчать быстрое закрытие сделки по превосходной цене, причем проскальзывание будет благоприятным для вашей позиции. Выходы по целевой прибыли обычно осуществляются в подобных ситуациях. Некоторые выходы, основанные на волатильности, также работают по этому принципу. Например, продажа при пробое максимума — это продажа в яростно покупающий рынок! Поговорка «покупайте на слухах, продавайте на новостях» также рекомендует преимущества продажи, когда большинство трейдеров покупает. Конечно, не все выходы в стратегии могут использовать торговые преимущества метода противоположного мнения. …
Полная стратегия выхода координирует одновременное использование разнообразных типов выхода для достижения задач эффективного управления капиталом и фиксации прибыли. Каждый трейдер должен использовать некоторые виды «катастрофических» и защитных остановок управления капиталом. Также желательно использовать следящие остановки для защиты текущей прибыли, когда рынок двигается в благоприятном направлении для сделки. Выход, основанный на волатильности, полезен для закрытия позиций прежде, чем будет задействована защитная остановка — выход из рынка, все еще двигающегося в благоприятном направлении или по крайней мере не против сделки, что означает быстрый выход с меньшим проскальзыванием.
Генерация случайных входов — для тестирования стратегии выхода.
ЧТО ТАКОЕ СТАНДАРТНАЯ СТРАТЕГИЯ ВЫХОДА?
Хотя стандартная стратегия выхода является простейшей и минимальной, она включает элементы, которые являются обязательными для любой стратегии выхода: фиксацию прибыли, контроль риска и ограничение времени нахождения в рынке. Аспект фиксации прибыли в ССВ реализован посредством лимитного приказа для прибыльных позиций, который закрывает сделку, когда она становится достаточно прибыльной. Аспект контроля над риском в ССВ выполняется посредством простой защитной остановки, которая закрывает убыточную позицию с ограниченным убытком. Ограничение времени в рынке достигнуто рыночным приказом, генерируемым после прохождения некоторого количества времени. Он закрывает сделку, которая не достигла ни защитной остановки, ни целевой прибыли.
ЗАКЛЮЧЕНИЕ )ВК: по результатам тестирования стратегий выхода)
Результаты однозначно показывают, что многие из стратегий входа, испытанных в предыдущих главах, были ничем не лучше случайных входов, а порой и хуже. Кроме того, показано, что стандартная стратегия выхода далеко не оптимальна. Модифицированная стратегия, всего-навсего позволяющая выходить из рынка по внутридневным ценам (а не только по ценам закрытия), работала гораздо лучше и даже смогла обеспечить некоторую прибыль в длинных позициях. Стратегия МССВ остается минималистской, но, тем не менее, показывает, что именно хорошая стратегия выходов является ключом к успешной торговле.
Если данные этого и предыдущих исследований верны, то можно найти стратегию выходов, способную реально получать значительную прибыль на основе случайных входов, по крайней мере на некоторых рынках. Такая стратегия подтвердит сказанное многими великими трейдерами: опытный трейдер, умело управляющий капиталом, может получить прибыль даже с плохой системой, а новичок, не имеющий опыта управления капиталом, потеряет деньги даже при использовании великолепной системы. Под системой здесь имеется в виду модель входа. Во всех последующих тестах в этой книге будет использоваться модифицированная стратегия выхода вместо оригинальной ССВ.
ТЕСТИРОВАНИЕ ДИНАМИЧЕСКИХ ЗАЩИТНЫХ ОСТАНОВОК
В этой группе тестов мы заменим фиксированную защитную остановку МССВ на динамическую, предположительно более эффективную. Целью является фиксация основной части потенциальной прибыли, избегая при этом превращения потенциально выгодных сделок в убыточные, как это может иметь место в случае слишком близко расположенной фиксированной остановки.
Сочетание выходов с искусственным интеллектом
ЗАКЛЮЧЕНИЕ
Вышеприведенные тесты продемонстрировали ряд важных фактов. Во-первых, нейронные сети вне пределов выборки продемонстрировали меньшую устойчивость, чем генетически разработанные правила. Это, несомненно, связано с большим числом параметров в нейронной сети по сравнению с моделями на основе правил. Иными словами, нейронные сети страдали от избыточной подгонки под исторические данные. Кроме того, было показано, что добавление сложного сигнала выхода, будь то нейронная сеть или набор правил, полученных с помощью генетической эволюции, может значительно улучшить стратегию выходов. При использовании более устойчивых генетических правил полученные преимущества сохранились и при работе вне пределов выборки.
Нейронная сеть и шаблоны правил были изначально предназначены для работы в системах входов и проявили себя достаточно хорошо при генерации редких сигналов входа. В стратегии выходов были бы предпочтительны правила, генерирующие сигналы значительно чаще. Существует обоснованное мнение, что набор шаблонов правил, специально предназначенный для разработки сигналов выхода, был бы гораздо более эффективен. То же самое относится и к нейронным сетям.
ЧТО МЫ УЗНАЛИ?
Избыточная подгонка под исторические данные вредна не только при создании входов, но также и выходов.
Сложные технологии, включая генетические алгоритмы, могут быть эффективно использованы для улучшения стратегий выхода.
Даже грубые попытки улучшения выходов, подобные приведенным здесь, могут улучшить среднюю прибыль в сделке на сотни долларов.
Очевидно, что путем определения устойчиво прибыльных (в пределах и вне пределов выборки) сочетаний моделей, приказов и рынков можно создать хорошую стратегию торговли портфелем.
СВЕТЛЫЕ ТОЧКИ
Проводилось исследование эффективности торговли целым портфелем для каждого из трех видов приказов на вход (вход по цене открытия, по лимитному и стоп-приказу). Эффективность в пределах и вне пределов выборки оценивалась по отдельности.
Наилучшая эффективность вне пределов выборки была показана генетическими моделями в длинных позициях. Вход по цене открытия был особенно прибылен (прибыль в процентах годовых — 64,2% в пределах и 41,0% вне пределов выборки). Эта модель была прибыльна также при входе по лимитному приказу и по стоп-приказу, принося высокие средние прибыли в сделке. Однако данная модель генерировала сделки очень редко (что можно исправить более сложными версиями подобных моделей).
В порядке убывания эффективности вне пределов выборки следующей была комбинация модели пересечения сезонных средних с подтверждением при входе по стоп-приказу. Подобно длинным позициям генетической модели, она была прибыльна и в пределах, и вне пределов выборки: в пределах выборки средняя прибыль в сделке составила $846 при доходности 7,4%; вне пределов выборки средняя прибыль в сделке $1677 при доходности 9,5%. Другие сезонные модели также работали хорошо.
Вне пределов выборки простая сезонная модель на основе пересечения также была прибыльной.
Затем идет модель на основе точки разворота под управлением нейронной сети 16-10-1в коротких позициях. Эта модель давала прибыль везде и со всеми входами: вне пределов выборки при входе по цене открытия модель показала доходность 9,3% годовых, причем средняя сделка принесла $580 прибыли; в пределах выборки данные показатели составили 35,2% и $8448 соответственно.
Далее, модель на обращенном во времени Медленном %К также показывала прибыль, особенно со входом по стоп-приказу. Вне пределов выборки доходность составила 6,1%, а средняя прибыль в сделке $362. В пределах выборки эти показатели равнялись 22,5% и $6764 соответственно.
Обратите внимание на значительное ухудшение результатов при переходе к данным вне пределов выборки: хотя это свидетельствует о подгонке
под исторические данные, система осталась прибыльной и вне выборки, и, таким образом, она может использоваться в реальной торговле.
Еще одна модель, прибыльная на обеих выборках данных, — это модель расхождения MACD, особенно при входе по лимитному приказу. Вне выборки ее доходность составила 6,1% при средней прибыли в сделке, равной $985. В пределах выборки эти показатели составили 6,7% и $1250 соответственно.
И наконец, среди моделей, показавших прибыль как в пределах, так и вне пределов выборки, следует упомянуть модель поддержки/сопротивления на основе простых скользящих средних с входом по стоп-приказу: вне выборки ее годовая доходность составила 6,4% при средней прибыли в сделке $482. В пределах выборки эти показатели составили 5,8% и $227 соответственно.
Почти все оставшиеся модели приносили убытки вне выборки, а многие — даже в пределах выборки.
Единственным исключением была модель на основе пробоев волатильности, ограниченная валютными рынками, которая работала весьма хорошо (в пределах выборки — 12,4% в год, $3977 со сделки, вне пределов выборки — 8,5% и $2106 соответственно).
Когда для каждого рынка было найдено хорошее сочетание модели и входа, мы провели анализ эффективности рынков в пределах и вне пределов выборки. Был построен график изменения капитала, покрывающий оба периода (рис. С-1).
Мы были удивлены, обнаружив, что вне пределов выборки торговля портфелем систем и рынков принесла прибыль в размере 625% годовых!
Так как сочетания рынков и моделей подбирались по их статистической значимости в пределах выборки, то полученная доходность 544% годовых
в пределах выборки была в некоторой степени ожидаемой. Тем не менее вероятность получения такой прибыли в пределах выборки составляет
всего-навсего 1 из 3 000 000 000 000 000 000, т.е. 3 X1018. Даже если проводить объемную оптимизацию с десятками тысяч тестов, то результат будет все равно статистически чрезвычайно достоверен.
Вне пределов выборки вероятность случайно получить такое соотношение риска/прибыли или годовой доход равна 1 к 40 миллионам — здесь даже после коррекции на широчайшую оптимизацию статистическая достоверность результата будет чрезвычайно велика. На самом деле вне пределов выборки оптимизация не проводилась. В пределах выборки все системы оптимизировались на целом портфеле. Параметры моделей ни разу не подвергались коррекции для работы на выбранных специфических рынках, и использовалась только стандартная стратегия выходов. Использование лучших из стратегий выходов, описанных в части III, могло бы очень значительно улучшить эффективность в целом.
Таким образом, несмотря на то что большинство систем не работают и большинство тестов показывают убытки, достаточно обширный поиск может привести к созданию стратегии торговли портфелем, способной без всякого преувеличения дать звездные результаты.