Следующим шагом в создании алгоритма формирования портфеля является решение о размерности системы распределения капитала. Простейшая одномерная система, основанная на единственном показателе, может оказаться вполне удовлетворительной. Однако во многих случаях приходится пользоваться как минимум двумерной системой, в которой один из показателей выражает прогноз ожидаемой доходности, а второй – оценивает риск. В этой главе мы продемонстрировали, что введение в систему дополнительного показателя, выражающего риск убытков, приводит к формированию более консервативных портфелей с меньшим уровнем доходности и риска. Однако к этим результатам следует относиться с большой осторожностью, поскольку использование других показателей или тех же показателей, но в других стратегиях, может привести к другим выводам. В любом случае решение о размерности системы распределения капитала является продуктом компромисса между потенциальными преимуществами от введения каждого дополнительного показателя и их ценой, выражаемой в затратах вычислительных ресурсов и увеличении времени, необходимого для проведения полного расчетного цикла.
Наряду с выбором показателей одним из главных решений, принимаемых разработчиком стратегии при создании системы распределения капитала, является выбор уровня оценки. Портфель может формироваться исходя из оценок доходности и риска, вычисляемых для всего портфеля в целом. Альтернативный подход состоит в оценках отдельных элементов формируемого портфеля. Наши исследования показали, что оценки на уровне портфеля приводят к формированию менее агрессивного и более диверсифицированного варианта портфеля с меньшим уровнем прибыли в случае положительного исхода торговли и с меньшими убытками при реализации отрицательного исхода.
Глава 5. Тестирование торговых стратегий
Автоматизированную торговую систему можно представить как совокупность модулей, выполняющих функции разработки, формализации, настройки и проверки торговых стратегий. Темы разработки и формализации были освещена в главе 1. Настройка стратегий, включающая в себя оптимизацию параметров, распределение капитала и управление рисками, описана в главах 2, 3 и 4 соответственно. Настоящая глава посвящена тестированию разрабатываемых стратегий на исторических данных (такое тестирование принято называть «бэктестингом»).
Модуль, выполняющий функции бэктестинга, делится в свою очередь на несколько объектов: базу исторических данных, аппарат генерации сигналов на открытие и закрытие позиций, аппарат симуляции исполнения торговых заявок и систему оценки доходности стратегий. На их основе строится имитация торговли и оцениваются ее результаты. Эти объекты будут рассмотрены в настоящей главе.
Бэктестинг торговых стратегий достаточно широко освещен в финансовой литературе. Существует большое количество публикаций разного уровня сложности и глубины проработки. При этом большинство из них описывают построение системы бэктестинга для стратегий, торгующих линейными базовыми активами (акциями и фьючерсами). В этой главе мы не ставим себе целью дать всестороннее и детальное описание универсальной системы бэктестинга (такое общее описание можно найти в большом количестве книг и статей). Вместо этого мы заострим внимание на особенностях, которые необходимо учитывать при бэктестинге стратегий, ориентированных на торговлю опционами.
5.1. База данных
Исторические данные – это краеугольный камень любой системы бэктестинга торговых стратегий. Только на американском биржевом рынке торгуется более 2000 опционабельных акций. Если предположить, что у каждой акции в среднем имеется порядка 10 торгуемых страйков и порядка 10 дат экспираций, то в итоге получится порядка 200 000 торговых инструментов. Каждый из них имеет свои исторические значения. Такое разнообразие объясняет особые требования, предъявляемые к организации базы данных и структуры доступа к содержащимся в ней торговым инструментам.
5.1.1. Поставщики данных
Большинство брокерских платформ, предоставляющих онлайн-доступ к биржевой информации, дает возможность видеть текущие котировки опционов. Однако предоставление исторической информации достаточной глубины в прошлое не является частью обычного брокерского сервиса. Котировки текущего торгового дня для большинства опционных контрактов можно найти на популярных бесплатных сервисах finance.yahoo.com и finance.google.com. Гораздо сложнее дело обстоит с историей цен опционов.
Для создания и поддержания исторической базы данных необходимо обращаться к специализированным поставщикам данных. При этом не все поставщики поддерживают достаточный объем и глубину данных. Это объясняется тем, что деятельность по созданию систем бэктестинга опционных стратегий достаточно сложна и пока еще не получила широкого распространения.