<< Пред. стр. 14 (из 18) След. >>
Таблица 20.4.СИСТЕМА ПРОБОЯ (ЗОЛОТО):
СРАВНЕНИЕ РАНГОВ НАБОРОВ ПАРАМЕТРОВ
НА ДВУХЛЕТНИХ ТЕСТОВЫХ ПЕРИОДАХ С ИХ РАНГАМИ
НА ПРЕДШЕСТВУЮЩИХ ВОСЬМИЛЕТНИХ ПЕРИОДАХ
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 711
Таблица 20.5.
СИСТЕМА ПРОБОЯ (СЕРЕБРО):
СРАВНЕНИЕ РАНГОВ НАБОРОВ ПАРАМЕТРОВ
НА ДВУХЛЕТНИХ ТЕСТОВЫХ ПЕРИОДАХ С ИХ РАНГАМИ
НА ПРЕДШЕСТВУЮЩИХ ВОСЬМИЛЕТНИХ ПЕРИОДАХ
Таблица 20.6.
СИСТЕМА ПРОБОЯ (МАЗУТ):
СРАВНЕНИЕ РАНГОВ НАБОРОВ ПАРАМЕТРОВ
НА ДВУХЛЕТНИХ ТЕСТОВЫХ ПЕРИОДАХ С ИХ РАНГАМИ
НА ПРЕДШЕСТВУЮЩИХ ВОСЬМИЛЕТНИХ ПЕРИОДАХ
712 ЧАСТЬ 4. ТОРГОВЫЕ системы и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
Таблица 20.7.
СИСТЕМА ПРОБОЯ (КУКУРУЗА):
СРАВНЕНИЕ РАНГОВ НАБОРОВ ПАРАМЕТРОВ
НА ДВУХЛЕТНИХ ТЕСТОВЫХ ПЕРИОДАХ С ИХ РАНГАМИ
НА ПРЕДШЕСТВУЮЩИХ ВОСЬМИЛЕТНИХ ПЕРИОДАХ
Таблица 20.8.
СИСТЕМА ПРОБОЯ (СОЕВЫЕ БОБЫ):
СРАВНЕНИЕ РАНГОВ НАБОРОВ ПАРАМЕТРОВ
НА ДВУХЛЕТНИХ ТЕСТОВЫХ ПЕРИОДАХ С ИХ РАНГАМИ
НА ПРЕДШЕСТВУЮЩИХ ВОСЬМИЛЕТНИХ ПЕРИОДАХ
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 713
Таблица 20.9.
СИСТЕМА ПРОБОЯ (ЖИВОЙ СКОТ):
СРАВНЕНИЕ РАНГОВ НАБОРОВ ПАРАМЕТРОВ
НА /ДВУХЛЕТНИХ ТЕСТОВЫХ ПЕРИОДАХ С ИХ РАНГАМИ
НА ПРЕДШЕСТВУЮЩИХ ВОСЬМИЛЕТНИХ ПЕРИОДАХ
Таблица 20.10.
СИСТЕМА ПРОБОЯ (САХАР):
СРАВНЕНИЕ РАНГОВ НАБОРОВ ПАРАМЕТРОВ
НА ДВУХЛЕТНИХ ТЕСТОВЫХ ПЕРИОДАХ С ИХ РАНГАМИ
НА ПРЕДШЕСТВУЮЩИХ ВОСЬМИЛЕТНИХ ПЕРИОДАХ
714 ЧАСТЬ 4. ТОРГОВЫЕ СИСТЕМЫ и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
результативность наилучшего на каждом из тестируемых периодов набора параметров со средней результативностью всех наборов параметров и результативностью наборов параметров, которые показывали наилучшие и наихудшие результаты в предыдущий период. Как видно из таблиц, в двух периодах из трех выбор наихудшего из параметров предшествующего периода приводит к более высокой эффективности системы на текущем периоде, чем лучший параметр прошлого периода и среднее значение прибыли по всем параметрам. Это вовсе не означает, что набор параметров с наихудшей результативностью в прошлом окажется оптимальным в будущем. Если бы подобные тесты были проведены для других систем, то набор параметров с наилучшей результативностью в прошлом, вероятно, превосходил бы худший в прошлом набор параметров чаше, чем наоборот (хотя тот тип результатов, свидетелями которых мы стали в приведенном примере, вовсе не исключителен). Урок, который мы должны извлечь из приведенного выше примера состоит в том, что набор параметров с наилучшей результативностью в прошлом в большинстве случаев уступит оптимальному для данного периода набору параметров и не сможет предоставить какое-либо статистически существенное улучшение по сравнению с усредненной результативностью всех наборов параметров.
Наш пример использует лишь очень небольшой список из девяти наборов параметров. Многие разработчики систем проводят оптимизацию, проверяя сотни или даже тысячи наборов параметров. Представьте себе, насколько нереалистичной была бы надежда на то, что результативность таких систем в будущем сравнится с результативностью наилучшего набора параметров в прошлом.
Хотя кажется, что оптимизация имеет мало (если вообще имеет) значения, когда применяется в отдельности к каждому рынку, как в табл. 20.1-20.10, она кажется несколько более полезной, если применяется к портфелю. Другими словами, вместо того чтобы выбирать наилучший в прошлом набор параметров для каждого рынка, выбирается наилучший в прошлом единственный набор параметров для всех рынков одновременно. Табл. 20.15 показывает двухгодичный тестовый период, на котором наборы параметров ранжированы для портфеля, состоящего из всех десяти рынков, изображенных в табл. 20.1-20.10*.
Единственной бросающейся в глаза корреляцией между прошлой и будущей результативностью является поведение наихудшего набора параметров на предшествующем восьмигодичном периоде - он оказывается одновременно и наихудшим набором параметров в каждом из последующих тестовых двухгодичных периодов!
* Портфель состоит из одного контракта для каждого рынка, за исключени-
ем рынка кукурузы, который подразумевает торговлю двумя контрактами по причине его низкой волатильности.
Таблица 20.11.
715
ПРИБЫЛИ/УБЫТКИ ($) ДЛЯ ТЕСТОВОГО ПЕРИОДА 1989-1990:
ОПТИМАЛЬНЫЙ НАБОР ПАРАМЕТРОВ ПО СРАВНЕНИЮ
СО СРЕДНИМ РЕЗУЛЬТАТОМ ВСЕХ ПАРАМЕТРОВ
НА ДАННОМ ПЕРИОДЕ И ЛУЧШИМ И ХУДШИМ НАБОРОМ ПАРАМЕТРОВ ДЛЯ ПРЕДЫДУЩЕГО ПЕРИОДА
Таблица 20.12.
ПРИБЫЛИ/УБЫТКИ ($) ДЛЯ ТЕСТОВОГО ПЕРИОДА 1991-1992:
ОПТИМАЛЬНЫЙ НАБОР ПАРАМЕТРОВ ПО СРАВНЕНИЮ
СО СРЕДНИМ РЕЗУЛЬТАТОМ ВСЕХ ПАРАМЕТРОВ
НА ДАННОМ ПЕРИОДЕ И ЛУЧШИМ И ХУДШИМ НАБОРОМ ПАРАМЕТРОВ ДЛЯ ПРЕДЫДУЩЕГО ПЕРИОДА
716
Таблица 20.13
ПРИБЫЛИ/УБЫТКИ ($) ДЛЯ ТЕСТОВОГО ПЕРИОДА 1993-1994:
ОПТИМАЛЬНЫЙ НАБОР ПАРАМЕТРОВ ПО СРАВНЕНИЮ
СО СРЕДНИМ РЕЗУЛЬТАТОМ ВСЕХ ПАРАМЕТРОВ
НА ДАННОМ ПЕРИОДЕ И ЛУЧШИМ И ХУДШИМ НАБОРОМ ПАРАМЕТРОВ ДЛЯ ПРЕДЫДУЩЕГО ПЕРИОДА
Таблица 20.14.
СУММАРНЫЕ ПРИБЫЛИ/УБЫТКИ ($) ДЛЯ ТРЕХ ТЕСТОВЫХ
ПЕРИОДОВ: ОПТИМАЛЬНЫЕ НАБОРЫ ПАРАМЕТРОВ
ПО СРАВНЕНИЮ СО СРЕДНИМИ РЕЗУЛЬТАТАМИ
ВСЕХ ПАРАМЕТРОВ И ЛУЧШИМИ И ХУДШИМИ НАБОРАМИ ПАРАМЕТРОВ ДЛЯ ПРЕДЫДУЩИХ ПЕРИОДОВ
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 717
Хотя наихудший в прошлом набор параметров, похоже, оказывается и наихудшим набором параметров в будущем, другие прошлые оценки результативности, как кажется, подразумевают значительно меньшую предсказательную ценность. Средняя (нейтральная) оценка набора параметров равна 4,5 (если отбросить наихудшую оценку 9). Посмотрим, как себя вел набор параметров, оптимальный для предшествующего восьмилетнего периода. Как видно из табл. 20.15, в первый тестовый период этот набор сохранил свое первое место, во второй - спустился на седьмое, а в третьем периоде занял второе место. Итого в среднем за три тестовых периода этот набор получил оценку 3,3, что все-таки лучше, чем нейтральная оценка 4,5. Однако, набор параметров, который на предшествующем восьмилетнем периоде занял всего лишь четвертое место, на тестовых периодах достиг значительно лучшего результата (2,3). Также заметьте, что наборы параметров, занявшие почти полярно противоположные места на предшествующем восьмилетнем периоде (2 и 8), на трех тестовых периодах дают почти идентичные результаты: 4,7 и 5,0.
Чтобы понять, почему наихудшая оценка результативности на предшествующем периоде точно предсказывает будущую результативность (набор параметров продолжает давать плохие результаты), в то время как другие оценки результативности, по-видимому, имеют мало предсказательного значения, мы исследуем оценку результативности, основанную на значениях параметров. В табл. 20.16 показаны результаты наборов параметров, перечисленные в порядке возрастания значения самого параметра (а не в порядке возрастания результативности за прошедший восьмилетний период, как это было в табл. 20.15).
Как видно из табл. 20.16, на каждом из тестовых периодов наихудшую результативность показал один и тот же набор параметров! Этот набор параметров с постоянной наихудшей результативностью располагается на одном из концов протестированного диапазона наборов параметров: N = 20.
Хотя N = 20 - наиболее чувствительное из протестированных значений наборов параметров - постоянно приводит к наихудшей результативности (когда применяется к портфелю), другие протестированные значения (от N = 30 до N = 100) ведут себя не так стабильно. Обратите внимание на то, что набор параметров N = 80 показал невероятно высокий средний ранг 1,3. Однако средние ранги двух соседних значений N (6,7 и 3,3) подразумевают, что звездная результативность значения N = 80, скорее всего, была статистической случайностью. Как уже объяснялось ранее в этой главе, недостаточная устойчивость к изменению параметра предполагает, что прошлая превосходная результативность данного параметра, вероятно, отражает лишь своеобразие тестируемых исторических данных, а не ту модель, которая будет повторяться в будущем.
718 ЧАСТЬ 4. ТОРГОВЫЕ СИСТЕМЫ и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
Таблица 20.15.
СИСТЕМА ПРОБОЯ (ПОРТФЕЛЬ):
РАНГИ НАБОРОВ ПАРАМЕТРОВ НА ДВУХГОДИЧНЫХ ТЕСТОВЫХ ПЕРИОДАХ ПО СРАВНЕНИЮ С РАНГАМИ НА ПРЕДШЕСТВУЮЩИХ ВОСЬМИЛЕТНИХ ПЕРИОДАХ
Ранг набора Ранг того же параметров на набора Ранг того же набора Ранг того же набора Средний ранг предшествующем параметров 8-летнем периоде в 1989-1990 параметров в 1991-1992 параметров в 1993-1994 1 1 7 2 3,3 2 5 1 8 4,7 3 3 6 4 4,3 4 2 4 1 2,3 5 4 8 6 6,0 6 6 3 7 5,3 7 7 5 3 5,0 8 8 2 5 5,0 9 9 9 9 9,0 Таблица 20.16
СИСТЕМА ПРОБОЯ (ПОРТФЕЛЬ):
РАНГИ НАБОРОВ ПАРАМЕТРОВ ПО ДВУХГОДИЧНЫМ ТЕСТОВЫМ ПЕРИОДАМ, В ЗАВИСИМОСТИ ОТ ЗНАЧЕНИЙ N
Значение N набора Ранг набора Ранг набора Ранг набора Средний ранг параметров параметров в 1989-1990 параметров в 1991-1992 параметров в 1993-1994 20 9 9 9 9,0 30 8 2 5 5,0 40 7 5 3 5,0 50 6 3 1 3,3 60 4 6 6 5,3 70 5 7 8 6,7 80 1 1 2 1,3 90 2 4 4 3,3 100 3 8 7 6,0
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 719
Будет поучительным рассмотреть наблюдения, связанные с предшествующим экспериментом по оптимизации.
• Оптимизация вообще не имела никакого значения, когда при-
менялась к каждому рынку в отдельности.
• Однако примененная к портфелю, оптимизация кажется полез-
ной для предсказания того, какой набор параметров с наиболь-
шей вероятностью покажет плохую результативность в будущем.
Тем не менее, оптимизация не может предсказать, какие из на-
боров параметров с наибольшей вероятностью продемонстри-
руют хорошую результативность в будущем.
• При более близком исследовании выяснилось, что модель по-
стоянно плохой результативности была не столько следствием
степени результативности на предшествующем периоде, сколь-
ко следствием значения параметра. Другими словами, протес-
тированный диапазон наборов параметров начинался со значе-
ния, которое явно было далеко от оптимального для данной си-
стемы: N = 20. Хотя и не показанные в таблицах, более низкие
значения для N продемонстрировали бы дальнейшее падение ре-
зультативности по мере уменьшения значений N.
• За исключением крайних значений параметров (N = 20 или
ниже в этом примере), явно далеких от оптимального значения,
было мало стабильности в значениях наборов параметров с наи-
лучшей результативностью внутри широкого диапазона наборов
параметров (от N = 30 до N = 100 в этом примере).
Эти наблюдения, которые согласуются с результатами похожих эмпирических тестов, предпринятых мною в прошлом, предполагают следующие ключевые выводы относительно оптимизации*:
1. От любой системы, повторяю, от любой системы с помощью оптимизации можно добиться того, чтобы она была очень прибыльной на исторических данных. Если вы когда-нибудь обнаружите систему, которая не может быть оптимизирована так, чтобы показывать относительно хорошую прибыль в прошлом, примите мои поздравления: вы только что открыли машину по производ-
* Хотя единственный эмпирический эксперимент не может быть использован как основа для широких обобщений, я готов сделать таковые здесь, поскольку только что описанные результаты абсолютно типичны для многих подобных тестов, предпринятых мною в прошлом. В этом смысле исследование оптимизации, разобранное в данной главе, не рассматривается в качестве доказательства нежизнеспособности оптимизации, а скорее, в качестве иллюстрации этого момента.
720 ЧАСТЬ 4. ТОРГОВЫЕ СИСТЕМЫ и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
ству денег (поступайте противоположно ее сигналам, если только транзакционные затраты не чрезмерны). Таким образом, приятно смотреть на удивительную результативность оптимизированной системы в прошлом, однако она имеет мало практической ценности.
2. Оптимизация будет всегда, повторяю, всегда преувеличивать по-
тенциальную будущую результативность системы - обычно
весьма сильно. Таким образом, результаты оптимизации никог-
да не должны, повторяю, никогда не должны использоваться для
оценки достоинств системы.
3. Для многих, если не для большинства систем, оптимизация не
будет улучшать будущую результативность или улучшит ее незна-
чительно.
4. Если оптимизация и имеет какое-то значение, оно обычно со-
стоит в определении широких границ диапазона, из которых
следует выбирать значения наборов параметров для системы.
Тонкая подстройка оптимизации - это в лучшем случае поте-
ря времени, а в худшем - самообман.
5. В свете всех предшествующих пунктов искушенные и слож-
ные процедуры оптимизации - пустая трата времени. Наи-
простейшие оптимизационные процедуры будут предоставлять
не меньшее количество значимой информации (предполагая,
что, вообще, может быть извлечена некоторая значимая ин-
формация).
В итоге, в противоположность широко распространенным верованиям, существует некий резонный вопрос: приведет ли оптимизация к существенно лучшим результатам при длительном периоде торговли, чем случайным образом выбранный набор параметров? Чтобы не было никаких недоразумений, позвольте мне уточнить: это утверждение не призвано подразумевать, что у оптимизации вообще нет никакой ценности. Во-первых, как указано ранее, оптимизация может быть полезна при определении явно неподходящего диапазона параметров, который следует исключить при выборе значений параметра (например, N # 20 в нашем примере системы пробоя). Кроме этого, возможно, что для некоторых систем оптимизация может провести некоторые границы в выборе наборов параметров даже после исключения крайних неоптимальных диапазонов. Однако я подразумеваю, что степень улучшения, предлагаемая оптимизацией, намного меньше, чем обычно представляется, и что трейдеры, вероятно, сберегли бы кучу денег, доказывая в начале любое предположение, которое они делают по поводу оптимизации, а не принимая эти предположения слепо на веру.
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 721
ТЕСТИРОВАНИЕ ИЛИ ПОДГОНКА?
Вероятно, наиболее существенная ошибка, которую делают пользователи фьючерсных торговых систем - это предположение, что результативность оптимизированного набора параметров во время тестового периода представляет собой прогноз потенциальной результативности подобных наборов в будущем. Как было показано в предыдущем разделе, подобные предположения приведут к значительной переоценке истинного потенциала системы. Необходимо понимать, что ценовые колебания на фьючерсном рынке в большой степени случайны. Таким образом, "горькая правда" состоит в том, что вопрос, какой из наборов параметров приведет к наилучшему результату в течение любого данного периода - в большой степени дело удачи. Законы вероятности показывают, что если протестировано достаточное количество наборов параметров, даже в бессмысленной торговой системе обнаружатся некоторые наборы с лучшей результативностью в прошлом. Оценка системы, основывающаяся на оптимизированных наборах параметров (т.е. наборах с наилучшей результативностью на рассматриваемом периоде), является подгонкой системы под прошлые результаты, а не тестированием системы. Если оптимизация не может использоваться для оценки результативности, как же тогда вы оцените систему? Следующий раздел описывает два разумных подхода.
Слепое моделирование
При использовании "слепого моделирования" система оптимизируется с использованием данных временного периода, который намеренно исключает последние годы. Результативность системы затем тестируется с использованием полученных наборов параметров на последующих годах. В идеале, этот процесс следует повторить несколько раз.
Заметьте, что мы избегаем подгонки результатов, поскольку наборы параметров, используемые для измерения результативности в любой данный период, выбираются полностью на основе предшествующих, а не текущих данных. В некотором смысле такой подход к тестированию воспроизводит реальную жизнь (т.е. приходится на основании прошлых данных решать, при каком наборе параметров торговать). Оптимизационные тесты из предыдущего раздела использовали этот тип процедуры, передвигаясь во времени по двухгодичным интервалам; в частности, результаты системы для периода 1981-1988 гг. использовались, чтобы выбрать наборы параметров с наилучшей результативностью, которые потом тестировались для периода 1989-1990 гг. Далее результаты системы для периода 1983-1990 гг. использовались при выборе наиболее результатив-
722 ЧАСТЬ 4. ТОРГОВЫЕ СИСТЕМЫ и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
ных наборов параметров, которые затем были протестированы для периода 1991-1992 гг. И наконец, результаты системы за период 1985-1992 гг. использовались при выборе наиболее результативных наборов параметров, которые затем были протестированы для периода 1993-1994 гг. Важнейший момент состоит в том, чтобы периоды "слепого моделирования" и оптимизации не накладывались один на другой. Моделирование, которое производится на том же периоде, что и оптимизация, не имеет ценности.
Средняя результативность набора параметров
Отыскание средней результативности набора параметров требует прежде всего определения полного списка всех наборов параметров, которых нужно протестировать. Затем проводятся тесты для всех выбранных наборов параметров, и средний результат для всех протестированных наборов используется в качестве показателя потенциальной результативности системы. Этот подход является жизнеспособным, поскольку вы всегда можете наугад выбрать параметр из широкого диапазона значений. Если вы сделаете такой выбор достаточное количество раз, ваша итоговая прибыль будет равна среднему результату набора параметров. Важный момент состоит в том, что этот средний результат должен быть вычислен для всех наборов параметров, а не лишь для тех наборов, которые доказали свою прибыльность. Обратите внимание, что трейдер все-таки может выбрать для будущей торговли оптимизированные наборы параметров (вместо выбранных случайным образом), но оценка результативности системы будет основываться на средней результативности для всех протестированных наборов (что эквивалентно процессу случайного выбора).
Слепое моделирование, возможно, подходит наиболее близко к воспроизведению обстоятельств торговли, осуществляемой в реальной жизни. Однако средняя результативность набора параметров, возможно, не менее консервативна и имеет то преимущество, что требует намного меньше вычислений. Оба подхода предоставляют жизнеспособные процедуры для тестирования систем.
Одно важное предостережение: в рекламе торговых систем термин "результаты моделирования" (simulated results) часто используется в качестве эвфемизма для оптимизированных результатов (вместо того, чтобы подразумевать результаты, основанные на процессе слепого моделирования (blind simulation)). В таких случаях весомость, придаваемая результатам, должна быть равна количеству денег, которые вам не жалко выбросить, т.е. нулю. Часто встречающееся неправильное употребление и искажение результатов моделирования детально исследуется в следующем разделе.
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 723
ПРАВДА О РЕЗУЛЬТАТАХ МОДЕЛИРОВАНИЯ
Хотя ценность оптимизации для улучшения будущей результативности системы открыта для дебатов, абсолютно очевидно, что использование оптимизированных результатов будет значительно искажать подразумеваемую будущую результативность системы. Причина состоит в том, что, как было показано ранее в этой главе, корреляция между наиболее результативными для одного периода параметрами системы и теми параметрами, которые приведут к наилучшей результативности в следующий период, крайне мала, если вообще существует. Следовательно, предположение, что результативность, достигнутая в прошлом, может быть повторена в будущем при том же самом наборе параметров, абсолютно нереалистично.
После многих лет работы мое отношение к симулированным результатам подытоживается тем, что я называю "Швагеровским законом моделирования" (по аналогии с денежным законом Гришэма). Как читатели могут вспомнить из "Economics 101", Гришэм утверждал, что "плохие деньги вытесняют хорошие". Суть соревнования, которое описывает Гришэм, состояла в том, что если в обращении находится два типа денег (например, золото и серебро) с произвольным курсовым соотношением (например, 16 к 1), то плохие деньги (деньги, переоцененные фиксированным курсом обмена) будут вытеснять хорошие. Таким образом, если бы справедливая стоимость унции золота была выше стоимости 16 унций серебра, соотношение 16 к 1 приводило бы к тому, что серебро вытесняло бы золото из обращения (поскольку люди стремились бы накапливать золото).
Мое закон формулируется так: "плохое моделирование вытесняет хорошее". Термин "плохое" означает моделирование, построенное на крайне ненадежных предположениях, а не плохое в смысле показанной результативности. Скорее наоборот, "плохое" моделирование будет показывать бросающиеся в глаза результаты.
Я часто получаю рекламу систем, которые предположительно делают 200, 400 или даже 600% в год. Давайте будем консервативны (я использую этот термин свободно) и предположим доходность лишь в 100% годовых. При таком уровне доходности $100 000 превратились бы всего за тринадцать лет в миллиард долларов! Может ли такая доходность быть достижимой на практике в течение длительного периода? Ответ: не может. Дело в том, что при достаточном желании можно добиться практически любого уровня ретроспективной результативности. Если бы кто-то попробовал продавать систему или программу для торговли, основанную на действительно реалистичном моделировании, результаты были бы до смешного ничтожны по сравнению с тем, что предлагает реклама. Именно в этом смысле плохое (нереалистичное) моделирование вытесняет хорошее (реалистичное) моделирование.
724 ЧАСТЬ 4. ТОРГОВЫЕ СИСТЕМЫ и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
Как искажаются результаты тестов? Существует несколько основных способов.
1. Специально подобранный пример. При конструиро-вании специально подобранного примера промоутер систе-мы выбирает наилучший рынок в наилучший год, используя наилучший набор параметров. Предполагая, что система тестируется на 25 рынках за 15 лет и использует 100 вари-нтов наборов параметров, мы получили бы в обшей слож-ости 37 500 одногодичных результатов (25Х 15Х 100). Бы-ло бы трудно построить такую систему, в которой хотя бы один из этих 37 500 возможных исходов не показал бы вели-колепных результатов. Например, если вы подбрасываете де-сять монет 37 500 раз, неужели вы думаете, что они не упадут несколько раз десятью "орлами" вверх?
2. Специальное устранение убытков системы. С помо-щью добавления параметров и создания дополнительных системных правил, которые подходящим образом обслужи-вают убыточные периоды прошлого, вполне возможно соз-дать фактически любой уровень ретроспективной результа-тивности.
3. Игнорирование риска. Рекламируемые результаты систе-мы часто используют оценку доходности как процента маржи (залоговых средств). При торговле с плечом, когда открывается позиция, по объему в несколько раз превосхо-дящая размер маржи, ожидаемая доходность возрастает в соответствующей пропорции. Разумеется, риск при этом также многократно увеличивается, но реклама не касается таких деталей.
4. Пропущенные убыточные сделки. Нередко на графи-ках в рекламе торговых систем показываются сигналы к покупке и продаже, приносящие прибыль, а убыточные сигналы этой же системы на графики не наносятся.
5. Оптимизация, оптимизация, оптимизация. Оптимизация (выбор наборов параметров с наилучшей результативностью в прошлом) может колоссально преуве-личивать прошлую результативность системы. Фактически любая система, когда-либо задуманная человеком, выгля-дела бы замечательно, если бы результаты основывались на оптимальном наборе параметров (наборе параметров с наи-лучшей прошлой результативностью) для каждого рынка. Чем больше используемое количество наборов параметров, тем шире выбор прошлых результатов и значительнее вирту-альная прибыль, которую можно получить в компьютерном тесте на исторических данных.
6. Нереалистичные транзакционные затраты. Часто симу-лированные результаты принимают в рассмотрение лишь комисси-
1.
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 725
онные, но не проскальзывание (разница между предполагаемыми и реальными ценами сделок, которые были бы зафиксированы при использовании рыночного приказа или стоп-приказа). В случае быстрых систем игнорирование проскальзывания может дать такую систему, которая выглядела бы как машина по производству денег, но в реальной жизни привела бы к разорению.
7. Подделки. Хотя достаточно просто сконструировать систему с правилами, приводящими к замечательной результативности в прошлом, некоторые промоутеры не беспокоятся даже об этом. Например, один бесчестный тип продолжает появляться с предложениями различных систем по цене в $299, которые представляют собой откровенное мошенничество. Брюс Бэбкок из журнала "Commodity Traders Consumers Report" так и прозвал этого жулика - "человек $299".
Я вовсе не собираюсь обвинять всех продавцов торговых систем или тех, кто использует моделированные результаты. Несомненно, есть много людей, кто производит компьютерное моделирование в достаточно строгом стиле. Однако печальная правда состоит в том, что чрезвычайно неправильное использование оптимизации в течение долгих лет привели фактически к обесцениванию результатов моделирования. Рекламируемые результаты очень похожи на ресторанные обзоры, написанные владельцами заведений, - вряд ли вы когда-нибудь увидите неблагоприятный обзор. Я могу вас заверить, что вы никогда не увидите торговую систему, которая показывала бы длинную позицию по S&P при закрытии 16 октября 1987 г. Пригодны ли все-таки к использованию результаты компьютерного моделирования? Да, если вы разработчик системы и если вы знаете, что делаете (используете методы моделирования, разобранные в предыдущем разделе), или если вы абсолютно уверены в честности и компетентности разработчика системы.
МУЛЬТИРЫНОЧНОЕ ТЕСТИРОВАНИЕ СИСТЕМЫ
Хотя, возможно, нереалистично ожидать, чтобы любая система хорошо работала на всех рынках, или, иными словами, демонстрировала бы прибыльность на подавляющем большинстве рынков, где идет активная торговля. Выбор системы для торговли на данном рынке должен зависеть от результативности этой системы на широком спектре рынков, так же как и от результативности на данном конкретном рынке. Существуют, конечно, некоторые важные исключения. Система, использующая фундаментальные данные, была бы по определению применима лишь к единственному рынку. В дополнение: поведение некоторых рынков настолько нестандартно (например, фьючерсов на фондовые индексы),
726 ЧАСТЬ 4. ТОРГОВЫЕ СИСТЕМЫ и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
что системы, созданные для торговли на таких рынках, вполне могут давать плохие результаты на широком спектре рынков. При тестировании системы для мультирыночного портфеля необходимо заранее предопределить относительное количество контрактов, которыми система будет торговать на каждом из рынков. В этом случае часто просто предполагают, что система будет торговать одним контрактом на каждом рынке. Однако этот подход слишком наивен по двум причинам. Во-первых, некоторые рынки значительно более волатильны, чем другие. Например, портфель, включающий один контракт на кофе и один на кукурузу, был бы значительно более зависим от результатов торговли кофе. Во-вторых, иногда желательно снизить относительные веса некоторых рынков, поскольку они сильно коррелированны с другими рынками (например, немецкая марка и швейцарский франк)*.
В любом случае процентное распределение доступных активов между всеми рынками следовало бы определять до тестирования системы. Эти относительные веса могут затем быть использованы для определения количества торгуемых на каждом рынке контрактов. Заметьте, что до тех пор, пока доходность измеряется в процентах, а не в долларах, общее количество контрактов, торгующихся на каждом рынке, не имеет значения - важны только соотношения между объемами средств, инвестированных в отдельные рынки.
НЕГАТИВНЫЕ РЕЗУЛЬТАТЫ
Никогда не следует недооценивать возможной значимости негативных результатов. Анализ условий, при которых система дает плохие результаты, иногда может раскрыть важные недостатки системы, которые ранее были пропущены, и, таким образом, дать ключ к возможному улучшению системы. Конечно, тот факт, что подразумеваемые изменения правил улучшают результаты в случае низкой результативности системы, ничего не доказывает. Однако обоснованность любых предполагаемых изменений была бы подтверждена, если подобные изменения в общем случае вели бы к улучшению результатов и для других наборов параметров и рынков. Потенциальную ценность негативных результатов как источника идей относительно того, как можно улучшить систему, трудно переоценить. Концепция беспорядка как катализатора мышления - всеобщая истина, которая была превосходно выражена писателем Джоном
* Для целей фьючерсной торговли (в противоположность историческому тестированию) историческая результативность может быть третьим релевантным фактором в определении веса контракта. Однако этот фактор не может учитываться как один из параметров процедур тестирования, поскольку он искажал бы результаты.
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 727
Гарднером: "В совершенном мире не было бы потребности в мышлении. Мы думаем, поскольку что-то происходит неправильно".
Идея учиться на плохих результатах в основном применима к системе, которая хороша на большинстве рынков и при большинстве наборов параметров, однако в отдельных случаях дает плохие результаты. Однако системы, которые демонстрируют разочаровывающие результаты на широком спектре рынков и наборов параметров, скорее всего, негодны, если только результаты не оказываются ужасающе плохи. В последнем случае может оказаться привлекательной система, которая меняет сигналы исходной системы на противоположные. Например, если тестирование новой системы следования за трендом показывает, что она постоянно теряет деньги на большинстве рынков, можно предполагать, что кто-то случайно наткнулся на эффективную проти-вотрендовую систему. Подобные открытия могут больно ударять по самолюбию, однако их не следует игнорировать.
Конечно, тот факт, что система демонстрирует стабильно плохие результаты, не подразумевает, что обратная ей система работала бы лучше. Причина в том, что виновником значительной части убытков часто оказываются транзакционные затраты. Таким образом, реверсивная система может работать не менее плохо, поскольку эти затраты никуда не денутся. Например, так было в случае вышеприведенного специально подобранного примера, описанного в начале этой главы. В качестве другого примера: на первый взгляд, реверсирование сигналов, генерируемых системой, которая теряет в среднем $3000 в год, может показаться привлекательной стратегией. Тем не менее, если две трети потерь могут быть отнесены к транзакционным затратам, то эта стратегия приведет к потере $1000 в год, предполагая неизменность ее результативности. (Предыдущие предположения подразумевают, что транзакционные затраты равны $2000 в год и что торговля приводит к потерям $1000 в год за вычетом этих затрат. Таким образом, реверсирование сигналов давало бы доход от торговли, равный $1000 в год, но транзакционные затраты ($2000 в год) привели бы к чистым убыткам в размере $1000 в год.) Мораль: если вы собираетесь сконструировать плохую систему, то вас ждут большие неприятности, если она окажется хорошей.
ЭТАПЫ ПОСТРОЕНИЯ И ТЕСТИРОВАНИЯ ТОРГОВОЙ СИСТЕМЫ
1. Получите все данные, необходимые для тестирования. Повторюсь еще раз: в высшей степени желательно использовать непрерывные фьючерсы (не путать с ближайшими фьючерсными контрактами или бессрочными фьючерсами). Это замечание не
728 ЧАСТЬ 4. ТОРГОВЫЕ СИСТЕМЫ и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
относится к краткосрочным торговым системам, которые могут использовать данные отдельных контрактов.
2. Определите концепцию системы.
3. Запрограммируйте правила, чтобы генерировать сделки в соот-
ветствии с этой концепцией.
4. Выберите небольшое количество рынков и исторических пери-
одов для этих рынков.
5. Сгенерируйте торговые сигналы системы для данных рынков и
исторических периодов при данном наборе параметров.
6. Создайте графики непрерывных фьючерсов для этих рынков и
годов и сделайте несколько их копий.
7. Обозначьте на этих графиках торговые сигналы. (Удостоверь-
тесь, что использовали одни и те же ценовые серии для созда-
ния графиков и тестирования системы.) Этот шаг важен. Я на-
хожу значительно более простым отлаживать систему, визуаль-
но проверяя сигналы на графиках, а не работая лишь с распе-
чатанными данными.
8. Проверьте, что система делает то, что предполагалось. Почти
всегда тщательная проверка обнаружит определенные неполад-
ки, вызванные одной или обеими из причин:
А. ошибки в программе;
Б. правила программы не предвидят некоторых обстоятельств или создают непредвиденные эффекты.
Например: система не генерирует сигнал в ситуациях, когда, согласно правилам, сигнал должен поступить; система генерирует сигнал, когда его не должно быть; системные правила неумышленно создают ситуации, в которых не могут быть сгенерированы новые сигналы или в которых позиция держится бесконечно. В основном такие типы ситуаций возникают благодаря мелким ошибкам при формулировании правил или при программировании. При обнаружении ошибок необходимо их исправить. Следует подчеркнуть, что исправления ошибок первого типа касаются только того, чтобы заставить систему действовать согласованно с концепцией, и должны делаться без всякой оглядки на то, помогают ли исправления повысить результативность или ухудшают ее в случае ситуаций, использованных в процессе разработки.
9. После того как сделаны необходимые исправления, повторите
шаги 7 и 8. Обратите, в частности, внимание на изменения в
сигналах по сравнению с предыдущим прогоном по двум
причинам:
ГЛАВА 20. ТЕСТИРОВАНИЕ и ОПТИМИЗАЦИЯ ТОРГОВЫХ СИСТЕМ 729
А. чтобы проверить, помогли ли изменения в программе устранить ошибки;
Б. чтобы убедиться, что изменения не привели к неожиданным эффектам.
10. После того как система заработала в соответствии с вашими
ожиданиями, протестируйте ее на всем заданном списке набо-
ров параметров по всей базе данных. (Предполагаемый торго-
вый портфель должен быть определен до запуска этого теста.)
11. Как детально объяснялось в этой главе, оцените результатив-
ность, основываясь на средней результативности всех тестиру-
емых наборов параметров или на процессе слепого моделиро-
вания. (Первое значительно проще.)
12. Сравните полученные результаты с результатами стандартной
общеизвестной системы (пробой, пересечение скользящих сред-
них) на соответствующем портфеле и тестовом периоде. Чтобы
ваша система имела некую реальную ценность, ее соотношение
прибыль/риск должно быть измеримо лучше, чем у стандартной
системы, или эквивалентно, но при большей диверсификации.
Описанные этапы представляют собой жесткую процедуру, разработанную для того, чтобы избежать получения искаженных результатов. Скорее всего, большинство систем не смогут пройти тест на этапе 12. Разработка систем с действительно высокой результативностью более трудна, чем думает большинство людей.
ЗАМЕЧАНИЯ ПО ПОВОДУ ТОРГОВЫХ СИСТЕМ
1. В системах следования за трендом основной метод, используе-
мый для идентификации трендов (например, пробой, пересече-
ние скользящих средних) вполне может оказаться наименее су-
щественным компонентом системы. В некотором смысле это
просто другая формулировка наблюдения Джима Оркатта по
поводу того, что существуют лишь два типа систем следования
за трендом: быстрые и медленные. Таким образом, при конст-
руировании систем следования за трендом может иметь боль-
ше смысла сконцентрироваться на модификациях (например,
фильтрах и подтверждающих правилах, снижающих количество
плохих сделок, подстройке характеристик рынка, правилах по-
строения пирамиды, правилах остановки), чем на попытках от-
крыть новый метод определения трендов.
2. Сложность ради сложности - не достоинство. Используйте
простейшую форму системы, если она не подразумевает суще-
1.
730 ЧАСТЬ 4. ТОРГОВЫЕ СИСТЕМЫ и ИЗМЕРЕНИЕ ЭФФЕКТИВНОСТИ ТОРГОВЛИ
ственных жертв в результативности по сравнению с более сложными версиями.
3. Важная причина для торговли на широком спектре рынков -
это управление риском через диверсификацию. Однако суще-
ствует еще одна очень важная причина торговать на таком ко-
личестве рынков, на каком только возможно: страховка против
пропуска спорадических гигантских движений цен на фьючер-
сных рынках. Важность улавливания всех таких масштабных
трендов нельзя переоценить - они могут создать ту разницу,
которая существует между посредственной и великолепной ре-
зультативностью. Рынок кофе в 1994 г. (см. рис. 1.2) и рынок
серебра в 1979-1980 гг. (см. рис. 1.1) - это два ярких приме-
ра рынков, которые были критичными для результативности
портфеля.
4. Если позволяют торговые активы, диверсификация может быть
распространена не только на рынки, но и на системы. Торгов-
ля с помощью нескольких систем, а не единственной могла бы
помочь улучшить общую результативность. В идеале, наиболь-
шая степень диверсификации была бы достигнута, если бы вы
использовали одновременно противотрендовые системы, систе-
мы распознавания фигур и системы следования за трендом. (Од-
нако такая цель может оказаться труднодостижимой, посколь-
ку обычно значительно труднее сконструировать противотрен-
довую систему или систему распознавания фигур, чем систему
следования за трендом.)
5. Если доступны значительные активы, лучше торговать при раз-
нообразных наборах параметров, а не с использованием един-
ственного оптимизированного набора.
6. Вообще говоря, значение оптимизации параметров сильно пре-
увеличено.