Опция выбора modeltype определяет, какие





Опция выбора modeltype определяет, какие операции проводятся далее. Значение 1 выбирает основную импульсную модель. Сезонные показатели рассчитываются для обрезанных и нормализованных изменений цен, причем в пределах выборки используется метод складного ножа, а вне пределов выборки — метод всех прошедших лет. Эти операции обеспечиваются вызовом функции SeasonalAvg. Временной ряд сезонных показателей затем сглаживается скользящим средним (вид среднего устанавливается параметром matype, а длина— параметром avglen). Затем рассчитывается временной ряд средних абсолютных отклонений сезонных импульсов. Этот ряд представляет собой простое скользящее среднее с периодом 100 дней от ряда абсолютных значений сезонных импульсов, которое затем используется в дальнейших расчетах уровней порогов. Значения modeltype 2, 3 и 4 представляют собой вариации моделей, основанных на пересечении. Сезонные показатели рассчитываются, и показатель изменения цены для каждого дня интегрируется (вычисляется бегущая сумма), в результате образуется новый ряд, ведущий себя подобно ценовому ряду. Эта синтезированная серия отображает движение цен на основе типичного поведения рынка в предшествующие и, возможно, в будущие годы. Затем рассчитываются два скользящих средних: та! (скользящее среднее интегрированного сезонного ряда типа matype с периодом avglen) и та2 (сигнальная линия для определения момента пересечения, представляет собой скользящее среднее ma1 с теми же параметрами 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) и стандартные выходы.

Содержание раздела