Подгонка возникает в случаях, когда система является слишком сложной. Вполне возможно добавить к системе правила, улучшающие ее исторические результаты, но только при условии, что такие дополнительные правила оказывают влияние лишь на небольшое количество важных сделок. Добавление таких правил может привести к подгонке. Особенно справедливо это для сделок, проводимых в периоды, критические для кривой капитала системы. Например, правило, позволяющее вам выходить из прибыльной сделки на уровне, близком к пиковому, безусловно, улучшит результативность, однако будет являться подгонкой, так как неприменимо в большом количестве ситуаций.
Я наблюдал многочисленные примеры того, как поставщики систем использовали эту технологию для улучшения показателей системы после неудачных периодов. Порой они начинают продавать лучшие, исправленные системы под названием Плюс или Версия 2. Поэтому желающие приобрести «улучшенную систему» должны хорошенько изучить природу правил, составляющих улучшения системы, для того чтобы выяснить, не связано ли улучшение с подгонкой.
Я нахожу полезным для изучения феноменов тестировать их на предельных значениях. Сейчас я представлю вам систему, в рамках которой проводится вопиющая подгонка результатов. Мы начнем с простой системы двойной скользящей средней и станем постепенно добавлять правила для подгонки результатов. Если вы помните, за последние 6 месяцев система испытала достаточно неприятное падение. Поэтому я добавлю несколько правил, чтобы уменьшить эффект такого падения и улучшить результаты. Я буду сокращать размер позиций на определенное количество процентов при достижении определенного уровня падения, а затем, по завершении падения, возобновлю торговлю в обычных объемах.
Для реализации этой идеи мы добавляем правило с двумя параметрами оптимизации: объем сокращения позиции и уровень, на котором производится сокращение. Я смотрю на кривую капитала в нашей модели и принимаю решение о том, что позиции будут сокращены на 90 процентов при уровне падения, равном 38 процентам. Это улучшает результаты с 41,4 процента до 45,7 процента, уровень падения снижается с 56,0 до 39,2 процента, а коэффициент MAR вырастает с 0,74 до 1,17. Кто-то решит, что это отличное правило, улучшающее систему. И будет неправ!
Рисунок 11-6. Изменение коэффициента MAR при изменении количества дней в скользящей средней
Copyright 2006 Trading Blox, все права защищены.
Проблема в том, что это правило действует только один раз в ходе всего теста, в самом его конце; кроме того, я воспользовался моим знанием кривой капитала. Это говорит о том, что система сознательно подгонялась под известные результаты. «Ну и в чем проблема?» – спросите вы. Взгляните на форму кривой на рисунке 11-6, на котором мы изменили порог выхода при падении и сократили позиции.
Вы наверняка заметили резкое падение результативности при использовании порога для выхода при падении, меньшем 37 процентов. Фактически изменение порога выхода при падении всего на один процент изменяет годовые результаты с прибыли на уровне 45,7 процента на убытки в размере 0,4 процента. Нам пришлось применить наше новое правило в августе 1996 года, после чего наши позиции сократились так сильно, что мы не смогли заработать достаточно денег для того, чтобы выбраться из этой ямы. Так что, возможно, это не такое уж хорошее правило. Оно сработало только для первого случая и только потому, что падение произошло достаточно близко к концу периода тестирования.
Трейдеры называют этот феномен обрывом. Наличие обрывов – существенных изменений результатов вследствие небольших изменений значений исходных параметров – отличный индикатор того, что вы подогнали данные; и вследствие этого ваши реальные результаты будут крайне отличаться от результатов, полученных в ходе тестирования. Это еще раз свидетельствует в пользу оптимизации параметров: вы можете сразу видеть обрывы и выявить источник проблемы до начала трейдинга.
Важность размера выборкиКак я уже говорил, люди склонны уделять слишком много внимания редким случаям возникновения какого-то феномена, несмотря на то что со статистической точки зрения из нескольких случаев невозможно извлечь много информации. Это – основная причина подгонки. Правила, которые вступают в действие нечасто, могут вызывать ненамеренную подгонку, приводящую к расхождениям между результатами тестирования прошлого и реального трейдинга.
Хорошим примером этого является сезонность. Тестирование сезонных изменений на протяжении 10 лет предполагает изучение всего 10 случаев возникновения определенного сезонного феномена – со статистической точки зрения такая выборка недостаточна, поэтому все тесты с ее использованием не дают точных прогнозов на будущее.
Давайте рассмотрим правило, которое игнорирует эту концепцию и предполагает использование компьютера для того, чтобы избежать подгонки. Вы могли заметить, что на протяжении нескольких лет результаты сентября были плохими – поэтому мы тестируем правило, улучшающее показатели сентября на некий процент. Вы можете воспользоваться компьютером для поиска любых неудач, связанных с сезонностью, и для улучшения результатов в этих периодах.
Я проделал это для системы, описанной в данной главе. Я провел около 4000 тестов, уменьшавших значение позиции в начале каждого месяца на некоторое количество процентов в течение нескольких дней, а по истечении этого периода начинал вновь торговать в полную силу. За десятилетний период тестирования я обнаружил всего два периода, в которых эти действия приводили к изменениям. Если сокращать позиции на 96 процентов в первые два дня сентября и первые 25 дней июля, можно улучшить результаты. Хотите узнать насколько?
Применение правила улучшает отдачу с 45,7 до 58,2 процента, падение немного вырастает с 39,2 до 39,4 процента, а коэффициент MAR растет с 1,17 до 1,48. И вновь мы думаем, что это отличное правило и что с его применением система заработает лучше.
К сожалению, это правило работает только потому, что в эти периоды в прошлом было существенное падение. Маловероятно, что падения в эти конкретные периоды вновь повторятся. Это – пример самой неправильной подгонки. Удивительно, как много людей, толковых во всех прочих вопросах, умудряются попасться на эту удочку.
Не зная истинной причины, можно подумать, что это отличная система для начала трейдинга. Возможно, вы даже начнете собирать деньги на трейдинг у друзей и родственников, рассказывая им об этой прекрасной системе и ее результатах. Проблема только в том, что на самом деле ваша система приносит не 58,2, а 41,4 процента, падение составляет не 39,4, а 56,0 процентов, а коэффициент MAR равен не 1,48, а 0,74. В итоге все закончится разочарованием в реальных результатах – к сожалению, вы были слишком увлечены легкими поправками системы, что привело к подгонке кривой.
Далее мы обсудим возможности предотвращения проблем, описанных в этой главе. Я покажу вам способы минимизации эффекта трейдера, определения случайных эффектов, корректной оптимизации и предотвращения сверхоптимизации исторических данных – так, чтобы, используя ту или иную систему, вы могли получить реальные сведения, а не иллюзорные прогнозы.