ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ. Торговая система — это набор правил, которые могут быть использо­ваны для генерирования торговых сигналов

Торговая система — это набор правил, которые могут быть использо­ваны для генерирования торговых сигналов. Параметр — это величи­на, от которой зависят правила системы и которую можно варьировать для того, чтобы изменять время поступления сигналов. Например, в базовой системе пробоя величина N (число предшествующих дней, мак­симумы и минимумы которых должны быть превышены, чтобы появил­ся сигнал) — это параметр. Хотя действие правил в системе останется тем же самым, будь N равно 7 или 40, время поступления сигнала бу­дет значительно отличаться (см. рис. 17.5).

Большинство торговых систем будет иметь более одного парамет­ра. Например, в системе пересекающихся скользящих средних есть два параметра: длины краткосрочной и долгосрочной скользящих средних. Любая комбинация значений параметров называется набором парамет­ров. Например, в системе пересечения скользящих средних скользящие средние длиной 10 и 40 будут представлять специфический набор па­раметров. Любая другая комбинация значений усреднения будет пред­ставлять другой набор параметров. В системах с единственным пара­метром (например, в системах пробоя) набор параметров будет состо­ять из одного-единственного элемента*.

Большинство «механических» систем ограничиваются одним или двумя параметрами. Однако конструкция более творческих и гибких систем или дополнение базовых систем различными модификациями обычно будут подразумевать необходимость трех или более парамет­ров. Например, добавление подтверждающего правила временной за­держки к системе пересечения скользящих средних подразумевало бы третий параметр: число дней временной задержки. Одна проблема, связанная с системами, которые включают в себя много параметров, связана с тем, что они делаются слишком громоздкими для тестирова­ния даже малой части всех разумных комбинаций. Например, если каж­дый параметр может подразумевать 10 значений, возникло бы 1000 наборов параметров, если система включает 3 параметра, и 1 000 000 наборов параметров, если бы было 6 параметров!

Вполне ясно, что практические соображения диктуют потребность ограничить количество наборов параметров. Разумеется, простейший способ достижения такой цели состоит в уменьшении количества пара­метров системы. Как правило, следует использовать простейшую фор-

Заметьте, что термины «набор параметров» и «вариация системы» (последнее выражение использовалось в гл. 17) соответствуют идентичным понятиям. Вве­дение термина «набор параметров» было просто отложено до этой главы, по­скольку это позволяет более логично выстроить подачу материала.

ГЛАВА 20. тестирование и оптимизация торговых систем 699

му системы (с наименьшим возможным количеством параметров), кото­рая не подразумевает существенного ухудшения результативности по сравнению с более сложными вариантами. Однако не стоит отбрасы­вать значимые параметры ради сокращения объема необходимых тес­тов. Следовало бы заметить, что даже в простой системе с одним или двумя наборами параметров нет необходимости в тестировании всех возможных комбинаций. Например, в простой системе пробоя, когда кто-то хочет протестировать результативность при значениях N от еди­ницы до ста, нет никакой необходимости тестировать каждое значение в этом ряду. Намного более эффективным подходом оказалось бы вна­чале протестировать систему с некоторым шагом для значений N (на­пример, 10, 20, 30... 100), а затем, при желании, трейдер может со­средоточиться на любых областях, которые покажутся интересными. Например, если система, в частности, показывает лучшую результатив­ность при значениях параметра N = 40 и N = 50, трейдер может захо­теть также протестировать другие значения N из этого суженного диа­пазона. Однако подобный дополнительный шаг, видимо, излишен, по­скольку, как будет видно из продолжения этой главы, разница в резуль­тативности близких наборов параметров, вероятно, является случайной величиной и лишена какого-либо значения.

В качестве более практического примера из реальной жизни пред­ставим, что мы хотим протестировать систему пересечения скользящих средних, которая включает в себя правило подтверждения с времен­ной задержкой. Если бы мы поинтересовались результативностью сис­темы при значениях параметров от 1 до 50 для краткосрочной сколь­зящей средней, от 2 до 100 для более долгосрочной скользящей сред­ней и от 1 до 20 для временной задержки, образовалось бы 74 500 наборов параметров*.

Очевидно, было бы невозможным протестировать, даже не сравни­вая результаты, все эти комбинации. Заметьте, что мы не можем умень­шить количество параметров, не разрушив основную структуру системы. Однако мы можем протестировать ограниченное количество наборов параметров, что давало бы очень хорошее приближение обшей резуль­тативности системы. Например, мы могли бы использовать шаги в 10 для краткосрочной скользящей средней (10, 20, 30, 40 и 50), шаги в 20 для долгосрочной скользящей средней (20, 40, 60, 80 и 100) и три выбран­ных значения для временной задержки (например, 5, 10 и 20). При этом количество тестируемых наборов параметров снизилось бы до 57**.

Чтобы избежать двойного счета, каждая «краткосрочная» скользящая сред­няя должна комбинироваться только с «долгосрочной» скользящей средней большей длины. Таким образом, общее количество комбинаций дается фор­мулой (99 + 98 + 97 + ... + 50) х 20 = 74 500.

(5 + 4 + 4 + 3 + 3) х 3 = 57.

700 ЧАСТЬ 4. торговые системы и измерение эффективности торговли

После проведения тестов по этим наборам параметров результаты должны быть проанализированы, и далее на основании оценки может быть протестировано умеренное количество дополнительных наборов параметров. Например, если временная задержка, равная 5, — наи­меньшее из протестированных значений — дает наилучшие результаты, то было бы разумно протестировать меньшие значения временной за­держки.

С концептуальной точки зрения могло бы быть полезным опреде­лить четыре типа параметров.

Непрерывный параметр.Непрерывный параметр может подразу­мевать использование любого значения из данного диапазона. Процен­тный ценовой пробой был бы примером непрерывного параметра. По­скольку непрерывный параметр может предполагать бесконечное чис­ло значений, необходимо определить некоторый шаг — интервал в те­стировании подобного параметра. Например, параметр процентного пробоя может быть протестирован в диапазоне от 0,005 до 0,50% с шагом в 0,05% (т.е. 0,05; 0,10 ... 0,50). Будет разумным ожидать, что при малых изменениях в значении параметра результативность будет меняться незначительно (предполагая тестовый период существенной длительности).

Дискретный параметр.Дискретный параметр подразумевает толь­ко целые значения. Например, количество дней в системе пробоя — это дискретный параметр. Хотя можно протестировать дискретный па­раметр для каждого целочисленного значения внутри заданного диапа­зона, такая детализация часто не нужна, и, как правило, используется более разреженная выборка. Как и в случае с непрерывными парамет­рами, при малом изменении значения параметра будет разумным ожи­дать небольших изменений результативности системы.

Кодовый параметр.Кодовые параметры используются для описания классификационных различий в определениях торговых правил. Таким образом, кодовому параметру можно присвоить любое математическое значение. В качестве примера кодового параметра предположим, что мы хотим протестировать простую систему пробоя, используя три раз­личных определения пробоя (случай покупки): закрытие дня превыша­ет максимум предшествующих N дней, дневной максимум превышает предшествующий N-дневный максимум и закрытие дня превышает наи­большее закрытие предшествующих N-дней. Мы могли бы протестиро­вать в отдельности каждую из этих систем, но удобнее было бы исполь­зовать параметр для идентификации подразумеваемого определения. Таким образом, значение параметра, равное нулю, указывало бы на первое определение, значение, равное 1 — на второе определение и

ГЛАВА 20. тестирование и оптимизация торговых систем 701

значение, равное 2 — на третье определение. Заметьте, что у этого параметра есть только три возможных значения, и количественные из­менения параметра не имеют никакого смысла.

Фиксированный или неоптимизированный параметр.Обычно параметр (любого типа) будет подразумевать возможность различных значений в тестируемой системе. Однако в системах с большим числом параметров может оказаться необходимым зафиксировать некоторые из значений параметра для того, чтобы избежать чрезмерного количе­ства наборов параметров. Такие параметры называют неоптимизиро­ванными. Например, в нечувствительные (медленные) системы следова­ния за трендом мы могли бы включить правила остановки, чтобы пре­дотвратить катастрофические убытки. По определению в этой ситуа­ции правило остановки было бы активизировано лишь в немногих слу­чаях. Следовательно, любые параметры, подразумеваемые правилом остановки, могли бы быть фиксированными, поскольку различия в зна­чениях этих параметров не влияли бы существенно на результаты.

ВЫБОР ЦЕНОВЫХ СЕРИЙ

Первым шагом при тестировании системы на данном рынке является выбор подходящих ценовых серий. Обстоятельства, связанные с этим выбором, уже были полностью разобраны в гл. 19. Вообще говоря, непрерывные фьючерсные серии оказываются предпочтительным выбо­ром, хотя и реальные ценовые данные по отдельным контрактам могли бы использоваться для краткосрочных торговых систем.

ВЫБОР ВРЕМЕННОГО ПЕРИОДА

Вообще говоря, чем дольше тестовый период, тем большего доверия заслуживают результаты. Если временной отрезок слишком короток, тест не будет отражать результативность системы для достаточного спектра рыночных ситуаций. Например, тестирование системы следо­вания за трендом на рынке хлопка, которое использует лишь данные двух последних лет (апрель 1993 г. — март 1995 г. в момент написа­ния книги) — период, в который доминировал мощный протяженный «бычий» рынок (рис. 20.1), — будет приводить к результатам, вводящим в полное заблуждение с точки зрения возможной долгосрочной резуль­тативности системы.

С другой стороны, если для тестирования системы используется слишком протяженный период, первые годы рассматриваемого перио­да могут оказаться в высшей степени нерепрезентативными для текущих

702 ЧАСТЬ 4. торговые системы и измерение эффективности торговли

Рисунок 20.1.

ФАЗА МАСШТАБНОГО ТРЕНДА

КАК ПРИМЕР НЕРЕПРЕЗЕНТАТИВНОГО ПОВЕДЕНИЯ ЦЕН: НЕПРЕРЫВНЫЕ ФЬЮЧЕРСЫ НА ХЛОПОК

ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ. Торговая система — это набор правил, которые могут быть использо­ваны для генерирования торговых сигналов - student2.ru

рыночных условий. Например, было бы правильнее не расширять тес­товый период настолько далеко в прошлое, чтобы включить в него 1973-1976 гг. — временной отрезок, ставший свидетелем беспре-цендентного массированного роста цен с последующим резким коллап­сом на многих товарных рынках. Включение этого в высшей степени непоказательного периода привело бы к значительному преувеличению возможной результативности большинства систем следования за трен­дом. Другими словами, громадная прибыль, зафиксированная большин­ством систем следования за трендом в этот период, вряд ли могла бы быть еще раз заработана в будущем.

Хотя и невозможно предложить решающий ответ по поводу того количества лет, которое следует использовать при тестировании, 10-20 лет кажутся разумным выбором. Дня краткосрочных торговых си­стем (средняя продолжительность торговли, равная нескольким неделям или менее) был бы, вероятно, достаточен более короткий тестовый пе­риод (например, 5-10 лет). Результаты тестирования торговой систе-

ГЛАВА 20. тестирование и оптимизация торговых систем 703

мы, основанные на значительно более коротком периоде, должны вы­зывать подозрения. Как правило, большинство опубликованных иссле­дований торговых систем основаны на тестовых периодах в пять или более лет.

В идеальном случае следовало бы тестировать систему, используя длительный временной отрезок (например, 15 лет), а затем оценивать результаты как для всего периода в целом, так и для различных более коротких интервалов (например, для отдельных лет . Подобный подход важен для определения степени временной устойчивости системы — постоянства результативности от одного периода к другому. Устойчи­вость во времени важна, поскольку она повышает доверие к возмож­ностям системы поддерживать постоянную приемлемую результатив­ность в будущем. Большинство людей будет испытывать сомнения по поводу рациональности использования системы, которая создавала зна­чительную чистую прибыль на периоде в 15 лет благодаря трем эффек­тным результативным годам, но несла убытки или торговала близко к безубыточности в оставшиеся 12 лет, и эти сомнения совершенно спра­ведливы. И наоборот, система, которая регистрировала умеренный чи­стый доход на протяжении 15-летнего периода и при этом была при­быльной в 14 из 15 годов, без сомнения, большинством трейдеров рас­сматривалась бы как более привлекательная.

Наши рекомендации