• История цен и котировок опционов. Каждый опцион является отдельным инструментом со своим тиккером, историей сделок и котировок. Для полноценного бэктестинга необходимо поддерживать их структурное описание, связывающее каждый отдельный опцион с базовым активом и параметрами серии – базовым инструментом, страйком, типом опциона, датой экспирации. Необходимо иметь возможность по тиккеру базового актива получить множество всех его активных на данный момент опционов и осуществлять по нему навигацию по двум измерениям – датам экспирации и страйкам.
• История данных по объемам торговли (как для базовых активов, так и для опционов) и открытому интересу (для опционов).
• История дивидендных выплат, сплитов и переименований тиккеров базовых активов.
• История квартальных отчетов. Необходимо помнить, что цель бэктестинга – смоделировать ситуацию принятия решения в прошлом, не заглядывая в относительное к этому прошлому будущее. Достаточно просто получить хронологию уже состоявшихся квартальных отчетов, предоставляемую многими бесплатными сервисами. Однако такая информация не должна быть использована в бэктестинге, поскольку может стать причиной принципиальных ошибок. Дело в том, что в реальной торговле принятие решения может опираться только на предполагаемые даты событий – причем событий, предполагаемых только на основании имеющейся в тот момент информации. Рынок может не знать о точной дате будущего отчета, и это радикально отразится на цене опционов (например, подразумеваемая волатильность будет ниже по сравнению с ситуацией точно известной близкой даты отчета). Либо ситуация может быть обратной – точная дата отчета известна, но в назначенный день отчет не публикуется. Реакция рынка в таком случае зависит от причины задержки отчета. В обоих случаях в процессе бэктестинга будет принято решение, которое было бы невозможно в реальности. Чтобы избежать подобного искажения результатов, необходимо хранить для каждого дня прошлого предполагаемые даты квартальных отчетов, доступные в открытом доступе в этот день. Эти данные можно накапливать, ежедневно автоматически сканируя популярные сайты типа MarketWatch.com, Earnings.com, Finance.Yahoo.com и другие.
• История нерегулярных корпоративных событий: слияния/поглощения, банкротства, судебные решения, заседания комиссий с одобрением или запрещением продукции. Информация подобного типа существенно осложняет бэктестинг. Все перечисленные события сильно влияют на подразумеваемую волатильность и, следовательно, на цену опционов. Однако информация о них становится достоверной только после фактического наступления события. В бэктестинге же необходимо учитывать только предположения и ожидания, которыми участники рынка могли руководствоваться в конкретный день до наступления события. Сбор, хранение и использование такой информации в стратегиях – крайне непростая задача. При невозможности правильно оценить информацию, доступную участникам рынка в заданный момент времени (до наступления события), следует отказываться от сделок в системе бэктестинга. Это делается путем применения специальных фильтров (описанных ниже).
• История фундаментальных показателей. Фундаментальные финансовые показатели, такие как P/E, PEG, ROE, EPS и многие другие «мультипликаторы», получаемые из корпоративной отчетности и экспертных оценок, являются основой фундаментального анализа. В настоящее время использование фундаментальных показателей при построении опционных торговых стратегий не имеет широкого распространения. Однако разработка подобных стратегий представляется нам весьма перспективным направлением развития (особенно в сочетании с использованием элементов технического анализа). Основная задача состоит в накоплении данных, публикуемых в квартальных отчетах, и параллельное взаимосвязанное накопление для этих же данных их прогнозных значений (существовавших до публикации отчета).
Многие поставщики данных и информационных сервисов сопровождают биржевые данные о ценах и объемах целым спектром расчетных показателей – различными вариантами волатильностей (исторической и подразумеваемой), «греками», поверхностями волатильности и т. п. Эту информацию можно также поддерживать в исторической базе. С другой стороны, разработчик торговой системы может использовать свои модели и алгоритмы расчета данных показателей.
5.1.3. Оперативный доступ к данным
Данные имеют весьма внушительный объем. Доступ к ним требует заметных временных затрат. Имитация торговли подразумевает последовательную обработку данных за несколько сотен и даже тысяч торговых дней. Многочисленные исторические симуляции необходимо проводить не только при бэктестинге, но и при оптимизации стратегий, статистическом исследовании параметров или элементов алгоритмов.