Пардо Р. Разработка, тестирование и оптимизация торговых систем для биржевого трейдера
Книга Р. Пардо «Разработка, тестирование и оптимизация торговых систем» – это классика мирового трейдинга. Это путь от неуверенности, бессистемности, расшатанных нервов, изматывающих стрессов к осмысленному и прибыльному трейдингу, опирающемуся на оружие, которым оснащает себя каждый трейдер – Успешную Торговую Систему.
Порядок исполнения ордеров (Order of Execution)
Порядок исполнения серии последовательных ордеров может кардинально влиять на эффективность торговли. Это не представляет проблемы, если торговая системы вводит всего один ордер в день. Проблема возникает в ситуации, когда система вводит в день более одного ордера, а используемые для анализа ценовые данные ограничены открытием, максимумом, минимумом и закрытием дня.
Допустим, торговая система вводит один приказ в день перед открытием данного дня. Независимо от типа ордера, компьютер должен протестировать лишь то, будет ли цена приказа достигнута при открытии, и если нет — то окажется ли она в пределах дневного диапазона. Если хотя бы одно из этих условий выполнено, данный ордер обязательно будет исполнен. Если оба условия не выполнены, то ордер не будет исполнен.
Однако, если торговая система генерирует приказ на вход и соответствующий стоп-лосс, результат может быть неоднозначным. Имитация проверяет приказ на вход относительно открытия. Если приказ исполнен, она проверяет стоп-лосс относительно дневного диапазона. Здесь все понятно, за исключением того, когда в течение дня был исполнен этот ордер на вход. Почему? Потому что исполнение или неисполнение стопа-лосса зависит от того, что в течение дня было первым — максимум или минимум.
Например, если это был приказ на вход в покупку по стоп-цене 352, ему соответствовал стоп-лосс по цене исполнения минус 2.00 пункта, максимум дня был 354, минимум — 350, а закрытие — 353, то входной стоп по 352 был исполнен. Это вполне понятно. Если первым появляется максимум, то стоп-лосс по 350 тоже будет наверняка исполнен, и данная сделка завершается. Однако если первым появляется минимум, то торговая имитация будет предполагать, что входной приказ был исполнен на повышении к закрытию от минимума, достигнутого ранее в течение дня, и стоп-лосс не сработал. Важность этого повышается еще больше, когда система отправляет более двух приказов. Следовательно, чтобы устранить из имитации «избыточный оптимизм», необходимо исходить из худшего случая — то есть, что если стоп находится в пределах дневного диапазона, то он исполнен.
Единственный способ протестировать такие сложные последовательности приказов с полной точностью — использовать тиковые данные, 5-минутные бары или другие краткосрочные данные. К сожалению, часто это не делается из-за отсутствия доступа к таким данным, необходимости дополнительных затрат и низкой скорости такой имитации. Однако любая торговая система, зависящая от сложной последовательности приказов, либо от приказов, очень близких друг к другу по ценам, требует тестирования на данных, четко определяющих движение цены.