ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ
Торговая система — это набор правил, которые могут быть использованы для генерирования торговых сигналов. Параметр — это величина, от которой зависят правила системы и которую можно варьировать для того, чтобы изменять время поступления сигналов. Например, в базовой системе пробоя величина 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 — на третье определение. Заметьте, что у этого параметра есть только три возможных значения, и количественные изменения параметра не имеют никакого смысла.
Фиксированный или неоптимизированный параметр.Обычно параметр (любого типа) будет подразумевать возможность различных значений в тестируемой системе. Однако в системах с большим числом параметров может оказаться необходимым зафиксировать некоторые из значений параметра для того, чтобы избежать чрезмерного количества наборов параметров. Такие параметры называют неоптимизированными. Например, в нечувствительные (медленные) системы следования за трендом мы могли бы включить правила остановки, чтобы предотвратить катастрофические убытки. По определению в этой ситуации правило остановки было бы активизировано лишь в немногих случаях. Следовательно, любые параметры, подразумеваемые правилом остановки, могли бы быть фиксированными, поскольку различия в значениях этих параметров не влияли бы существенно на результаты.
Дата добавления: 2016-07-18; просмотров: 1600;