в Алготрейдинг

Как искать выгодные алгоритмические торговые стратегии. Часть 4: Получение исторических данных

Как искать выгодные алгоритмические торговые стратегии.

Часть 1: Личные предпочтения в торговле.

Часть 2: Поиск источников алгоритмических торговых идей.

Часть 3: Оценка торговых стратегий.

Часть 4: Получение исторических данных.

Получение исторических данных

В наше время объем технических средств по классам активов для хранения исторических данных является существенным. Чтобы остаться конкурентоспособными, как покупатели (фонды), так и продавцы (инвестиционные банки) вкладывают большой капитал в свою техническую инфраструктуру.

В частности мы интересуемся своевременностью, точностью и требованиями к хранению. Сейчас я обрисую в общих чертах основы получения исторических данных и их сохранения. К сожалению, это очень обширная техническая тема, так что я не в состоянии рассказать обо всем в этой статье.

Выше мы настроили канал поступления стратегий, который позволяет нам отклонять конкретные стратегии, основываясь на наших личных критериях отклонения. Сейчас мы еще будем отфильтровывать стратегии, основанные на наших собственных предпочтениях получения исторических данных. Главными факторами (особенно на уровне розничного практика) являются стоимость данных, требования к хранению и ваш технический уровень. Также мы должны обсудить различные типы доступных данных и различные факторы, которые нам навязывает каждый тип данных.

Давайте начнем с рассмотрения типов доступных данных и ключевых проблем, которые необходимо обдумать:

– Фундаментальные данные. Они включают в себя данные о макроэкономических тенденциях, таких как процентные ставки, показатели инфляции, корпоративные действия (дивиденды, разделение акций), занесение в реестр Комиссии по ценным бумагам и биржам США (Securities and Exchange Commission, SEC), корпоративные счета, объем прибыли, сезонные отчеты, метеорологические данные и т.д. Эти данные часто используются для оценки компании или других активов на фундаментальной основе, то есть с помощью некоторых способов ожидания будущих потоков наличных средств. Данные не включают последовательность курса акций. Государственные веб-сайты публикуют некоторые фундаментальные данные в свободном доступе. Другие исторические фундаментальные данные за долгий период могут быть чрезвычайно дорогими. Требования к хранению часто не очень большие, если только тысячи компаний не изучались одновременно.

– Новостные данные. Новостные данные часто имеют качественную природу. Они состоят из статей, постов в блогах, микросообщений («твиты») и редакционных статей. Методы машинного обучения, такие как классификаторы, часто используются для интерпретации настроения. Эти данные также часто находятся в свободном доступе, или доступны благодаря недорогой подписке на средства массовой информации. Разработаны новые базы данных хранения документов «NoSQL» для хранения этого типа неструктурированных данных качественного характера.

– Данные о цене актива. Для количественного трейдера это традиционная область определения данных. Данные состоят из временного ряда цен активов. Акции, продукты фиксированного дохода (облигации), товары и курсы валют – это разные классы. Ежедневные исторические данные часто легко получить для простых классов активов, таких как акции. Однако, как только добавлены точность и чистота, и удалены статистические ошибки, данные могут стать дорогими. Кроме того, данные временного ряда часто обладают существенными требованиями к хранению, особенно когда учитываются внутридневные данные.

– Финансовые инструменты. Акции, облигации, фьючерсы и более экзотические производные опционов обладают совершенно отличными особенностями и параметрами. Таким образом, нет универсальной структуры базы данных, которая может их вместить. Необходимо существенное внимание к дизайну и реализации структур баз данных для различных финансовых инструментов.

– Частотность. Чем выше частотность данных, тем больше затраты и требования к хранению. Для низкочастотных стратегий часто достаточно ежедневных данных. Для высокочастотных стратегий могут понадобиться данные уровня тиков, и даже исторические копии данных конкретной торговой биржевой книги заявок. Реализация инструмента хранения этого типа данных является технологически интенсивной и подходит только тем, кто обладает хорошими знаниями в программировании/технике.

– Бенчмарки. Стратегии, описанные выше, часто будут сравниваться с бенчмарком. Он обычно представлен в виде дополнительного финансового временного ряда. Для акций это национальный бэнчмарк акций, такой как индекс S&P 500 (США) или FTSE100 (Великобритания). Фонды фиксированного дохода сравниваются с корзинами облигаций или других продуктов фиксированного дохода. «Безрисковая ставка» (то есть установленная процентная ставка) также является широко распространенным бенчмарком. Все категории классов активов обладают общепринятым бенчмарком, таким образом, если вы хотите получить интерес к своей стратегии извне, то необходимо исследовать его, основываясь на вашей конкретной стратегии.

– Технология. Стеки технологий на заднем плане финансового центра хранения данных сложны. В этой статье мы можем только коснуться области, связанной с их разработкой. Однако сосредоточимся на таком инструменте баз данных, как RDBMS (Relational Database Management System, Система управления реляционной базой данных), например, MySQL, SQL Server, Oracle или инструмент хранения документов («NoSQL»). К ним получают доступ через прикладной код «бизнес-логики», который отправляет запросы к базе данных и обеспечивает доступ к внешним инструментам, таким как MATLAB, R или Excel. Часто бизнес-логика написана на C++, C#, Java или Python. Вы также должны будете где-то размещать эти данные – на вашем персональном компьютере или на удаленном интернет-сервере. Такие продукты, как Amazon Web Services за последние годы сделали это проще и дешевле, но все еще необходима значительная техническая подготовка, чтобы достичь устойчивого к ошибкам поведения.

Можно увидеть, что как только стратегия идентифицирована посредством канала, необходимо оценить возможность использования, затраты, сложность и детали использования конкретного набора исторических данных. Вы можете обнаружить, что необходимо отказаться от стратегии исключительно из-за особенностей исторических данных. Это большая область, и команды, состоящие из докторов наук, работают в крупных фондах, обеспечивая точность и надежность ценовых данных. Не недооцениваете трудности создания устойчивого к ошибкам центра данных для ваших целей бэктестирования!

Однако я хочу сказать, что многие платформы бэктестирования могут автоматически предоставлять вам эти данные – за плату. Таким образом, вы не будете прилагать усилия для реализации этого шага, и можете сконцентрироваться только на реализации стратегии и оптимизации. Такие инструменты, как TradeStation, обладают этими возможностями. Однако, по-моему, необходимо максиммально самостоятельно разрабатывать систему и избегать отдавать части технологического стека на аутсорсинг продавцам программного обеспечения. Я предпочитаю высокочастотные стратегии из-за их более привлекательных коэффициентов Шарпа, но они часто тесно объединены со стеком технологий, где важна усовершенствованная оптимизация.

Теперь, когда мы обсудили проблемы, связанные с историческими данными, пора поводить бэктестирование наших стратегий.

Автор: Michael Halls-Moore

Источник: How to identify algorithmic trading strategies

Другие статьи по теме:

Сложности оценки корреляций по историческим данным и устойчивые торговые стратегии

Определяем цену опционов на VIX по историческим данным

Готовим ценовые данные правильно. Часть 1: ужасы гетероскедастичности.