Использование устойчивых показателей также позволит вам избежать подгонки, так как эти показатели в меньшей степени будут зависеть от больших изменений результата, связанных с небольшим количеством событий. Давайте рассмотрим ситуацию применения правил для улучшения нашей системы двойного скользящего среднего, ранее описанной при обсуждении подгонки. Правило, введенное для уменьшения размера падения, улучшило величину показателя CAGR% с 41,4 до 45,7 процентов (то есть на 10,3 процента), а коэффициент MAR – на 60 процентов (с 0,74 до 1,17). В отличие от него показатель RAR% изменился с 53,5 до 53,75 процента, то есть всего на 0,4 процента, а устойчивый показатель соотношения риска/доходности R-cubed изменился с 3,29 до 3,86 процента, то есть всего на 1,73 процента. Устойчивые показатели в меньшей степени отражают существенные изменения, вызванные небольшим количеством сделок. Таким образом, если подгонка кривой позволяет исправить неудачи нескольких сделок, то устойчивые показатели вряд ли покажут улучшения системы, вызванные такой подгонкой.
Давайте рассмотрим, какие другие факторы влияют на надежность тестирования данных прошлого с целью предсказания будущего поведения системы.
Репрезентативность наших тестов для целей предсказания будущего определяется двумя факторами:
– Количество рынков: тесты, проводимые на различных рынках, будут, скорее всего, включать рынки с разной степенью волатильности типов тренда.
– Продолжительность теста: тесты, проводимые на более продолжительных периодах, учитывают различные состояния рынка и с большей вероятностью включают периоды, в которых прошлое сопоставимо с будущим.
Я рекомендую проводить тестирование на всех данных, которые будут вам доступны. Вы заплатите гораздо меньше за доступ к данным, нежели за использование системы, которая, по вашему мнению, работала, но только потому, что вы не протестировали ее на достаточном количестве рынков или за достаточное количество лет. Не почувствуете ли вы себя дураком, когда ваша система перестанет работать из-за того, что рынок пришел в состояние, которое уже наблюдалось три или четыре раза на протяжении последних двадцати лет, не включенных в ваш тест?
Этой ошибке часто подвержены молодые трейдеры. Они полагают, что наблюдаемое ими состояние является репрезентативным для всех рынков в целом. Часто они не понимают, что рынки проходят через различные этапы и меняются со временем, зачастую возвращаясь к тому состоянию, в котором были когда-то. Молодежь в трейдинге, как и в жизни вообще, не желает изучать историю, существовавшую до момента их появления. Будьте молодыми, но не будьте глупыми – изучайте историю.
Помните те времена интернет-бума, когда буквально каждый был дейтрейдером и гением? Сколько этих гениев пережило коллапс, когда их прежде удачные методы перестали работать? Если бы они провели тестирование, то поняли бы, что их методы зависели от конкретных рыночных условий бума, поэтому они должны были отказаться от их использования, как только эти условия перестали существовать. Или, как вариант, они могли бы взять на вооружение устойчивые методы, хорошо работающие во всех условиях.
Концепция размера выборки проста: для того чтобы делать статистически достоверные заключения, нужно иметь достаточно большую выборку. Чем меньше выборка, тем грубее выводы, которые можно сделать; чем выборка больше, тем выводы качественнее. Нет никакого волшебного количества – просто чем больше, тем лучше, а чем меньше, тем хуже. Выборка из 20 и менее элементов содержит большую вероятность ошибки. Выборка из 100 и более значений с большей вероятностью может использоваться для прогнозирования. Для большинства тестов обычно достаточно выборки в несколько сотен значений. Есть несколько специальных формул и методов, позволяющих оценить требуемую величину выборки, однако эти формулы не предназначены для данных, используемых в трейдинге, где у нас просто нет такого прекрасного распределения возможных исходов, как, например, распределение женщин по росту, показанное на рисунке 4–3 в главе 4.
Однако проблема состоит не в том, как много элементов выборки вам нужно. Проблема возникает при оценке прошлого, а именно случаев, когда определенные правила вступали в силу достаточно редко. Поэтому для этих типов правил просто невозможно получить большую выборку. Возьмем, к примеру, поведение на рынке на последней стадии роста ценовых «пузырей». Для этих условий можно придумать правила и даже протестировать их, однако выборка будет слишком мала для принятия решения. В таких случаях важно понимать, что результаты теста не будут иметь ничего общего с тем, что мы могли бы узнать, если бы выборка была больше. Ранее отмеченные мной сезонные явления представляют область, в которой возникают аналогичные проблемы.
Тестируя новые правила для системы, вы должны оценивать, как часто эти правила оказывают влияние на результат. Если за все время проведения теста правило воздействовало на результат всего четыре раза, то у вас нет статистических достоверных оснований, чтобы определить, работает оно или нет. Вполне возможно, что замеченные вами эффекты были вызваны случайными причинами. Одним из решений ситуации является изменение правила для того, чтобы оно вступало в действие чаще, – это увеличит размер выборки, а тем самым статистическую описательную ценность тестов для этого правила.
Помимо размера выборки есть еще две проблемы, которые, однако, зачастую игнорируются:
– Оптимизация под отдельный рынок: гораздо сложнее тестировать с помощью достаточного размера выборки методы оптимизации, предназначенные для каждого отдельного рынка, так как на каждом отдельно взятом рынке существует меньше возможностей для трейдинга.
– Сложные системы: в сложных системах есть много правил. Поэтому со временем становится сложно определить, сколько раз применялось каждое правило, а также каково было его влияние. Таким образом, становится сложнее доверять статистической значимости тестов, проводимых с использованием сложных систем.
По этим причинам я не рекомендую проводить оптимизацию для отдельных рынков и предпочитаю простые идеи, статистическое значение которых гораздо выше.
Главный вопрос, интересующий всех, звучит так: «Как можно определить возможный исход будущего реального трейдинга?»
Чтобы ответить на него, нужно понимать факторы, вызывающие потери, необходимость точных показателей и достаточного количества репрезентативных примеров. Исходя из этого, вы можете размышлять об эффектах изменений на рынках и о том, почему даже прекрасные системы, выстроенные опытными трейдерами, достаточно изменчивы с точки зрения отдачи. Реальность такова, что вы не знаете и не можете предсказать, как будет вести себя система. Лучшее, что вы можете сделать, это использовать инструменты, позволяющие определить набор возможных значений, и выявить факторы, влияющие на эти значения.
Тот факт, что какая-то система в недавнем прошлом сработала хорошо, может быть связан с простой удачей или идеальными условиями на рынке в тот момент именно для данной системы. В целом хорошо работающим системам свойственно после успешных периодов испытывать плохие времена. Не ждите, что сможете повторить отличные результаты еще раз. Это может случиться, но на это не стоит полагаться. Скорее всего, в ближайшем будущем вам предстоит период частично удачной деятельности.
Всем желающим начать торговлю по какой-либо системе я предлагаю выполнить следующее упражнение. Возьмите несколько параметров системы и существенно поменяйте их значения, например на 20 или 25 процентов. Выберите точку, расположенную значительно ниже кривых оптимизации, изображенных на рисунках 12-1 и 12-2. Теперь посмотрите на результаты теста. Используя систему прорыва Боллинджера, я решил посмотреть, что произойдет, если мы изменим оптимальные значения с 350 дней и -0,8 в качестве порога выхода на 250 дней и 0,0 соответственно. Такие значения уменьшили RAR% с 59 процентов до 58 процентов, а значение R-cubed сократилось с 3,67 до 2,18 – достаточно значительное снижение. Это только один пример серьезных изменений, которые можно обнаружить при переходе от использования исторических данных к реальному трейдингу на рынке.
Окна повторяющейся оптимизации
Еще одно упражнение, более тесно, чем предыдущее, связанное с практикой перехода от тестирования к трейдингу. Для проведения упражнения выберите дату за истекший 8 – 10-летний период, а затем проведите оптимизацию всех данных до этой даты, используя те же методы оптимизации, что вы использовали бы в обычных условиях при ваших обычных допущениях. Просто представьте себе, что единственные данные, которые у вас есть, – это данные по состоянию на выбранную вами дату. После того как вы определили оптимальные значения параметров, проведите тестирование с включением двух лет после избранной вами даты. Как изменились результаты с учетом последующих лет?