Статья о загрузке внутридневных котировок от поставщика данных IQFeed на языке Python опубликована в блоге www.quantstart.com. DTN IQFeed — популярный вендор, поставляющий данные со многих американских и европейских рынков по широкому спектру инструментов. Тем трейдерам, кто практикует алгоритмическую торговлю на зарубежных площадках или использует данные с них для поиска корреляций с российскими активами, будет очень полезен нижеследующий перевод.
С IQFeed возможно получение данных через сокет соединение к локальному серверу IQLink, который предоставляется при создании аккаунта у этого поставщика данных. В этой статье мы будем использовать потоковое сокет соединение на языке программирования Python для буферизации данных и создадим файл CSV с внутридневной маркет датой для американских акций.
Продолжение. Начало здесь.
После того, как стратегия протестирована и, насколько это возможно, избавлена от недооценки/подгонки, с хорошим коэффициентом Шарпа и минимизированными просадками, настало время выстроить систему исполнения.
Система исполнения ордеров
Система исполнения отвечает за то, каким образом список сделок, сгенерированных стратегией, отправляется и исполняется на стороне биржи. Несмотря на тот факт, что генерация сделок может быть полу- или полностью автоматической, механизм исполнения может быть ручным, полуавтоматическим или полностью автоматическим. Для LFT стратегий ручное или полуавтоматическое исполнение применяется наиболее часто. Для HFT алгоритмов необходимо создать полностью автоматический механизм исполнения, который скорее всего будет тесно интегрирован с генератором сделок (из-за сильной зависимости стратегии и технологии).
Основные этапы создания автоматических торговых систем сформулировал Michael Halls-Moore на своем сайте www.quantstart.com. Я присоединяюсь к его советам и рекомендациям — по текстам на сайте видно, что автор действительно занимается практической работой по алготрейдингу.
Автоматическая торговля это чрезвычайно сложная область биржевых финансов. Значительное время может занять получение необходимых знаний для создания вашей собственной стратегии. Также потребуется неплохие навыки в программировании, как минимум на таких языках, как MATLAB, R или Python. В связи с постоянным ростом частоты сделок технологические аспекты торговли тоже становятся очень важны. Это требует изучения языков программирования C/C++.
Автоматическая торговая система состоит из следующих основных компонентов:
Своим опытом в построении высокопроизводительных торговых систем с использованием генетического программирования делится Dr Jonathan Kinlay в своем блоге.
Увеличение времени, стоимости и риска разработки стратегий заставило трейдинговые компании исследовать возможности итенсификации процессов разработки. Одним из таких подходов является генетическое программирование.
Генетическое программирование (ГП) это эволюционная методология разработки, которая может быть использована для идентификации паттернов или зависимостей в структурах данных. ГП это набор инструкций ( обычно простые операторы, сложение и вычитание) для исходных данных и функция соответствия для определения, насколько хорошо система способна комбинировать функции и данные для достижения определенной цели.
Использование корелляции широко распространено в финансовой теории и практике, от создания портфелей до стратегий статистического арбитража.
Основная сложность в применении корелляции это ее изменчивость: активы, которые в один момент времени кажутся практически некоррелироваными для целей хеджирования, могут стать высококореллироваными в другие моменты времени, например, при высокой активности рынка. Напротив, акции, кажущиеся подходящими для парной торговли, в связи с высокой корелляцией их приращений цены, могут позднее показать разнонаправленную динамику, приводящую к значительным потерям.
Нестабильность уровня еще усугубляется эмпирическими выводами о том, что волатильность корреляции сама по себе зависит от времени: в одно время корреляция между активами может плавно меняться в узком диапазоне, в другое время мы можем наблюдать изменения знака коэффициента корелляции в течении нескольких дней.
Вывод, который мы можем сделать из первой части данной статьи такой: почти все стратегии, которые мы знаем, имеют эквивалент в пространстве волатильности, будь это покупка/продажа волатильности, статистический арбитраж или следование за трендом. Более того, из-за особых характеристик волатильности, все эти стратегии имеют тенденцию к большей производительности, чем их традиционные аналоги. В пример автор приводит показатели собственной стратегии на волатильности биржевых фондов ETF, которая имеет устойчивый годовой доход между 30% и 40%, с коэффициентом Шарпа более 3, начиная с 2012 года (см. графики в заглавии и ниже).
Объем торговли волатильностью как активом растет уже более 15 лет. Основные принципы и понятия этого процесса изложены в блоге QUANTITATIVE RESEARCH AND TRADING .
В последние годы стратегии торговли волатильностью показывают производительность значительно большую, чем глобальные индексы и дивесифицированные фонды фондов ( см. график в заглавии).
Основные понятия
Волатильность ненаблюдаема
Волатильность это особый дериватив, справедливая цена которого никогда не будет известна, даже после значимого события она, по сути, ненаблюдаема. Вы можете установить, что волатильность актива на протяжении некоторого исторического периода, например, равна стандартному среднеквадратичному отклонению приращений цены. Но это только оценка, одна из множества подходов, которые имеют свои недостатки. Сейчас мы знаем, что волатильность может измерена с почти произвольной точностью с использованием оценки интегральной волатильности ( по существу, метрики, основанной на высокочастотных данных), но это не изменяет тот факт, что наше знание о волатильности всегда неопределенно, в отличие от цены, например.
О некоторых особенностях, свойственных высокочастотным стратегиям, рассказывает Dr Jonathan Kinlay в своем блоге. Представляю здесь перевод его статьи.
Большинство инвесторов, вероятно, никогда не видели эквити высокочастотной стратегии. Есть объективные причины этого: в связи с типичной производительностью таких стратегий, фирмы, использующие их, мало нуждаются в привлечении стороннего капитала. Кроме того, HFT алгоритмы имеют ограничения по емкости, которая очень важна для институциональных инвесторов. Поэтому интересно наблюдать реакцию инвестора на прибыльность HFT стратегии, которую он видит впервые. Привыкший к коэффициенту Шарпа в диапазоне 0,5-1,5 или до 1,8, при удачном стечении обстоятельств, он бывает поражен тем, что такие стратегии показывают значения коэффициента, выражаемые двузначными числами.
Начало в моем блоге.
Условные вероятности
Для получения условных вероятностей, упомянутых нами в конце части 3, нужно вычислить совместное распределение VPIN и абсолютных приращений. Для этого сгруппируем VPINы c 5% шагом и абсолютные приращения в отрезки по 0,25%, чтобы отобразить дискретные распределения. Затем получим совместное распределение (). Из этого совместного распределения выведем два распредения условной вероятности.