5.2. Сигналы на открытие и закрытие позиций
Целью и результатом всех вычислений, заложенных в алгоритм стратегии, является принятие решения об открытии или закрытии позиции по определенному торговому инструменту. Для принятия такого решения необходимо рассчитать значения специальных функционалов, оценивающих привлекательность торговых инструментов. На основе последующей обработки значений функционалов формируются сигналы на открытие и закрытие позиций, которые в дальнейшем трансформируются в торговые заявки.
5.2.1. Принцип генерирования сигналов
В опционной торговле инструментами торговли являются базовые активы и опционы. Однако можно рассматривать в качестве торговых инструментов и опционные комбинации. На сложность торгового инструмента можно вообще не накладывать никаких ограничений. Например, как об отдельном торговом инструменте можно говорить о произвольном наборе торгующихся на рынке более простых инструментов. Построение определенного набора торговых инструментов – это элемент алгоритма стратегии. Обозначим через Ω = (K1…, KN) множество, состоящее из N торговых инструментов стратегии.
В каждый момент времени t (на каждом шаге прогонки) у стратегии имеется текущий набор информации I(t). Эта информация разнообразна: история цен торговых инструментов, формализованная фундаментальная информация, значения индикаторов технического анализа, показатели прибыли-убытков текущих позиций, вероятностные сценарии и т. д. Единственное требование к информации I(t) – при ее получении или вычислениях, связанных с ее получением, не должны использоваться данные из будущих моментов времени t + 1, t + 2… Для каждого торгового инструмента алгоритм стратегии вычисляет специальные функционалы Φ(Kj, I(t)), где Kj – j-й торговый инструмент, а I(t) – информация, доступная на шаге t. Интерпретация этих функционалов является элементом алгоритма стратегии.
Например, логические значения false и true могут иметь следующий смысл: Φ(Kj, I(t)) = true означает, что стратегия выработала сигнал совершить определенную сделку с инструментом Kj. Это может быть как сделка покупки, если функционал Φ(Kj, I(t)) отвечает за покупки, так и сделки продажи, если соответствующий функционал отвечает за продажи. В более информативном случае значения функционалов Φ могут принимать любые действительные значения. При этом значение функционала говорит не только о наличии сигнала, но и о его силе.
Допустим, что вычисляется функционал Φ, оценивающий перспективность сделок с определенным набором инструментов. Предположим, что на шаге T получен вектор оценок функционала Φ = {Φ(Kj, I(t)), j = 1…, N}. Следующим этапом алгоритма является интерпретация значений этого вектора с целью генерации вектора сигналов, на основании которых формируются приказы на совершение сделок. Рассмотрим два варианта интерпретации оценок Φ, переводящих их в сигналы купли-продажи инструментов.
Первый вариант основывается на использовании пороговых значений. Предположим, что длинная позиция открывается, если расчетное значение функционала, основанного на критерии доходности, выраженной в процентах от объема инвестиций, превышает порог 3 % (Θbuy = 3). Если значение функционала, основанного на данном критерии, прогнозирует убыток, превышающий 3 % (Θsell = 3), то открывается короткая позиция. В этом случае сигналы на открытие позиций генерируются следующим образом:
• купить инструмент Kj, если Φ(Kj) > Θbuy,
• продать инструмент Kj, если Φ(Kj) < Θsell.
Если данные неравенства не выполняются, то сделки с инструментом Kj не производятся.
Второй вариант использует упорядочение торговых инструментов с помощью упорядочения элементов вектора Упорядочение позволяет из имеющихся инструментов выделить определенное число а лидеров и b аутсайдеров по значениям Top = {Kj1, Kj2…, Kja} и Bottom = {KjN – b + 1, KjN – b + 2…, KjN}. Тогда сигналы стратегии на покупку и продажу генерируются следующим образом:
• купить все инструменты из множества Top,