5.2.2. Разработка и оценка эффективности функционалов
В качестве функционалов, используемых для выработки сигналов, можно использовать различные критерии оценки, описанные книге «Опционы: системный подход к инвестициям». Эти критерии дают численную оценку привлекательности сделок с определенным торговым инструментом – опционной комбинацией. Если упорядочить весь набор инструментов по такому критерию, то мы получим уже другой функционал – ранговый, принимающий целые значения – номера комбинаций в упорядочении. Независимо от особенностей функционала, его использование в процедуре бэктестинга остается неизменным – оценка перспективности совершения сделки с определенным инструментом.
Поиск эффективных функционалов – одна из главных задач разработчика стратегий. Для разработки функционалов используются статистические исследования. Они заключаются в том, что на определенном периоде истории генерируется множество сделок по исследуемому функционалу и изучаются статистические показатели этого множества – средняя прибыль, дисперсия, распределения и корреляции. Таким способом можно подобрать полезные функционалы для генерации сигналов. Однако хорошая статистика на множестве сделок является только лишь необходимым, но не достаточным, условием качественности функционала. Для успешной стратегии важное значение имеет еще и порядок, в котором встречаются и чередуются прибыльные и убыточные сделки. Так, достаточно длинная серия убыточных сделок может быть неприемлемой на практике из-за слишком большой «просадки» счета или чрезмерной длительности бесприбыльного периода. Аналогично хорошая статистка сделок может быть у стратегии, которая удовлетворительно работала в прошлом, но превратилась в убыточную в последнее время. Поэтому статистические исследования могут и должны использоваться для построения функционалов, а исторические симуляции и бэктестинг – для их оптимизации и оценки эффективности.
5.2.3. Фильтрация сигналов
В зависимости от алгоритма стратегии часть генерируемых сигналов необходимо отсеивать, не допуская до формирования на их основе торговых заявок. Это приходится делать либо по причине ожидаемых корпоративных событий, либо в силу того, что показатели определенных индикаторов не соответствуют параметрам стратегии. В качестве таких индикаторов могут выступать показатели риска, целью которых является фильтрация наиболее рискованных опционных комбинаций.
Рассмотрим пример индикатора риска, на основании которого может происходить фильтрация сигналов. Коэффициент асимметрии, описанный в главе 3, оценивает степень асимметричности опционной комбинации относительно текущей цены базового актива. Если в качестве функционала, оценивающего привлекательность комбинаций, используется матожидание прибыли, рассчитанное на основе эмпирического распределения, то многие асимметричные комбинации могут оказаться весьма привлекательными (иметь высокое матожидание прибыли). Это происходит в том случае, если эмпирическое распределение также имеет асимметричную форму. Поскольку матожидание прибыли рассчитывается путем интегрирования платежной функции комбинации по функции плотности вероятности эмпирического распределения, то в том случае, когда обе функции асимметричны и их моды смещены в одну сторону, значение интеграла получается высоким. Несмотря на это, такие комбинации не подходят для стратегий, основанных на коротких продажах опционов (поскольку по причине их асимметричности бόльшая часть премии, получаемой от продажи опционов, состоит из внутренней стоимости, а доля временной стоимости мала, потенциал извлечения прибыли у таких позиций весьма невелик). Использование индикатора «коэффициент асимметрии» позволяет фильтровать сигналы на открытие позиций по таким комбинациям.
Фильтрация, производимая по причине ожидаемых корпоративных событий, может осуществляться двумя путями. Самый простой путь – это когда в базе данных накапливается и поддерживается информация о предстоящих событиях. В таком случае эти базовые активы можно временно исключить из базы, на основании которой рассчитываются функционалы (то есть сигналы для таких инструментов генерироваться не будут). К событиям такого рода относятся квартальные отчеты, для которых информация о времени наступления события чаще всего доступна и более-менее надежна.
При отсутствии в базе данных информации о предстоящих событиях приходится использовать специальные фильтры, позволяющие отсеивать сигналы, генерируемые для инструментов, в отношении которых могут произойти нестандартные события. В качестве такого фильтра может использоваться отношение исторической и подразумеваемой волатильности IV/HV. В отсутствии предстоящих радикальных событий эти две волатильности имеют близкие значения. Если же указанное отношение значительно отличается от 1, то это может свидетельствовать о предстоящем серьезном событии с неопределенным исходом.
Историческая волатильность HV базового актива характеризует изменчивость его цены в период, предшествующий моменту расчетов. Подразумеваемая волатильность IV указывает на ожидаемую рынком изменчивость цены этого же базового актива в период, следующий за моментом расчетов.
Если подразумеваемая волатильность значительно превышает историческую волатильность, то можно сделать вывод о том, что цена базового актива менее волатильна по сравнению с теми колебаниями, которые рынок ожидает в будущем. Для системы бэктестинга это косвенно свидетельствует о приближающемся значительном событии, которое вызовет большие движения цены. Типичными примерами таких событий являются ожидаемые решения судебных инстанций, известия о переговорах по слиянию-поглощению, одобрение новых продуктов и т. д. Если на основе таких событий не строится специальная стратегия, то такие комбинации в процессе бэктестинга следует отфильтровывать.
Если историческая волатильность значительно превышает подразумеваемую волатильность, можно сделать предположение о том, что важное событие уже произошло и привело к тому, что рынок больше не ожидает от цены базового актива каких-либо существенных движений в будущем. При бэктестинге комбинации, относящиеся к таким базовым активам, следует исключать, поскольку в большинстве случаев они не соответствуют базовым параметрам тестируемой стратегии.
5.3. Моделирование торговых заявок
После генерирования сигналов на открытие и закрытие позиций необходимо сформировать на их основе виртуальные торговые заявки и смоделировать их исполнение. Низкая ликвидность опционов может воспрепятствовать успешному исполнению ордера, сформированного торговой стратегией. В случае лимитного ордера это обернется неполным его исполнением. В случае рыночного ордера – определенным «проскальзыванием», заключающемся в худшей (чем предполагалось стратегией) цене исполнения.
Эффективный бэктестинг возможен только тогда, когда моделируемые сделки не отличаются от их исполнения в реальной торговле. Хотя некоторые различия в ценах и объемах исполнения неизбежны, задача разработчика состоит в их максимальном приближении. Неизбежность расхождений между моделируемыми и реальными сделками требует включения в алгоритм бэктестинга возможностей моделирования частичного исполнения ордеров и исполнения с использованием цен, несколько отличающихся от зафиксированных в базе исторических данных. Кроме того, цена исполнения должна корректироваться с учетом комиссий, начисляемых за исполнение торговых операций (либо комиссии должны учитываться на более позднем этапе при оценке прибыльности стратегии).