Эволюционный поиск модели входа
В
данном примере популяция моделей входа с тремя правилами была получена с
помощью генетического оптимизатора OptEvolve , написанного на С ++ (Scientific
Consultants Services , 516-696-3333). Каждый ген соответствует блоку из
четырех чисел и шаблону правила — таким образом создается соответствие наборов
чисел и наборов правил. Каждая хромосома содержит три гена и состоит из 12
чисел: первые четыре числа соответствуют первому гену (или правилу), следующие
четыре соответствуют второму гену (или правилу), а последние четыре
соответствуют третьему гену (или правилу). ГА должен знать размер гена, чтобы
не разрушить важные гены при выполнении скрещивания. Скрещивание должно
произойти т о л ь -ко на границах генов (блоков из четырех чисел). В
настоящем примере это будет достигнуто путем приравнивания размера гена,
который является параметром генетического оптимизатора, к четырем. Как
упомянуто, каждый ген составлен из четырех чисел.
Первое
число является индексом в таблице возможных шаблонов правил. Например, если это
число 1, то выбирается шаблон сравнения цен, в котором различие между двумя
ценами закрытия сравнивается с некоторым порогом (см. код). Остальные три числа
в гене соответствуют значению порога и двум анализируемым периодам для
сравниваемых цен. Если первое число из блока 4 чисел равно 2, то будет выбран
шаблон сравнения цены и скользящего среднего. В этом случае два из оставшихся
трех чисел контролировали бы период скользящего среднего и направление
сравнения (должна ли цена быть выше или ниже скользящего среднего). Вообще,
если первое число в блоке из четырех чисел равно n , тогда используется шаблон
для правила n , а любые требуемые параметры определены оставшимися тремя
числами в блоке из четырех чисел. Эта схема кодирования облегчает поддержание
расширяемой базы данных для шаблонов правил. Каждый из трех блоков четырех чисел
связан с соответствующим правилом. Модель входа, состоящая из трех правил,
соответствует любой хромосоме, состоящей из 12 чисел.
Шаблоны
правил
Первый
шаблон правила (case l в функции Rules ) определяет сравнение
между двумя ценами и порогом: правило принимает значение ИСТИНА (TRUE ), если
цена закрытия 1b 1 дней назад больше, чем некоторый пороговый фактор (thr
) плюс цена закрытия 1b 2 дней назад. В остальных случаях правило
принимает значение ЛОЖЬ (FALSE ). Неизвестные (1b 1, 1b 2 и thr
) оставлены пустыми для будущего использования при реализации программы.
Этот шаблон был включен, потому что тот вид правил, которые он представляет,
был полезен в предыдущих исследованиях.
Второй
шаблон правила (case 2) включает простые скользящие средние, которые
часто используются для определения тренда. Обычно считается, что рынок будет
двигаться вверх, если цена выше ее скользящего среднего, и опускаться вниз,
если цена ниже ее скользящего среднего. В шаблоне присутствуют только два
неизвестных: первый (per ) контролирует число дней в скользящем среднем и
второй (v 4) контролирует направление сравнения (выше или ниже).
Третий шаблон правила (case 3)
идентичен второму (case 2), за исключением того, что вместо
простого скользящего среднего используется экспоненциальное .Было много
рассуждений относительно важности данных по суммарной величине открытых
позиций на рынке (открытому интересу). Лэрри Виллиамс (Larry Williams , 1979)
упомянул, что снижение открытого интереса в течение периодов застоя цен указывает
на потенциал для сильного подъема. Сокращение открытого интереса может быть
интерпретировано как снижение количества обращающихся на рынке контрактов,
создавая условия, когда спрос на контракты может перевесить предложение.
Четвертый шаблон правила (case 4) просто вычисляет процентное снижение
открытого интереса за период от 1Ь1 дней назад до 1 дня назад (открытый
интерес, как правило, не публикуется для текущего дня) и сравнивает эту
величину с порогом (thr ). Если снижение больше, чем порог, то правило
принимает значение ИСТИНА. В остальных случаях оно принимает значение ЛОЖЬ.
Порог и период (1b 1) — неизвестные, которые будут использованы при
реализации программы.
Пятый шаблон правила (case 5)
подобен четвертому шаблону, но рассчитывает повышение, а не падение
открытого интереса. Если происходит увеличение, большее чем пороговое
значение, то правило возвращает значение ИСТИНА. Другие ситуации
соответствуют значению ЛОЖЬ.
Шестой шаблон правила (case
6) может называться условием нового максимума. Шаблон запрашивает, отмечен
ли 1b1-дневный новый максимум за период последних 1b 2 дней. К
примеру, правило может звучать так: Если достигнут новый 50-дневный максимум в
пределах последних 10 дней, то правило принимает значение ИСТИНА, в
других случаях — ЛОЖЬ. Это правило пытается найти простое условие
пробоя, учитывая пробои, которые произошли несколько дней назад (возможно,
сопровождаемые откатами к предыдущим уровням сопротивления, ставшими уровнями
поддержки, что расценивается другим правилом как хорошая точка входа). В данном
правиле есть два пробела, которые необходимо будет заполнить при проведении
расчетов: 1b 1 и 1b 2.
Седьмой шаблон правила (case 7)
идентичен шестому, за исключением того, что определяются новые минимумы, а не
новые максимумы.
Восьмой шаблон правила (case 8)
исследует индекс среднего направленного движения относительно двух порогов
(thr 1 и thr 2). Этот индикатор является мерой наличия тренда,
как обсуждалось в главе, посвященной пробоям. Если среднее направленное
движение (ADX ) выше нижнего порога и ниже верхнего порога, то правило
возвращает значение ИСТИНА. В других случаях правило возвращает
значение ЛОЖЬ.
Девятый шаблон правила (case 9)
выполняет сравнение порогов со значением стохастического осциллятора,
аналогично шаблону 8.
Десятый шаблон правила (case 10)
оценивает направление наклона осциллятора MACD . Длины (1b 1 и 1b
2) двух скользящих средних, которые составляют MACD , и направление наклона
(v 4) необходимы для выбора значения ИСТИНА или ЛОЖЬ и определены
как параметры.
Статья размещена в рубрике: Торговые системы
|