Разделы



Характеристики сезонных входов

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

Следовательно, сезонные модели позволяют определить точки разво­рота до их реального возникновения и могут быть использованы в каче­стве основы противотрендовых торговых систем. Более того, прогнозы делаются задолго до событий, что позволяет достичь высокой степени сгла­живания, предупреждающего или, по крайней мере, смягчающего мно­жество ложных сигналов, характерных для менее сглаженных систем. Еще одна полезная характеристика сезонных моделей — возможность определить дату сделки на дни, месяцы и даже годы вперед, что, несом­ненно, полезно.

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

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

ВИДЫ ПРИКАЗОВ , ИСПОЛЬЗУЕМЫХ

ДЛЯ ОСУЩЕСТВЛЕНИЯ СЕЗОННЫХ ВХОДОВ

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

Приказы, обеспечивающие вход в рынок, имеют свои достоинства и недостатки. Преимущество рыночного приказа в том, что ни один сигнал на вход не будет пропущен. Стоп-приказ гарантирует, что в системах сле­дования за трендом ни один значительный тренд не будет пропущен, а в противотрендовых системах полезным может отказаться то, что ни один приказ не будет выполнен без подтверждения движения рынка в благо­приятном направлении. Недостатками являются увеличенное проскаль­зывание и менее оптимальные цены входа. Лимитный приказ обеспечи­вает оптимальную цену и минимальные расходы на сделку, но при ожида­нии отката до цены лимитного приказа можно пропустить важные трен­ды, а при торговле против тренда использование лимитного приказа при­ведет к менее выгодным ценам входа. Вход будет выполнен по цене лимит­ного приказа, а не по цене, определенной отрицательным проскальзыва­нием, которое иногда возникает при движении рынка против сделки на момент входа.

п»ї

МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ

Для тестирования методов сезонных входов использованы данные с 1 ав­густа 1985 г. по 31 декабря 1994 г. (оптимизационная выборка) и с 1 янва­ря 1995 г. по 1 февраля 1999 г. (период вне пределов выборки). Для исследования сезонности выборка размером около 10 лет является недостаточ­но протяженной. При обсуждении сезонных сигналов упоминалась прак­тика расчета сезонного импульса (или же среднего поведения цен) на ос­нове данных за предыдущие годы. Ввиду небольшого размера выборки расчеты будут основываться не только на прошедших, но и на будущих годах. Для этого используется специальная методика — так называемый подход складного ножа.

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

Представьте, что рассчитывается сезонное поведение начиная с 1 июня 1987 г. Если использовать только данные из пределов выборки, то при­шлось бы ограничиться данными за 1986 и 1985 гг. При использовании метода складного ножа в расчет можно включать даты не только из про­шлого, но и из относительного будущего, т.е. с 1988 г. по 1994 г. Если год, для которого значение целевой даты рассчитывается (1987), удалить из пределов выборки, то сезонное поведение можно будет рассчитывать на основе 9 лет данных, а этого вполне достаточно. Подобная процедура оправданна, поскольку данные, исследуемые для получения прогноза, не зависят от прогнозируемых данных. Данные, используемые для получе­ния прогнозов, отстоят от целевой даты не менее чем на год — следова­тельно, они не загрязнены текущим состоянием рынка. Этот метод по­зволяет значительно увеличить размер выборки, не снижая количество степеней свободы.

Прогнозирования являются стержнем любой торговой системы, поэтому грамотно сделанные прогнозы Форекс могут сделать вас баснословно состоятельным.

Для оценки влияния сезонных факторов вне пределов выборки были использованы все прошедшие годы. Например, для получения данных, соответствующих 14 января 1999 г., был использован метод всех прошед­ших лет: в анализ были включены данные с 1998 г. по 1985 г. Таким обра­зом, ни один из расчетов вне пределов выборки не основывается на дан­ных из будущего или настоящего времени.

п»ї

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



 



 



 


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

Следующий блок проводит все расчеты на полной серии данных. Сред­ний истинный интервал для 50 дней рассчитывается и сохраняется в век­торе (exitatr ). Впоследствии он будет использоваться для размещения за­щитных остановок управления капиталом и целевых уровней прибыли в стандартизованной стратегии выхода. Средний истинный интервал в этом векторе (или в ряду данных) также используется для нормализации воз­никающих в ходе работы программы изменений цен.

После вычисления среднего истинного интервала рассчитываются нормализованные и обрезанные изменения цен. Каждая точка в ряду данных pchg отражает изменение цены между ценами закрытия текуще­го и предшествующего дней. Изменения цены затем нормализуются пу­тем деления их на средний истинный интервал и обрезаются для сни­жения влияния экстремальных перепадов цены (статистических выбро­сов). Нормализация необходима, поскольку волатильность рынков меня­ется со временем иногда очень сильно. Например, сейчас индекс S &P 500 в 5 и более раз дороже, чем 15 лет назад. Очевидно, что и средняя дневная волатильность изменилась соответствующим образом. Если бы измене­ния цены не подвергались нормализации и не представлялись в единицах текущей волатильности, сравнение сезонных явлений за разные годы было бы искаженным. Годы, когда волатильность была выше, давали бы больший вклад, чем годы с низкой волатильностью. В случае S &P 500 пос­ледние годы полностью доминировали бы при проведении усреднения, а при нормализованном представлении каждый год вносит почти одинако­вый вклад. Срезание выбросов проводится на уровне — 2 и + 2 средних истинных интервала, чтобы удалять случайные и аномальные значения, не искажая общую оценку.

Опция выбора modeltype определяет, какие операции проводятся да­лее. Значение 1 выбирает основную импульсную модель. Сезонные пока­затели рассчитываются для обрезанных и нормализованных изменений цен, причем в пределах выборки используется метод складного ножа, а вне п р е д е л о в выборки — метод всех прошедших лет. Эти операции обес­ печиваются вызовом функции SeasonalAvg . Временной ряд сезонных по­казателей затем сглаживается скользящим средним (вид среднего уста­навливается параметром matype , а длина— параметром avglen ). Затем рассчитывается временной ряд средних абсолютных отклонений сезон­ных импульсов. Этот ряд представляет собой простое скользящее сред­нее с периодом 100 дней от ряда абсолютных значений сезонных импуль­сов, которое затем используется в дальнейших расчетах уровней поро­гов. Значения modeltype 2, 3 и 4 представляют собой вариации моделей, основанных на пересечении. Сезонные показатели рассчитываются, и показатель изменения цены для каждого дня интегрируется (вычисляет­ся бегущая сумма), в результате образуется новый ряд, ведущий себя подобно ценовому ряду. Эта синтезированная серия отображает движе­ние цен на основе типичного поведения рынка в предшествующие и, возможно, в будущие годы. Затем рассчитываются два скользящих средних: та! (скользящее среднее интегрированного сезонного ряда типа matype с периодом avglen ) и та2 (сигнальная линия для определения момента пересечения, представляет собой скользящее среднее ma 1 с теми же па­раметрами matype и avglen ). Если же выбран modeltype 3 или 4, то прово­дятся дополнительные расчеты для моделей с подтверждением и/или ин­версией; в данном случае рассчитывается значение Быстрого с перио­дом 9 дней, которое затем сохраняется в векторе stoch .

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

Modeltype 1 представляет базовую модель, основанную на пороге це­нового импульса. Порог рассчитывается как произведение множителя, оп­ределяющего относительную величину порога (thresh ) на среднее абсолют­ное отклонение сезонного импульса за прошлые 100 дней. Сигнал к по­купке генерируется, если сумма сезонного импульса (savg ) и параметра смещения (disp ) поднимается выше уровня порога. Если данная сумма опус­кается ниже величины, равной значению порога со знаком минус, подает­ся сигнал на продажу. Иными словами, если для данного дня плюс-минус несколько дней (disp ) предсказывается достаточно сильный сезонный им­пульс цен, то торговля ведется в направлении ожидаемого движения.

Modeltype 2 представляет базовую модель пересечения и использует скользящие средние интегрированных сезонных показателей текущего дня плюс фактор смещения. Если первое скользящее среднее поднимает­ся выше второго, генерируется сигнал к покупке. В противоположном случае генерируется сигнал к продаже. Фактор смещения позволяет мо­дели искать моменты пересечения, которые произойдут в будущем через несколько дней. Таким образом, преодолевается запаздывание, свойствен­ное скользящим средним. Поскольку сезонные средние основываются на исторических данных, отстоящих от текущей даты не менее чем на один год, вполне приемлемо прогнозировать на несколько дней вперед.

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

Modeltype 4 использует модель, основанную на пересечении с добав­лением подтверждения и инверсии. При использовании modeltype 4 сиг­нал к покупке подается, если первое скользящее среднее пересекает второе снизу вверх. При этом значение стохастического осциллятора долж­но быть не менее 25. Если же при верхнем пересечении стохастический показатель превышает уровень 75, то модель подает сигнал к продаже исходя из предположения, что произошла инверсия. Если первое сколь­зящее среднее ниже второго, и нормальная сезонная модель подтвержда­ется значением стохастического осциллятора, превышающим уровень 75, генерируется сигнал к продаже. Если в этом случае показатель составит менее 25, предполагается инверсия и отдается сигнал к покупке.

В свою очередь цена лимитного приказа (limprice ) устанавливается на уровне середины ценового диапазона текущего дня. Цена входного стоп-приказа (stpprice ) устанавливается на уровне закрытия текущего дня плюс (для покупки) или минус (для продажи) половина среднего истинного ди­апазона последних 50 дней. Остальные блоки кода идентичны приводив­шимся в предыдущих главах: они обеспечивают размещение приказов указанного вида (ordertype ) и стандартные выходы.

Читать далее: Результаты тестов