Kaufman, Perry J. The New Commodity Trading Systems and Methods. NewYork: John Wiley & Sons, 1987.
Notis, Steven. User's Manual/or the Professional Breakout System. Nesconset, N.Y.: Byte Research and Trading, 1989.
Wilder, J. Welles, Jr. New Concepts in Technical Trading Systems. Greensboro, N.C.: Trend Research, 1978.
Глава 3
Тестирование системы
Основы
Зачем тестировать?
Нас часто спрашивают: "Зачем тестировать торговую систему? Ведь вы получите только гипотетические данные. Каким образом вы узнаете, как система будет работать в реальном времени?" Истинный ответ на последний вопрос состоит в том, что вы никогда не узнаете наверняка, будет ли ваша система работать в будущем, но существует только два способа выяснить, имеет ли она хоть какой-то потенциал. Первым способом является торговля по этой системе в реальном времени, а вторым - ее тестирование. Так как непомерная стоимость и длительное время тестирования новой торговой системы в реальном времени являются недопустимыми, то компьютерное тестирование дает простую возможность увидеть, как проект вашей системы работал бы на данных прошлого. Вы узнаете ее положительные и отрицательные черты и, если тестируете правильно, узнаете, чего можно ожидать при торговле в реальном времени.
Кроме того, вы добиваетесь двух вещей. Во-первых, для тестирования системы вы должны сделать ее механической, и единственным элементом, требующим вашего вмешательства, будет вопрос: "Войду я в следующие торги или нет?". Мы думаем, что механические торговые системы лучше всего подходят подавляющему большинству трейдеров. Во-вторых, вы выясните, обладает ли ваша система тем, что Ральф Вайнс в своей книге "Portfolio Management Formulas" (смотрите рекомендуемую литературу в конце этой главы) называл положительным ожиданием. Другие называют зто "преимуществом трейдера". Это может звучать упрощенно, но, если при тестировании ваша система не прибыльна, она не будет прибыльной в реальном времени. Если вы понадеетесь только на грамотное управление денежными средствами, может сложиться иллюзия, что посредственную торговую систему можно превратить в выигрышную путем различного управления торгами и наличностью. Это неправда. Никакие варианты управления денежными средствами не превратят проигрышную систему в выигрышную. Вы можете использовать любую стратегию азартных игр, и, если у вас нет положительного ожидания на продолжительном промежутке времени, то управление денежными средствами не повлияет на ваши результаты. Вы должны обладать преимуществом изначально. Единственным способом убедиться, что вы обладаете этим преимуществом, является тестирование вашей системы.
Не ожидайте получения исчерпывающих результатов, говорящих о том, что та или иная торговая система или исследование превосходит все прочие. Мы также надеемся, что вы не будете чрезмерно разочарованы, если, несмотря на следование всем правилам и корректное тестирование, не добьетесь успеха. Каждый из когда-либо проводившихся тестов обладает весом только в контексте своей внутренней структуры по отношению к данным, включенным в тест. Если мы тестируем торговую систему на 20 различных рынках с 1980 года по сегодняшний день, то результаты ничего не скажут о 1975 годе. Что еще более важно, они ограничены в том, что они могут сказать о будущем. Мы ничего не "доказали", и не следует ожидать, что докажем. Лучшее, что мы можем сделать, это быть точными и внимательными в нашем тестировании. Не существует простых ответов. В торговле фьючерсами нет ничего определенного.
Программное обеспечение
Компьютерное тестирование механических торговых систем витало в воздухе на протяжение 20 лет, но приобрело популярность только за последние несколько лет, когда были представлены пакеты программного обеспечения для ПК, которые сделали этот процесс возможным без обязательного наличия обширных навыков программирования. Практически любой сейчас может создать "прибыльную" торговую систему, демонстрирующую фантастические гипотетические результаты на исторических данных. Большинство торговых систем, продававшихся за большие деньги в последние 20 с чем-то лет, были созданы таким способом. К несчастью, как могут свидетельствовать тысячи разочарованных инвесторов, коммерческие системы - "черные ящики" редко, если вообще когда-то работают так, как от них ожидают. Насколько нам известно, то же можно сказать о подавляющем большинстве торговых систем, созданных с помощью тестирующего программного обеспечения. Причины этих очевидных неудач лежат не в тестирующем программном обеспечении, а в методах тестирования и оценки. Для нашего тестирования мы используем System Writer Plus и Computrac/SNAP. Оба продукта являются отличными программами, которые мы можем рекомендовать без колебания. Ни одна из них не демонстрирует погрешности или недостатка гибкости, которые могли бы вынудить исследователя применять неадекватные методы тестирования. Проблема, как мы подчеркивали, заключается в методах тестирования, а не в программном обеспечении.
Мы понимаем, что не у каждого есть программное обеспечение для тестирования. Оно дорогое и сложное, требует продолжительного ознакомления. Для создания жизнеспособной торговой системы не обязательно обладать такой программой. Элементы торговой системы будут схожими вне зависимости от того, есть ли у вас дорогостоящее программное обеспечение, или вы программируете самостоятельно. Можно даже тестировать торговую систему без привлечения дорогостоящего программного обеспечения, если просто сесть напротив компьютерного монитора и объективно торговать по вашей системе на прошлых данных. На самом деле, у такого подхода есть преимущества. Одно из них заключается в том, что без обширных возможностей оптимизации, свойственных программным пакетам, ваша система с меньшей вероятностью окажется чрезмерно подогнанной под кривую цен. Однако преимущества программных пакетов значительно перевешивают их недостатки. Мы настоятельно рекомендуем вам либо приобрести программное обеспечение для тестирования систем, либо написать собственное, если у вас есть необходимые навыки и твердое убеждение, что коммерческие системы не удовлетворяют вашим специфическим потребностям.
Элементы торговой системы
Возможно мы повторяемся, но все равно хотели бы перечислить атрибуты, которыми должна обладать торговая система, чтобы успешно тестироваться. Некоторые (или все) из этих элементов могут показаться очевидными, но мы в процессе издания нашего листка и написания этой книги за последние два года общались буквально с тысячами трейдеров и можем с некоторой степенью уверенности сказать, что многие люди не полностью понимают, что должна и чего не должна делать торговая система.
Первым необходимым качеством торговой системы для проведения серьезного тестирования должен быть ее абсолютный автоматизм. Единственным элементом, требующим вмешательства, должно быть решение торговать ли полностью по этой системе или нет. Все прочие решения должны быть встроены в систему. Мы понимаем, что многие, если не большинство спекулянтов в настоящее время торгуют по системам, которые по крайней мере отчасти требуют ручного вмешательства. Также мы знаем, что большая часть по-настоящему успешных трейдеров рассматривает личное вмешательство как необходимый компонент торговли. Мы не собираемся оспаривать такую позицию, но подобную систему совершенно невозможно тестировать, потому что она безнадежно субъективна. Элементам личного вмешательства трейдера нет места в механической торговой системе, которая подготавливается к тестированию.
Ожидайте худшего
Система, которую вы разрабатываете для тестирования, должна пытаться учесть все неожиданности. Мы очень часто слышим о трейдерах, оправдывающих отсутствие некоторых элементов в их любимых торговых системах. Типичный ответ таков:
"Со мной такого никогда не случалось, так зачем к этому готовиться? Зачем мне использовать остановки, если моя система всегда ловит пики и впадины, и еще не было убытка, который я не мог бы себе позволить?"
Это не просто наивно, но опасно. Всегда предполагайте: то, что может случиться, обязательно произойдет. Система должна всегда ожидать худшего и быть готовой с этим справиться. Вы должны всегда стремиться достигнуть полного контроля рисков. Не думайте, что, если это не случилось в прошлом, то не произойдет и в будущем.
Вот типичный пример. Многие трейдеры предпочитают использовать остановки только на закрытии, чтобы избежать потерь на дерганиях при остановках внутри-дневной торговли. Это может быть объяснено тем, что внутридневное ценовое движение непоследовательно, и только закрытия имеют значение. (На самом деле, остановки только на закрытии обычно применяются трейдерами, которые были остановлены на потенциально прибыльных торгах, и считающими, что такого больше не повторится.) Можете ли вы представить себе такого глупца, который был в длинной позиции на S&P 16 или 19 октября 1987 с остановками только на закрытии?! Одна только вероятность таких ситуаций должна убедить любого в том, что лучше иметь обычные остановки и стратегию повторного вхождения. Ожидайте наихудшего, тогда вы не будете застигнуты врасплох.
Опасности оптимизации
К сожалению, каким-то образом исказившейся целью многих тестирующих проектов становится разработка торговых стратегий, выжимающих максимум возможных доходов из исторических данных. Предположение состоит в том, что, чем лучше они работали в прошлом, тем лучше они будут функционировать в будущем. Если бы это было правдой, то каждый, кто разработал бы историческую модель, хорошо работавшую в прошлом (подразумевая практически каждого, кто когда-либо использовал программное обеспечение для тестирования систем), был бы к сегодняшнему дню очень богат. Очевидно, этого не произошло с большинством трейдеров.
Как правило, тестирование происходит следующим образом. Трейдер покупает самое современное программное обеспечение и необходимые данные. Он складывает вместе несколько любимых технических исследований или графических фигур, которые хорошо себя показали в прошлом, и гоняет компьютер час за часом в поисках точных значений для каждого параметра, которые давали бы наибольший доход. Под впечатлением фантастических результатов побеждает жадность, и он или она начинают сразу же торговать. Неизбежно трейдер попадает в полосу потерь и решает, что что-то не так с его торговыми методами. Наиболее очевидным выходом будет оптимизировать систему снова и избавиться от проигрышных компонентов. Трейдер оптимизирует заново, и с удовлетворением замечает, что изменения удалили большую часть проигрышных торгов. Снова уверенный, несмотря на предыдущие потери, он возобновляет торговлю только для того, чтобы получить новую неожиданную серию потерь. Многие трейдеры продолжают такие попытки до тех пор, пока не закончатся либо их деньги, либо терпение. Обычно подводят деньги, приводя их к убеждению, что они непременно добились бы успеха, если бы только могли себе позволить переоптимизировать систему и войти в торговлю еще разок. Другие трейдеры заключают, что ошибка кроется в использовании механических торговых систем, и они переключаются на субъективные торговые методы, которые никак нельзя протестировать. Потери, разумеется, продолжаются, но сейчас они являются просто результатом невезения, плохого исполнения приказов, срабатывания остановок, манипуляций инсайдеров или недостаточного внимания брокера.
Что действительно не так?
Полезно разобрать вышеуказанный процесс и посмотреть, в чем ошибка, и почему это произошло. Первым и наиболее очевидным моментом является сомнительная ценность оптимизации практически в любой форме. Любой индикатор или набор индикаторов покажут огромный доход, будучи оптимизированы для получения лучшей комбинации параметров, даже при использовании случайного набора данных. Компьютер анализирует миллионы комбинаций, поэтому существует очень большая вероятность, что некоторые из них, по крайней мере задним числом, будут делать деньги.
При столкновении с соблазном практически мгновенного обогащения, о чем свидетельствуют вдохновляющие результаты оптимизации, искушение немедленно начать торговлю становится непреодолимым. Вера в процесс оптимизации настолько сильна, что трейдеры будут оптимизировать снова и снова, хотя состояние их торговых счетов должно было бы подсказать им, что они делают что-то не так. Это произошло с нашим трейдером в предыдущем примере. Вы можете услышать, как трейдер говорит: "Только еще одна оптимизация, и я это сделаю." К сожалению, еще одна оптимизация никогда не решит проблемы.
Оптимизировать или не оптимизировать
Любому, кто верит, что полная оптимизация работает так же хорошо, как пропагандируется некоторыми поставщиками систем, не помешало бы прочитать "The Usefulness of Historical Data in System Parameters for Technical Trading Systems" Луиса Б. Лукаса и Б. Уэид Брорсена. Их работа систематичная и полная. Они тестировали системы следования за трендом, прорыв канала и систему направленного движения Уайлдера, используя 20-летние данные. Единственной переменной, подвергавшейся оптимизации, было количество дней, использовавшееся в каждом вычислении. Этот параметр проходил через временной период от 2 до 60 дней с шагом в 5 дней.
Они сравнивали три различные схемы оптимизации со случайным тестом, который использовал случайные значения параметра из набора от 5 до 60 дней. Наиболее значительным открытием было то, что стратегии повторной оптимизации ничего не давали в смысле производительности системы. Каждый из методов оптимизации давал результаты, незначительно отличающиеся от результатов случайного теста. С использованием оптимизации или без, доходы были в районе от 50 до 60 процентов для системы прорыва канала и от 30 до 54 процентов для системы направленного движения Уайлдера. Они сформулировали следующее: "Результаты всех тестов говорят, что предугадывающие возможности оптимизации ограничены. Оптимизация была не в состоянии прогнозировать набор параметров, который давал бы доход на портфеле лучший, чем стратегия случайного выбора."
Позвольте нам особо подчеркнуть, что это был строго формальный тест, проведенный с большим вниманием к деталям. Любой, кто утверждает, что полная оптимизация работает лучше, чем простое слепое моделирование, столкнется с прямо противоположными результатами, которые были только что продемонстрированы.
Как избежать подстраивания под кривую
Некоторое подстраивание под кривую неизбежно. Было бы сложно и нежелательно разрабатывать техническое исследование без этого. Когда трейдер сверлит глазами график и видит, что 9-дневный RSI, кажется, лучше подходит для этого конкретного рынка, чем стандартный 14-дневный, он подстраивается под кривую. Так как это кажется простым и эффективным, остается только один шаг до тестирования каждого параметра RSI. Как только этот процесс начинает давать прибыльные результаты, перестановки становятся практически бесконечными: "Нам лучше добавить еще несколько технических исследований, чтобы быть уверенными, что мы ничего не пропустили. Пока мы пользуемся этой системой, давайте оптимизируем ее для правильного начального риска и лучших следящих остановок, чтобы она стала максимально полной." Конечным продуктом является система, заключающая в себе все лучшие побуждения и подогнанная под кривую в n-ной степени. Несмотря на то, что она хорошо выглядит на бумаге, шансы против того, что она будет работать в будущем, становятся астрономическими. Результаты оптимизации оказываются прямо противоположными тем, которые казались бы очевидными. Чем лучше выглядит система и чем более полной и сложной является, тем с меньшей вероятностью она добьется успеха.
Существует строгое объяснение того, почему оптимизация и подстраивание под кривую дают плохие результаты. Откровенно говоря, это настолько простая концепция, что мы не можем понять, почему многие трейдеры не уделяют ей большее внимание. Каждому статистику известно понятие потери свободы. В терминах непрофессионала это значит, что каждый параметр, добавляющийся к торговой системе, представляет собой потерю степени контроля над конечной отдачей процедуры тестирования. Чем больше технических исследований или торговых правил вы вводите, тем менее здоровыми и надежными будут результаты. Чем больше вы стараетесь улучшить систему, тем с меньшей вероятностью она будет работать так же, как при тестировании.
Вам следует иметь от двух до пяти переменных. Чем меньше переменных, тем более надежны результаты. Интересное следствие такого подхода заключается в том, что он позволяет вам оглянуться на собственную проделанную работу и быстро понять, является ли она подгонкой под кривую. Вероятность того, что система окажется подогнанной под кривую, напрямую зависит от количества переменных, использовавшихся при тестировании. Чем большее количество технических исследований и правил (особенно исключений из правил), тем больше модель подогнана под кривую. Остерегайтесь систем, которые настолько сложны, что требуют компьютера для того, чтобы с ними работать.
Другой путь избежать подстраивания под кривую - отказ от создания систем, настроенных на специфические рынки. Это ловушка, в которую просто попасть, и это также основной принцип подстраивания под кривую. Хорошая система не обязана исторически работать на всех рынках, чтобы быть успешной, но она должна работать на большинстве рынков с небольшим количеством изменений от рынка к рынку. Если вы должны изменять систему с тем, чтобы адаптировать ее к каждому рынку, то есть серьезный изъян в основной системе. Нам хорошо знаком тот аргумент, что каждый рынок обладает своим уникальным характером, но мы также помним времена, когда валютные фьючерсы практически не были волатильными, и времена, когда они демонстрировали колебания стоимости контрактов на тысячи долларов в день. Рынки меняются, и лучшим способом добиться уверенности, что ваша система будет идти с ними в ногу, будет ее тестирование в неизменной форме на возможно большем количестве разнообразных рынков.
Прежде, чем мы оставим этот предмет, отметим еще одну более тонкую форму оптимизации. Мы говорим о практике прогонки исторических данных через компьютер для нахождения "сезонности". Существует горстка известных трейдеров/авторов, которые предоставляют данные тестирования, демонстрирующие, что, если бы вы покупали конкретный товар в конкретный день каждый год и продавали его в другой конкретный день, вы бы увеличили свой доход в х раз. Это просто нонсенс, который не имеет абсолютно никакого статистического смысла или применения в торговле. Если мы захотим, аналитические возможности компьютера позволят нам оптимизировать данные вместо системы. Данные рассматриваются очень маленькими сегментами для получения точных дат, которые лучше всего подходили бы системе. Вместо подгонки под кривую системы, мы можем подогнать под кривую данные. Конечно, существует множество очевидно логичных и иногда пригодных для использования долгосрочных сезонностей (например, ежегодные падения цен во время сбора урожая), но остерегайтесь доводить следование сезонностям до абсурда. Любая сезонная рекомендация по торговле, более специфичная, чем указание лучшего месяца для торговли, должна восприниматься с большим подозрением.
Выбор периода тестирования
Другой важной и часто недооцениваемой областью является выбор периода тестовых данных. По крайней мере, период тестирования должен быть достаточно продолжительным для проведения минимум 30 торгов на каждом рынке. Получение менее 30 торгов нарушает одно из основных правил теории выборок, которое гласит, что должно существовать по меньшей мере 30 точек данных для того, чтобы набор данных отвечал нормальному распределению. Отметьте, что это касается не дней, недель или месяцев данных, а происшедших торгов. Любое число менее 30 произведет статистически ненадежные результаты. Чем больше количество торгов, тем лучше.
Не менее важно, чтобы рыночные периоды, которые вы тестируете, включали в себя как можно больше примеров всевозможных рыночных условий. Направления вверх, вниз и вбок являются простейшими (хотя и субъективными) примерами возможных рыночных условий. Исследуемый вами период должен содержать как можно больше примеров. Нашей целью является моделирование возможных условий будущего путем включения максимального числа рыночных условий прошлого. Если тестовый период представлен только несколькими годами данных, это может повлечь за собой проблемы. Например, если рынок акций не имел периода серьезного падения цен, и соответственно на представленных данных по фьючерсам на фондовые индексы также не было серьезных падений, то тестирование на таких данных будет отдавать предпочтение системам с бычьим уклоном. За все время своего существования рынки фондовых индексов не дают данных достаточно, чтобы отвечать рыночным условиям будущего. Рынок нефти, с другой стороны, продемонстрировал нам разнообразие в значительно большей степени, и можно ожидать, что на его данных можно произвести более здоровую и устойчивую торговую систему. Давайте разъясним это иначе: результаты короткого периода тестирования на данных рынка сырой нефти могут дать более правдоподобные результаты, чем более продолжительный период тестирования на индексах акций, потому что данные фондовых индексов пока содержат очевидный восходящий уклон. Система, основанная на покупках на рынке фондовых индексов, вероятно, даст лучшие результаты по сравнению с системой только продаж. Однако, как однажды заметил Йоги Берра: "Будущее не повторяется".
Интересное следствие заключается в том, что система никогда не должна иметь уклон в одну из сторон рынка. Очевидно, за несколькими достопримечательными исключениями, большая часть доходов на фондовых индексах будет приходиться на длинную сторону рынка. Это не означает, что торговая система должна отдавать предпочтение этой стороне. Система не должна иметь собственного мнения или уклона в какую бы то ни было из сторон рынка. Если это кажется очевидным, вспомните, что в 70-х большая часть доходов на товарных рынках была получена на длинной стороне. Множество торговых систем, разработанных в этот период, стали по существу системами бычьего рынка. Простейшим способом улучшить ваши результаты на этом периоде было сократить или вообще избавиться от коротких позиций. Мы подозреваем, что этот бычий уклон был принципиальной причиной слабой производительности многих консультантов по товарным рынкам в начале 80-х.
Наше заключение: не существует строгого определения того, какое количество данных должен включать в себя тест. Если мы предположим, что средняя система следования за трендом торгует примерно раз в месяц на каждом рынке, то по меньшей мере три года должны браться в качестве минимального периода тестирования для того, чтобы первичный тест произвел по крайней мере 30 торгов. Затем добавьте два или более лет для опережающего тестирования (мы объясним это позднее) и вы получите пять лет, что и является обычно приемлемым минимумом. Добавьте еще времени, если рынок не был разноплановым (падающим, растущим, боковым) на изучаемом периоде. Вы должны включить в ваше исследование как можно больше разнообразных рыночных условий.
Мы предпочитаем использовать большое количество данных и тестировать на различных временных периодах. Пока вы не проделаете этого сами, вы никогда полностью не оцените, насколько иллюзорной может быть прибыльность торговой системы, и насколько результаты тестирования зависят от выбора временного интервала. Мы очень настороженно относимся к системам, которые не были протестированы на временных периодах, отвечающих репрезентативной выборке рыночных условий.
Отметьте, как в таблице 3-1 на результаты влияет изменение временных отрезков, особенно это относится к убыткам. Отдача реагирует сходным образом, что подводит нас к любопытной мысли. При проведении всех процедур оптимизации/тестирования мы сконцентрировали внимание на совокупной отдаче как на единственном
Рисунок 3.1.
Система прорыва 20-дневного канала, Сырая нефть
1/87-1/90
1/86-1/90
Совокупная отдача
16,225
19,690
% Выигрышей
Отношение среднего выигрыша к среднему проигрышу
4,96
3,31
Максимальный убыток
-3,090
-10,595
критерии выбора оптимальных параметров для использования в последующих тестах или в торговле в реальном времени. В нашем простом примере отдачи примерно соответствуют друг другу. Потери, однако, существенно различаются. Сколько трейдеров хотели бы наскочить на убыток в $10000 при торговле контрактом со средним запасом примерно в $2500?
Этот пример на рисунке 3-1 иллюстрирует одну из редко упоминаемых опасностей тестирования вообще, и оптимизации в частности. Когда вы тестируете для улучшения только одного результата (обычно совокупной отдачи), вы игнорируете другие не менее важные данные. Мы рекомендуем проводить тестирование для серии параметров, а не только для одного. Мы понимаем, что это усложняет процедуру и во многом делает ее субъективной, но тестирование только для улучшения совокупной отдачи часто уводит с правильного пути и может оказаться опасным для вашего финансового здоровья.
Выбор данных для тестирования
Насколько нам известно, не существует коммерческого тестового программного обеспечения, включающего возможность проводить торговлю от одного контрактного месяца до другого без того, чтобы вызвать разрыв в значениях любого технического исследования, которое оно в это время вычисляет. Разрыв делает неполноценным исследование и, следовательно, сам тест. Разумеется, теоретически возможно снабдить компьютер сериями контрактных месяцев по данному товару, протестировать каждый месяц по отдельности и затем объединить результаты, но мы не можем себе представить более утомительной и склонной к ошибкам процедуры.
Решение кроется в расположении ваших данных последовательно без разрывов, что позволит проводить непрерывное тестирование. Мы не будем углубляться в детали, как обеспечить гладкий переход от одного контракта к другому, но мы довольствуемся этим, при условии, что результаты получатся в разумной степени точными.
У нас есть данные из двух источников: FutureSource и Technical Tools. Наши данные Technical Tools поступили вместе с программным обеспечением для создания наших собственных продолжительных (или другого рода) контрактов. Если вы обладаете несколькими различными пакетами аналитического программного обеспечения, Quote Butler от Technical Tools является отличным способом перебрасывания данных из одного пакета в другой без необходимости покупать данные отдельно для каждого приложения. Мы давно не общались с другими поставщиками данных, но существует еще несколько надежных источников недорогих и достоверных данных.
Проскальзывания и комиссионные
Не доверяйте результатам тестирования, которые не включают некоторой свободы для проскальзываний и комиссионных. Эти составляющие очень существенно изменят ваши результаты. Множество торговых систем дают небольшой стабильный доход при тестировании без допуска на Проскальзывания и комиссионные и оказываются убыточными, когда включается стоимость трансакций. Это особенно верно для систем краткосрочной дневной торговли. Чем чаще торгует система, тем более важной становится стоимость трансакций.
Ярким примером являются недавние публикации в прессе. В статье описывался индикатор, который должен был откликаться на внутридневные повороты фьючерсов на фондовые индексы. Несмотря на то, что объем торгов был большим, не было сделано скидки на стоимость трансакции. Мы подсчитали, что при учете очень небольших комиссионных и только редких проскальзываний, система будет в лучшем случае безубыточной, а в худшем - постоянно убыточной.
У каждого есть свои любимые числа для стоимости трансакций. Мы отводим $75 на проскальзывания и $50 на комиссионные за оборот контракта, что в общей сложности составляет $ 125 на торговлю. Эти цифры могут показаться высокими, но мы предпочитаем ошибаться в худшую сторону. Когда мы тестируем части торговой системы, мы можем умышленно закрыть глаза на проскальзывания и комиссионные для упрощения операций, но мы обязательно убедимся, что они участвуют в итоговом тестировании.
Типы тестирования
Мы разъясним несколько наиболее общих схем оптимизации и тестирования.
Простая оптимизация
Она так же проста, как звучит. Вы создаете торговую систему, затем оптимизируете ее на полном объеме значений параметров до тех пор, пока не находите тот набор, который дает лучшую отдачу. С нашей точки зрения, это наименее продуктивный метод тестирования системы. Это подстраивание под кривую в своем худшем проявлении.
Совокупное опережающее тестирование
Это также называется "прогонной" оптимизацией. Совокупное опережающее тестирование требует, чтобы вы оптимизировали систему на периоде в начале ваших данных, а затем тестировали результаты на относительно небольшом последующем участке. Затем вы должны переоптимизировать на периоде, включающем оба набора данных, и повторить цикл. Например, если у вас есть 10-летние данные по казначейским обязательствам, вы могли бы оптимизировать на первых 3 годах, а затем тестировать на следующем за ними году. Если результаты все еще хороши, вы должны затем оптимизировать на всех четырех годах и тестировать на пятом году, и так далее. Это одна из форм оптимизации, которая была протестирована Лукасом и Брорсеном, и которую они нашли не лучшей, чем простая оптимизация (смотрите выше).
Простое опережающее тестирование
Этот способ называют также "слепым моделированием" или "тестированием за пределами выборки". Вы разрабатываете вашу систему на начальных данных (скажем, первые 5 лет 10-летнего набора данных) и затем тестируете без изменения то, что вы считаете вашей лучшей комбинацией параметров и правил на более свежем временном периоде. Если результат не устраивает - процесс повторяется. Оптимизируете вы или нет в первой фазе тестирования, это не так важно, как удерживание количества переменных на небольшом уровне. Самое важное, что любая торговая система, подвергаемая простому тестированию или оптимизации без опережающего тестирования, скорее всего будет обречена на провал.
Опережающее тестирование является наиболее элегантным тестированием системы. Если ваша система не доказала свою прибыльность на процедуре опережающего тестирования, выбросьте ее.
Измерение производительности
Очевидной целью торговой системы является прибыльность. Сколько денег делает ваша модель? Другим способом вычисления этого фактора является процент отдачи, который является годовой отдачей, основанной на количестве средств, требуемых для торгового счета. Процент отдачи следует искать на всем периоде тестирования, а затем разбить его на небольшие отрезки для изолирования негативных периодов. Помните, что процент отдачи - это просто функция от объема используемого капитала. Вы можете удвоить процент отдачи, если начнете торговать только с половиной капитала, но систему вы при этом не улучшите. Вы можете улучшить систему, начав торговать с большим капиталом, но процент отдачи соответственно уменьшится. Несерьезные и бессмысленные торговые соревнования выигрываются путем получения большой отдачи при небольших размерах начального капитала. Эти переоцениваемые торговые соревнования дают в результате нежизнеспособные или наигранные исторические записи, что становится очевидным, когда мы наблюдаем низкую производительность товарных паевых фондов, управляемых некоторыми известными победителями подобных соревнований.
Отношение Шарпа (The Sharpe Ratio)
Популярной мерой производительности, получаемой из процента отдачи, является отношение Шарпа, разработанное Уильямом Шарпом, и которое определяется как годовая отдача (мера прибыльности) за вычетом неподверженного риску отношения отдачи, поделенная на годовое стандартное отклонение от отдачи (мера волатильности). Некоторые удаляют неподверженное риску отношение отдачи, так что проверьте это прежде, чем сравнивать результаты. Чем выше отношение Шарпа, тем выше отдача и ниже волатильность. Как правило, консультанты по товарной торговле вычисляют отношение Шарпа на месячных данных. Мы понимаем, что отношение Шарпа имеет свои ограничения (например, увеличение волатильности в восходящем направлении даст понижение отношения Шарпа), но, тем не менее, это самый распространенный индекс такого рода. Может быть, вам будет полезно сравнить результаты одной системы с другой и сравнить ваши результаты с результатами профессиональных консультантов. Лучшей системой будет не та, что делает больше денег, а та, что дает более высокое отношение Шарпа.
Отношение Стерлинга (The Sterling Ratio)
Поскольку, отношение Шарпа имеет определенные недостатки, были разработаны другие статистические приемы для беспристрастной оценки производительности. Наиболее популярным из таковых является отношение убытка к размеру отдачи. Отношение Стерлинга было создано Дианом Джонсом из Jones Commodities. Формула следующая:
Основным недостатком отношения Стерлинга является то, что оно обычно вычисляется ежегодно и, следовательно, слишком медленно реагирует на изменения производительности.
Отношение Калмара (The Calmar Ratio)
Отношение Калмара, изобретенное Терри Янгом из СМА Reports, представляет собой размер отдачи за последние 36 месяцев, поделенный на максимальный убыток на том же периоде. Оно вычисляется ежемесячно, что делает его более чувствительным, чем отношение Стерлинга.
Среднее геометрическое
Наверное, самым математически точным измерением потенциала торговой системы является среднее геометрическое Ральфа Вайнса. Среднее геометрическое измеряет фактор роста вашей торговой системы. Чем выше среднее геометрическое, тем более вероятно, что ваша система будет давать большую отдачу при дополнительном инвестировании. Для любой системы со средним геометрическим более 1 вы можете увеличить отдачу на ваш счет до максимума путем вычисления оптимальной f, оптимальной фиксированной части вашего наибольшего проигрыша, для использования в качестве ставки на каждой торговле. У нас нет места для вывода геометрического среднего и оптимальной f, мы также не можем разъяснить все с той же элегантностью, что и Вайнс. Мы считаем, что его книга является одним из самых значительных достижений в области управления денежными средствами на фьючерсных рынках.
Заметьте, что ваша система может быть прибыльной на большинстве рынков и убыточной на нескольких из них. Один наш знакомый консультант по товарной торговле проводит операции на всех рынках, которые он тестировал (выигрышных и убыточных), и утверждает, что кривая изменения его счета становится глаже от этого разнообразия. Он умышленно ищет отрицательную корреляцию между товарами в портфеле и находит, что прибыльные периоды на его проигрышных рынках обычно совпадают с проигрышными периодами на его выигрышных рынках. Торговая система не будет прибыльной на всех рынках постоянно. Если вы ее правильно разработали, то убытки на проигрышных рынках будут минимальными, и, кроме того, эти рынки будут время от времени давать прибыльные периоды.
Будьте осторожны при тестировании большого количества рынков, а затем конструировании портфеля на одних только выигрышных контрактах. Это обычный прием поставщиков систем, когда результаты являются чистой фантазией, несмотря на то, что это может произвести впечатляющую запись о вашей исторической производительности. Это, очевидно, является еще одной формой подстраивания под кривую.
Тестирование для получения определенных результатов
Торговую систему необходимо разрабатывать с нуля, чтобы она достигла определенных значений критериев производительности. Вероятно, наиболее важными из возможных целей являются процент выигрышей и отношение среднего выигрыша к среднему проигрышу. Эти критерии могут быть использованы для вычисления вероятности провала (POR - probability of ruin), которая дает вам некоторое представление о надежности вашей системы. Большая часть программного обеспечения для тестирования дает и другие полезные данные. Ниже приведено их перечисление с комментариями.
Совокупный доход (Net Profit)
Совокупный доход является переоцененной мерой успеха по нескольким причинам. Во-первых, убедитесь, что несколько больших торгов не отклонили ваши результаты. Вы же не хотите использовать систему, успех которой зависит от неповторяющихся событий (типа угла Ханта на рынке серебра или падения фьючерсов на сахар на 63 цента).
Не надо думать, что в реальном времени ваша система будет воспроизводить что-либо подобное совокупному доходу из ваших тестов. Неправильно планировать будущие результаты на основе прошлых - мы знаем, что они не повторятся. Вы можете только убедиться, что ваша система готова справиться с большей частью предсказуемых рыночных условий будущего.
Количество торгов на тестовой выборке (Number of Trades in the Test Sample)
Общее количество должно превосходить 30 для уверенности в статистической значимости результатов. Даже если вы тестировали 25 лет данных и не получили по крайней мере 30 торгов, ваши результаты будут неубедительны. Мы однажды слушали лекцию о работоспособности индикатора рынка акций, который производил одну торговлю каждые 40 лет. Нам бы хотелось увидеть результаты тестирования за 1200 лет, чтобы этот метод произвел на нас впечатление. Чем больше у вас получилось торгов, тем лучше.
Наибольшая выигрышная и наибольшая проигрышная торговля (Largest Winning and Largest Losing Trade)
Наибольший выигрыш становится важным, если он отклонил совокупный доход на неразумную величину. Многие консервативные трейдеры выбросят наибольший выигрыш по каждому рынку и пересчитают результаты. Наибольший проигрыш бывает особенно важен, если он превосходит вашу меру нормального контроля рисков. Возможно, существует какая-то проблема или непредвиденные расходы, которые вы не заметили. Будьте осторожны с удалением наибольших проигрышей. Именно здесь большинство трейдеров спотыкаются о подстраивание под кривую. Не разрабатывайте специальные правила для обхождения больших потерь, просто пересмотрите ваши последовательности остановок. Контролирование наибольшего проигрыша может быть особенно важным, если вы торгуете на основе агрессивного реинвестирования, используя пирамиды в любой форме или более тонкие методы, такие как оптимальная f. Вы должны избежать сюрпризов, которые могут целиком обесценить вашу стратегию.
Максимальное количество последовательных выигрышей и проигрышей (Maximum Consecutive Winners and Losers)
Максимальное количество последовательных проигрышей может оказаться полезным. Это дает вам представление об эмоциональных переживаниях, которые вам предстоит выдержать в ходе торговли по вашей системе. Предсказание этого числа может предотвратить панику, когда такое событие действительно произойдет.
Убытки от пика к впадине (Peak-to-Valley Drawdown)
Очень важной и, несмотря на это, часто обделяемой вниманием величиной является убыток в процентах от счета, измеряемый от пика к впадине. Система, которая производит годовой процент отдачи в 100 процентов на пяти годах, - это система, которой будет тяжело следовать в случае, если она допускает убытки от пика к впадине по 50 процентов несколько раз в течение пяти лет. Вам нужны большая смелость и глубокие карманы, чтобы торговать по такой системе с доверием. По нашему опыту, гладкая кривая гораздо предпочтительней и более трудно достижима, чем высокая годовая отдача.
Эта кривая очень важна как мера того, насколько практична будет ваша система, когда на кон будут поставлены реальные деньги. Чаще всего системы, которые приносят наибольший совокупный доход, имеют самые высокие убытки. Объедините большие убытки с полосой проигрышей и вы поймете причину, по которой большинство трейдеров преждевременно отказываются от потенциально хороших торговых систем. Мы снова подчеркиваем: система должна разрабатываться с учетом стрессового барьера индивидуально для каждого трейдера. В значительной степени, как и ожидание последовательных проигрышей, ожидание потенциальных убытков, которые нам придется терпеть, может дать жизненно важный элемент доверия, который позволит нам выжить в неизбежные проигрышные периоды.
Для профессиональных управляющих денежными средствами существует другая причина вычислять максимальный убыток. Консультанты по товарной торговле говорят, что публика становится умнее (со временем) и больше интересуется теми редкими консультантами, исторические записи которых показывают устойчивый рост и небольшие убытки, чем птицами высокого полета, которые демонстрируют большие кратковременные выигрыши с крупными убытками от пика к впадине. Те из вас, кто собирается стать консультантами по товарной торговле (СТА - commodity trading advisor) и управлять общественными деньгами, поступят разумно, разработав на портфеле систему с наибольшим убытком от пика к впадине (при ежедневном измерении), лежащим ниже 20 процентов. Это требует комбинации хорошего управления денежными средствами (включая правильную капитализацию) и устойчивой торговой системы с контролируемым риском.
Некоторое коммерческое программное обеспечение рассматривает убыток как общий размер счета минус открытая часть счета на проигрыше. Рациональное объяснение такого подхода заключается в том, что открытые доходы будут со временем превращаться в закрытые доходы, и, следовательно, на прибыльных позициях риск будет отсутствовать. Это неправда. Фьючерсные позиции ежедневно корректируются рынком. Редко, если вообще когда-либо, прибыльная торговля закрывается на пике доходности. Часть счета, которая возвращается на рынок при получении дохода и которая возвращается при получении убытков, вычитается из вашего торгового счета одинаковым образом. Наиболее точным способом вычисления максимальных убытков будет разность между пиковым значением и соответствующей впадиной совокупного дневного счета. Эти подсчеты отражают то, что действительно могло бы случиться с вашим торговым счетом. Любые другие методы вычисления убытков только вводят в заблуждение. Если ваше программное обеспечение не предоставляет подходящих вычислений, распечатайте данные по дневному совокупному счету и выполните вычитание самостоятельно. Если можете, проделайте эту операцию отдельно для каждого рынка, а затем на совокупном портфеле, если вы таковой тестировали. Результаты могут оказаться совершенно разоблачительными.
Не выбрасывайте ваши результаты тестирования. Они предоставляют систему раннего предупреждения, которая даст вам сигнал, если ваша система начнет самоуничтожение в реальной торговле. Любые результаты, приближающиеся к максимальному убытку или максимальному числу последовательных проигрышей, должны тщательно изучаться наряду с любым падением процента выигрышей или отношения выигрышей к проигрышам.
Здесь представлены некоторые основные направляющие, которые помогут вам выбрать цели тестирования.
Процент выигрышей (Percent Winners)
Наиболее успешные трейдеры, используя метод следования за трендом, получают от 35 до 45 процентов выигрышей. Сложно получить более 55 процентов, в чем вы сможете убедиться, когда мы будем проводить настоящее тестирование. Будьте особенно внимательны к воздействию, которое оказывают остановки на процент выигрышей.
Отношение среднего выигрыша к среднему проигрышу (Ratio of Average Win to Average Loss)
Эта величина должна превосходить 1:1 (безубыточность). Очевидно, значение 3:1 или 4:1 выглядит хорошо, но, если вы получаете скромный процент выигрышей 2:1 или даже менее, это также принесет вам достаточный доход.
Общая отдача и максимальный убыток (Total Return and Maximum Drawdown)
Эти величины, присущие контракту или портфелю, выражаются в долларах. Например, общая отдача по контрактам S&P должна сравниваться только с максимальным убытком по контрактам S&P. Общая отдача и максимальный убыток являются прекрасным выражением для отношения риск/вознаграждение. Из них обоих убыток более важен. Можно выражать обе величины в процентах от маржи, но маржа - это движущаяся мишень, которая связана с контрактными месяцами и может часто и внезапно меняться, таким образом, она не всегда может давать точную меру.
Волатильность и вероятность провала (Volatility and Probability of Ruin)
Вычисление этих двух ключевых величин даст вам представление о том, насколько надежной будет ваша торговая система в реальном времени. Первой величиной, которую надо вычислить, является стандартное отклонение ваших торговых результатов. Чем больше стандартное отклонение, тем более волатильными будут ваши торговые результаты. Чем меньше стандартное отклонение, тем менее волатильными будут результаты. При прочих равных выбирайте систему с меньшей волатильностью (минимальным стандартным отклонением) в терминах индивидуальных торговых результатов.
Вторая ключевая величина - это вероятность провала (POR - probability of ruin). POR дает трейдеру выраженную в процентах вероятность того, что баланс его счета будет опускаться до определенной точки прежде, чем подниматься до определенной более высокой точки. В вычисление включены шесть величин: процент выигрышей, средняя прибыльная торговля в долларах, средний проигрыш в долларах, начальный баланс счета, уровень, на котором можно сказать, что счет провалился, и уровень, на котором можно сказать, что состояние счета успешное.
POR базируется на той идее, что в любой торговой системе события возникают регулярно и могут возникать ненормальные события, но все они подчиняются теории вероятности. Например, монетка, подбрасываемая бесконечное количество раз, будет иметь отношение выпадений орел/решка 1:1, но примерно в одном из 1024 случаев орел будет выпадать 10 раз подряд. Любая торговая система, таким образом, живет с вероятностью того, что независимо от изменения рыночных условий, она будет до некоторой степени саморазрушающейся. POR-это вероятность такого самоуничтожения. Уровень, до которого мы можем контролировать процент выигрышей и отношение выигрыша к проигрышу, диктует степень контроля, которым мы обладаем над нашей торговой системой. Мы не имеем возможности контролировать рыночные условия, но мы, по крайней мере, будем уверены, что наша торговая система не будет самоуничтожаться по собственному разумению. Существует несколько способов вычисления вероятности провала (или риска провала). Мы будем использовать простейшую формулу, которую можно найти в работе П. Гриффина "The Theory of Blackjack". Следующая таблица показывает репрезентативное множество значений процентов выигрышей и отношений среднего дохода к среднему проигрышу. Для упрощения вычислений мы приняли начальный баланс счета равным $25000, цель дохода равной $50000 и уровень проигрыша (провала) равным $12000. (Смотрите рисунок 3-2.)
Матрица вероятности провала $25 000 счет
$Прибыли:
$Потери
% выигрышей
750:1000
1000:1000
1500:1000
2000:1000
2500:1000
3000:1000
3500:1000
4000:1000
Как вы можете видеть из таблицы, POR резко меняется с изменением процента выигрышей и отношений выигрыш/проигрыш. Небольшая поправка в системе, которая дает в результате положительное изменение любого из отношений, может сделать громадный вклад в будущие возможности системы.
POR может оказаться очень показательным. Например, средний СТА, управляющий сегодня общественными паями, вероятно, имеет процент выигрышей от 35 до 40 процентов, причем большинство из них менее 40 процентов, 35-процентная доля выигрышей требует высокого отношения среднего выигрыша к среднему проигрышу для того, чтобы система была успешной. Это прекрасно и просто достижимо, когда рынки находятся в состоянии тренда, но, когда они становятся неспокойными, отношение дохода к потерям резко падает, и POR поднимается до пугающих высот. Тщательное слежение за этими двумя статистическими величинами и возможное изменение вашей торговой системы для учета нетрендовых рынков может быть необходимым для обеспечения выживания.
Тестирование вхождений, выходов и остановок
После того, как вы подобрали элементы вашей торговой системы, возникает соблазн немедленно протестировать ее как единое целое. Кроме всего прочего, система по своему составу и определению есть совокупность взаимосвязанных частей, и кажется разумным, что она должна тестироваться в комплексе. Проблема такого подхода заключается в том, что один элемент системы может улучшать или ухудшать результаты относительно остальных. У вас может быть прекрасный метод вхождений, однако, если у вас слабые выходы, это забракует ваши вхождения вместе с оставшейся частью системы, если результаты совокупной производительности не удовлетворят вашим стандартам. Также хорошо бы знать, насколько часто используется один элемент по сравнению с остальными. Если ваш контроль рисков состоит из двух типов остановок, простой долларовой остановки и недавнего пика или впадины, то в процессе разработки и тестирования вам поможет знание того, как часто включается каждая из этих остановок.
По этим причинам мы разработали методы, которые разделяют части торговой системы и позволяют тестировать их независимо. Эти методы неидеальны, потому что части системы часто неразрывно связаны, но мы находим их весьма полезными. Заметьте, что любые демонстрируемые нами результаты тестирования появляются утверждениями о превосходстве одного метода над другим. Мы пытаемся показать процесс, а не быть арбитрами в дискуссии о том, какие технические исследования лучше. Мы настоятельно рекомендуем, чтобы вы провели эти процедуры самостоятельно в контексте собственных потребностей и пришли к своим собственным заключениям.
Тестирование вхождений
Тестирование ваших любимых методов вхождений может оказаться очень разоблачительным (и болезненным). Мы все слишком часто убеждались, что многие дорогие нашему сердцу предположения о правильности способа вхождения в рынок оказывались в лучшем случае посредственными. Когда вы станете экспертом в тестировании систем, вы, вероятно, обнаружите, что важность вхождений уменьшается, и что способ, которым вы выходите с рынка, становится более важным фактором. Все, что вы можете требовать от вхождения, это чтобы оно вам давало более чем случайный потенциал дохода. После того, как вы это получили, только от вашей стратегии выхода зависит, сможете ли вы поймать столько дохода, сколько возможно, поддерживая при этом убытки на разумном уровне.
Одним из наиболее важных статистических параметров, получаемых при тестировании систем, является процент выигрышей по отношению к проигрышам (% выигрышей). При прочих равных высокий процент выигрышей, очевидно, предпочтительней низкого процента выигрышей. К счастью, если отношения среднего дохода к средним потерям установлены правильно, это может принести на продолжительном периоде прибыль, даже если процент выигрышей упал до очень малой величины. Большинство долгосрочных трейдеров умудряются выживать, вылавливая то тут, то там очень большие доходы, и приходят к итогу всего в 35 - 45 процентов выигрышных торгов. Проблема в том, что, несмотря на малые потери и большие доходы, чем меньше процент выигрышей, тем более непостоянными будут торговые результаты. К некоторому моменту скачки баланса счета от вершины к впадине станут невыносимы для всех, кроме трейдеров с самыми крепкими нервами.
С еще более сложной задачей сталкиваются дневные трейдеры, которые должны разработать метод, который выигрывает более чем в 50 процентах случаев. Эти трейдеры не могут позволить своим доходам течь, потому что они вынуждены выходить до того, как закроется рынок. Их отношение стоимости трансакций к доходам от торговли обычно очень высоко, и чрезвычайно сложно поддерживать отношение среднего выигрыша к среднему проигрышу на уровне больше 1:1. Независимо от того, являетесь ли вы краткосрочным или долгосрочным трейдером, нельзя получить высокий процент выигрышей без правильного вхождения в рынок. Несмотря на то, что в совокупной схеме выходы важнее вхождений (кроме всего прочего, именно выход окончательно определяет отдачу торговли), намного проще найти хорошие выходы, когда вхождения были совершены правильно.
Методология тестирования вхождений.
Лучший способ эффективно протестировать любой отдельный элемент торговой системы - изолировать его насколько это возможно. Однако изолирование элементов торговой системы значительно сложнее, чем могло бы показаться, потому что торговая система, по определению, состоит из набора взаимосвязанных компонентов. Изменение одного компонента даже на небольшую величину может сильно изменить ваши торговые результаты неожиданным и непредсказуемым образом. Мы часто делали тщательно продуманные незначительные изменения в тестируемой нами системе, которые производили невообразимый беспорядок в нашей аккуратно созданной стратегии. После того, как это произошло возмутительно большое количество раз, мы решили применить пошаговый подход, который позволил бы нам изолировать вхождения от других элементов торговой системы. Мы не утверждаем, что это единственный или лучший путь тестирования вхождений, но он кажется вполне логичным, и он работал у нас.
Метод прост. Настройте вашу торговую систему и затем удалите ваши нормальные выходы. Замените их на метод, который автоматически выходит с рынка через заданное количество дней после вхождения. В нашем тестировании мы обычно искали сигналы вхождения, которые бы ставили нас на правильную сторону среднесрочных трендов. Мы установили выход теста после 2, 10, 15 и 20 дней. Выбор дней дает некоторое понимание силы и направления рынка после вхождения. Например, если ваш 5-дневный выход дает малый процент выигрышных торгов, в то время как 10-дневные выходы дают хорошие результаты, мы могли бы заключить, что у нас есть некоторое пространство для улучшения задания времени при том, что наше направление кажется правильным. Если пятидневные выходы дают лучшие результаты, мы, возможно, получили хороший метод вхождений для краткосрочной торговли, но не для наших долгосрочных задач. Вам следует установить временные периоды для дней выхода в соответствии с вашим собственным стилем торговли. Например, вы могли бы найти ценным тестировать выходы после только 1 дня, или вы могли бы решить выходить после 30 дней.
Анализ результатов тестирования
Мы хотим, чтобы тест показал нам процент выигрышей, основанный, насколько это возможно, на правильности направления вхождения и задания времени вхождения без учета других соображений. Удалите все проскальзывания и комиссионные расходы и не используйте остановок. Будет еще достаточно возможностей для включения фактора соответствующих расходов, когда в будущем мы соберем систему для совокупного тестирования. Так как вы не используете остановки или какие-либо другие реальные выходы, показатели совокупного дохода, полученные в результате тестирования такого типа, по существу, не имеют смысла. Сейчас мы вынуждены рассматривать доходы и потери как случайности рынка. То же верно и для отношений среднего дохода к средним потерям. Когда мы закончим собирать нашу объединенную систему, текущие остановки и выходы фиксации дохода определят значения этих величин. На этом этапе важной величиной для сравнения вхождений является процент выигрышей.
Если метод вхождения стоящий, то он должен вводить вас в рынки в правильном направлении с процентом выигрышей значительно превышающим случайное. Мы не собираемся погружаться в статистические проверки "значительности", но все же приведем основное правило: вхождение считается лучше, чем случайное, если оно прибыльно по меньшей мере 55 процентов времени на диапазоне рынков. Также, если вы пытаетесь следовать за трендом, торги должны показывать повышающийся процент выигрышей с увеличением временного интервала.
Чрезвычайно важно, чтобы любой выбираемый вами метод вхождения производил результаты лучше, чем случайное вхождение, потому что при добавлении остановок и попытке позволить доходам течь процент выигрышей непременно существенно снизится. Чем лучше изначально процент выигрышей ваших вхождений, тем ближе могут быть ваши остановки. Если вы предпочитаете относительно далекие остановки, вы можете добиться более высокого процента выигрышей за счет увеличения риска на торговле.
Невозможно регулировать торговую систему, изменяя ее основные элементы, и видеть результаты очередной итерации, но мы нашли, что становится намного проще, если вы работаете, полагаясь на точное знание того, насколько эффективны ваши вхождения, и, таким образом, четко видите результат ваших методов выхода. Если вы начали с метода вхождения правильного в 75 процентах случаев, и он скатился до 30 процентов выигрышей после добавления всех необходимых остановок и стратегий выхода, вы можете продолжать работу, исправляя только несовершенные элементы системы, вместо модификации вхождений. Большинство трейдеров, взглянув на только что описанную систему, возложили бы ответственность на вхождения. К сожалению, вхождения собирают похвалы и порицания за результаты системы, что совершенно неправильно. Наше независимое тестирование вхождений позволяет понять, какую часть похвал или обвинений они действительно заслуживают. Кажется, большая часть тестирования технических исследований проводится на оборотной основе, когда один и тот же индикатор используется как для вхождений, так и для выходов. Мы не станем докучать демонстрацией этих бесполезных результатов тестирования. Исследование может прекрасно подходить для той или иной задачи, но мы никогда не сможем узнать результаты из-за невозможности изолировать его способность выполнения каждой из функций.
Процедуры тестирования
Все результаты тестирования, продемонстрированные в этом разделе, относятся к периоду с января 1986 до декабря 1990 (пять лет). Тесты использовали дневные данные, а именно: открытие, пик, впадину и закрытие. Вхождения происходили в тот же день в случае прорыва канала или получения сигнала от системы, основанной на волатильности. Во всех прочих случаях вхождение осуществлялось на открытии следующего дня. Остановки не применялись. Проскальзывания и комиссионные были приняты равными нулю. Выходы происходили на закрытии через 5,10,15 или 20 дней после вхождения.
Мы тестировали пять рынков: немецкую марку, золото, соевые бобы, казначейские обязательства и сырую нефть. Мы ограничили наше тестирование этими рынками, потому что они представляют собой пять различных товарных групп и дают основное представление о производительности вхождений. Если бы мы хотели найти индикатор, дающий чрезвычайно хорошие результаты, мы бы расширили обзор тестирования до большего количества рынков. Избранные нами для тестирования методы вхождения являются популярными стратегиями, которые, мы надеемся, вы найдете интересными.
Пересечение скользящих средних
I Пересечения скользящих средних, вероятно, все еще являются самой распространенной техникой вхождений. Однако сглаживающий эффект, который делает их привлекательными в качестве вхождений, является как раз тем, что делает их относительно неэффективными в качестве выходов. Мы выбрали для тестирования одно из стандартных исследований скользящих средних: пересечение 9-18. Как и для большинства исследований скользящих средних, длинное вхождение генерируется, когда 9-дневная скользящая средняя пересекает снизу вверх 18-дневную. Короткое вхождение генерируется, когда 9 пересекает 18 сверху вниз. (Смотрите рисунок 3-3.)
Рисунок 3.3.
Таблица 1 : Пересечение скользящих средних
День выхода
Бобы
Немецкие марки
Золото
Казначейские обязательства
Сырая неф|ь
(%Выигрышей)
Прорыв канала
Мы протестировали основной метод, который входит на рынок на новом дневном пике или впадине последних n дней. В качестве временного периода мы избрали 10 дней. (Смотрите рисунок 3-4.)
Рисунок 3.4.
Таблица 2 : Прорыв канала
День выхода
Бобы
Немецкие марки
Золото
Казначейские обязательства
Сырая нефть
(%Выигрышей)
Пересечение стохастического осциллятора с границами
Это стандартное контртрендовое вхождение: покупайте, когда %К пересекает снизу вверх %D после того, как осциллятор опустился ниже 25. Продавайте, когда %К пересекает %D сверху вниз после подъема выше 75. Пересечения между 26 и 74 игнорируются. (Смотрите рисунок 3-5.)
Рисунок 3.5.
Таблица 3 : Пересечение стохастического осциллятора с границами
День выхода
Бобы
Немецкие марки
Золою
Казначейские обязательства
Сырая нефть
(%Выигрышей)
Скачок стохастического осциллятора
"Скачок" стохастического осциллятора был описан Джорджем Лэйном. Он пытается воспользоваться свойством рынков следовать тренду в направлении 14-периодного медленного стохастического осциллятора, который растет выше уровня 75 или опускается ниже уровня 25, делая это приложение стохастического осциллятора методом следования за трендом. (С