Ранги наборов параметров по двухгодичным тестовым периодам, в зависимости от значений n
Значение N набора | Ранг набора | Ранг набора | Ранг набора | Средний ранг |
параметров | параметров в 1989-1990 | параметров в 1991-1992 | параметров в 1993-1994 | |
9,0 | ||||
5,0 | ||||
5,0 | ||||
3,3 | ||||
5,3 | ||||
6,7 | ||||
1,3 | ||||
3,3 | ||||
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 гг. Важнейший момент состоит в том, чтобы периоды «слепого моделирования» и оптимизации не накладывались один на другой. Моделирование, которое производится на том же периоде, что и оптимизация, не имеет ценности.