Продолжите процесс, добавив еще несколько лет из прошлого. Как соотносятся результаты этого теста с результатами первичного тестирования и первым окном повторяющейся оптимизации? Насколько сопоставимы результаты первичного тестирования с данными, рассчитанными на основании всей имеющейся информации? Продолжайте процесс до тех пор, пока не достигнете настоящего времени.
Чтобы проиллюстрировать это упражнение, я провел оптимизацию систем прорыва Боллинджера, в рамках которой менял каждый из трех параметров в достаточно широких пределах. После этого я выбрал оптимальный набор значений, расположенный недалеко от точки, в которой был достигнут максимум значения R-cubed. Я произвел оптимизацию в рамках пяти независимых тестов. В таблице 12-4 показаны результаты повторяющейся оптимизации за год после указанного периода.
Таблица 12-4. Повторяющаяся оптимизация и реальный RAR%
Copyright 2006 Trading Blox, все права защищены.
Как видно из таблицы, результаты существенно различаются по каждому тестируемому периоду. Более того, оптимальные значения для каждого тестируемого периода различны. Это подтверждает неточность процессов тестирования и свидетельствует о том, что при переходе от тестов к реальному трейдингу вы непременно столкнетесь с неожиданным положением вещей.
Моделирование по методу Монте-Карло
Моделирование по методу Монте-Карло представляет собой способ определения силы системы и отвечает на вопросы: «Что могло бы произойти, если бы прошлое было чуть другим?» или «Что может принести будущее?» Вы можете рассматривать метод как способ создания альтернативных ситуаций на основании набора данных, составляющих реальный набор данных о ценах.
Моделирование по Монте-Карло относится к классу методов, использующих случайный набор данных для исследования какого-либо феномена. Оно в особенности применимо для ситуаций, точное математическое моделирование которых невозможно или затруднено. Название Монте-Карло происходит от города в Монако, известного своими казино, предлагающими большое количество игр, исход которых зависит от случайности, – например рулетка, блэкджек, кости и т. п. Метод использовался в ходе Манхэттенского проекта учеными, работавшими над созданием атомной бомбы, так что его название уходит корнями в ту эпоху.
Тогда ученые пытались определить характеристики расщепления урана, чтобы рассчитать точную массу урана, необходимую для создания бомбы. Обогащенный уран был крайне дорог, поэтому они не могли себе позволить ошибиться в расчетах – в противном случае они потеряли бы месяцы (не говоря уже о деньгах), если бы бомба не взорвалась из-за недостаточного количества в ней урана. Аналогично, если бы они ошиблись в другую сторону, посчитав, что нужно большее количество урана, чем требовалось на самом деле, то тестирование пришлось бы отложить на месяцы. К сожалению, с помощью существовавших тогда методов невозможно было создать модель поведения атомов урана в бомбе, а компьютерные ресурсы, способные справиться с этой задачей, появились гораздо позже.
Для определения количества расщепляемого урана им необходимо было узнать, какая доля нейтронов при расщеплении атома может привести к расщеплению другого атома. Известный физик Ричард Фейнман предположил, что они могут определить характеристики поведения отдельного нейтрона с помощью команды математиков, чтобы затем установить, был ли нейтрон поглощен другим ядром или расщепил другой атом. Фейнман понял, что для отображения различных типов нейтронов при расщеплении атома можно использовать случайные числа. Произведенное несколько тысяч раз, это действие позволило бы им пронаблюдать за распределением характеристик расщепления урана и определить необходимое его количество. Фейнман знал, что будущее предсказать невозможно, так как процесс был очень сложным, но он мог взять те части проблемы, которые понимал, и, используя случайные числа для моделирования особенностей нейтронов, получить ответ на требуемый вопрос. Он сумел понять характеристики расщепления урана в целом, хотя и не мог точно предсказать, что будет происходить с каждым атомом в какой-то момент времени.
Альтернативные ситуации в трейдинге
Поведение рынков, которые формируются действиями тысяч людей, руководствующихся собственным опытом и мышлением, гораздо сложнее, чем чисто физические процессы расщепления атомов. К счастью, подобно Фейнману и его анализу, мы можем использовать случайные значения для лучшего понимания потенциальных характеристик системы трейдинга, хотя и не знаем, что может принести будущее. Мы можем изучить набор различных альтернативных ситуаций, вариантов развития событий в случае немного другого исходного состояния.
Для создания таких альтернативных ситуаций в методе Монте-Карло используется один из двух способов:
– Сделки вперемешку: порядок и начальные даты сделок перемешиваются случайным образом, а затем потери или доходы в процентах используются для корректировки размера капитала путем открытия новой сделки.
– Кривая капитала вперемешку: выстраивание новых кривых капитала путем сбора случайных частей первоначальной кривой капитала.
Если сравнить эти два метода, то кривая вперемешку позволяет строить более реалистичные кривые капитала, так как метод Монте-Карло с изменением очередности сделок может привести к недооценке величины падений.
Периоды максимального истощения обязательно возникают в конце больших трендов или периодов быстрого роста капитала. В эти времена корреляция рынков вырастает по сравнению с обычными моментами. Это правдиво как для рынков ценных бумаг, так и для фьючерсов. В конце большого тренда, когда он прерывается и меняет направление, кажется, что все сразу начинает двигаться против тебя: даже рынки, прежде казавшиеся некоррелировавшими, становятся таковыми в волатильные дни прекращения большого тренда.
Так как смешивание сделок устраняет связь между сделками и их датами, оно также устраняет эффект влияния на кривую капитала в случаях, когда многие сделки одновременно закрываются и меняются на противоположные. Это означает, что длительность и частота ваших периодов истощения при применении метода будут показаны меньшими, чем на самом деле. Возьмите, к примеру, изменения цен на золото и серебро весной 2006 года. Если бы вы тестировали систему следования тренду, работающую на этих рынках, то перемешивание сделок означало бы, что периоды истощения для этих рынков произошли в разное время, что существенно сократило бы эффект каждого отдельного падения. На самом деле этот эффект воздействовал на другие, на первый взгляд не связанные рынки, такие как рынок сахара: в тот же период, когда падали цены на золото и серебро (20 дней с середины мая по середину июня 2006 года), на рынке сахара также наблюдалось падение. Таким образом, смешивание сделок – неподходящий метод, так как он недооценивает уровни истощения, с которыми неизбежно сталкиваются трейдеры, использующие долгосрочные и среднесрочные системы.
Другим примером такого рода служит однодневное падение на фондовом рынке США в 1987 году. В день, когда при открытии возник кризис на рынке евродолларов, я обнаружил, что аналогичная ситуация наблюдается и на других рынках, обычно не коррелирующих с евродолларами. Смешивание сделок по методу Монте-Карло обычно размывает эффект таких фактов, потому что разделяет сделки, проведенные в одном и том же направлении в одни и те же дни.
Многие программные продукты, позволяющие делать расчеты по методу Монте-Карло, дают возможность выстраивать новые кривые, возникающие при смешивании кривых капитала. Однако они не принимают в расчет один важный момент. В ходе тестирования и практического опыта я обнаружил, что влияние периода плохих дней в конце большого тренда заметно большее, чем можно ожидать от случайного события. В эти периоды существенного истощения кривая капитала для системы следования за трендом демонстрировала серийную корреляцию или корреляцию между величиной изменения в текущий и предшествующий день. Проще говоря, плохие дни группируются таким образом, что это сложно объяснить случайными факторами.
Давайте вернемся к недавно описанному примеру с падением на рынках золота, серебра и сахара весной 2006 года. Если перемешать только величины ежедневных изменений, то будет потерян достаточно длинный период существенных колебаний размера капитала в период с середины мая по середину июня, так как маловероятно, что эти изменения вновь окажутся рядом при случайной выборке, даже если взяты из реальной кривой.
Чтобы учесть это в программах моделирования, мы в компании Trading Blox также используем изменения значения кривой капитала, однако позволяем сделать выборку не по дневным значениям, а по значениям нескольких дней. Этот метод позволяет группировать вместе плохие дни, возможные в реальном трейдинге. В рамках моего теста я брал 20-дневные интервалы для перемешивания кривых капитала и обнаружил, что это может предотвратить автокорреляцию кривой капитала и позволяет модели приобрести более реалистичный вид для целей прогнозирования.