использование серии фильтров, настроенных на различные частоты или периоды
Одним
из способов получения сигналов входа является использование серии фильтров,
настроенных на различные частоты или периоды, которые целиком перекрывают весь
диапазон анализируемых частот. Если в одном из этих фильтров возникает сильный
резонанс при отсутствии активности в других, можно предположить наличие на
рынке сильного цикла. На основе поведения выходов фильтров определяются
ожидаемые моменты возникновения ценовых минимумов (сигнал к покупке) и максимумов
(сигнал к продаже). Поскольку наиболее сильно реагирующий фильтр не должен
вызывать запаздывания и фазовых сдвигов, при его должной работе и реально
существующих циклах на рынке можно получать чрезвычайно своевременные сигналы.
Один из традиционных способов использования циклов на рынке — это попытка
продавать по циклическим максимумам и покупать по циклическим минимумам.
Получаемая от групп фильтров или других источников информация может также
дополнять другие системы или адаптировать индикаторы к текущему состоянию
рынка. Пример того, как метод обнаружения периода доминирующего цикла и
соотношения сигнал/шум включается в другую торговую систему, можно найти у
Ружжиеро (Ruggiero , 1997).
ХАРАКТЕРИСТИКИ
ЦИКЛИЧЕСКИХ ВХОДОВ
Исследуемые
ниже циклические входы (нацеленные на продажу по максимуму и покупку по
минимуму) имеют ряд важных характеристик: высокий процент прибыльных сделок,
низкое проскальзывание, способность захватывать максимально возможную часть
каждого движения рынка — одним словом, мечта трейдера. Это справедливо только
при условии, что на рынке действительно существуют предсказуемые циклы, которые
можно обнаружить и, что еще важнее, экстраполировать имеющимися методами.
Считается, что на рынках примерно 7 0 % времени присутствует циклическая
активность. Даже если четкие циклы, ведущие к выгодным сделкам, возникают
гораздо реже, использование близких защитных остановок позволяет сводить к
минимуму потери от неудачных сделок.
Главный
недостаток циклических входов состоит в том, что ввиду широкого распространения
весьма мощных алгоритмов анализа циклов, например метода максимальной
энтропии, рынки изменили свою природу и стали менее уязвимыми для подобных
методов. Предсказуемые циклы обнаруживаются и нивелируются настолько быстро,
что их исследования зачастую теряют смысл. Поскольку описываемые циклические
входы по природе своей направлены против циклов, то при отсутствии продолжения
циклов (т.е. при продолжении тренда) трейдер понесет потери, если не будут
применены эффективные методы управления капиталом (защитные остановки).
Пригодность к реальной работе сложных методик анализа циклов и будет
рассмотрена в наших тестах.
МЕТОДОЛОГИЯ
ТЕСТИРОВАНИЯ
Во всех тестах циклических моделей входа используется
стандартный портфель из 36 рынков. Количество контрактов для покупки или продажи
на каждом рынке подбиралось для соответствия долларовой волатиль-ности двух
контрактов S &P 500 на конец 1998 г. Использован стандартный выход:
защитная остановка закрывает любую позицию, убытки которой превышают одну
единицу волатильности. Кроме того, лимитный приказ закрывает позиции, прибыль
которых превышает четыре единицы волатильности, а рыночный приказ по цене
закрытия закрывает позиции, не закрытые предыдущими выходами в течение 10
дней. Правила входов рассмотрены в обсуждении модели и индивидуальных тестов.
Все тесты проведены при помощи стандартного C -Trader toolkit . Ниже приведен
код модели, основанный на волновом фильтре со стандартной стратегией выходов:
Вышеприведенный код описывает
тестируемую модель. Первый важный блок кода, принципиальный для циклической
модели, инициализирует индивидуальные фильтры, составляющие группу фильтров.
Этот код работает только при первом проходе или при изменении параметра, влияющего
на инициализацию группы фильтров, например параметра width . Если важные
параметры остаются без изменений, не имеет смысла перезапускать фильтры при
каждом вызове функции Model .
Следующий блок применяет к
входящему сигналу каждый из фильтров в составе группы. В этом блоке отведены
два массива для хранения выходного сигнала группы фильтров. Первый массив хранит
выход с совпадающей фазой inphase , а второй — ортогональный выход inquad
. Входной сигнал представляет исходные цены закрытия. Поскольку фильтры
математически оптимальны и рассчитаны на удаление трендов, предварительная
обработка данных становится излишней в отличие от менее продвинутых методик
анализа. Каждая строка в массиве представляет собой выход отдельного фильтра с
данной частотой или периодом, каждая колонка представляет собой торговый день.
Центральные частоты или периоды фильтров расположены на равных расстояниях на
логарифмической шкале, т.е. соотношение между центральной частотой данного и
следующего фильтра постоянно. Селективность полосы пропускания (width ) —
единственный настраиваемый параметр в расчете группы фильтров, и это значение
может подбираться путем оптимизации.
Затем запускается обычный цикл
перебора точек данных, и генерируются собственно торговые сигналы. Сначала
проверяется наличие чистого, пригодного для торговли цикла. Для этого
определяется мощность при периоде, имеющем максимальный резонанс с текущей
активностью рынка (peakpower ). Также оценивается период, на котором
наблюдается максимальная мощность. Если период не попадает на одно из крайних
значений рассматриваемого диапазона (диапазон составляет от 3 до 30 дней), то
потенциально цикл может быть пригоден для торговли. Затем проверяется
максимальная мощность на расстоянии не менее 2 полос пропускания фильтра от
периода пика (peaknoise ). Если отношение peakpower / peaknoise составляет
1,5 или более, то выполняется второе условие пригодности цикла. На основе пары
выходов определяется фазовый угол цикла. Затем код проверяет фазовый угол на
соответствие максимуму или минимуму цены. Кроме того, в эту оценку вводится
небольшое значение смещения (disp ). Оно работает подобно смещению в
предыдущих моделях, хотя здесь относится к фазовому углу, а не к количеству
точек данных. Между фазовым углом и количеством точек данных существует прямая
зависимость: период цикла, умноженный на фазовый угол в градусах и разделенный
затем на 360, дает количество точек данных, соответствующее фазовому углу.
Если фаза после смещения такова, что через некоторое количество градусов до
или после текущего дня можно ожидать минимума, отдается приказ на покупку. Если
фаза такова, что можно ожидать максимума, отдается приказ на продажу. Затем,
как обычно, рассчитываются цены для лимитного и стоп-приказов. При поступлении
сигналов система исполняет требуемые приказы.
Другие блоки вышеприведенного
кода здесь не обсуждаются, поскольку связаны с отладкой и тестированием
программы. Их предназначение описано в комментариях к коду.
Статья размещена в рубрике: Анализ входов и выходов в сделки на финансовых рынках
|