Блог им. Albus
Алгоритм торговли парами состоит из следующих частей:
— Подбор контрактов
— нормализация высокочастотных данных
— установка триггеров (срабатываний) для длинной/короткой позиции.
Фьючерсы выбираются из числа ближайших контрактов с недолгим сроком жизни. В них сосредоточена наибольшая ликвидность.
Нормализация высокочастотных данных была выполнена следующим образом: для каждой цены контракта P (i, t) мы рассчитали эмпирическое среднее μ (i, t) и стандартное отклонение σ (i, t), а затем применили следующее уравнение
Значение p (i, t) является нормализованной ценой актива i в момент t. Нормализация необходима для реализации метода торговли парами. Тот же метод нормализации был реализован М.Перлином для создания сигналов продажи / покупки.
На исследование Перлина в конце статьи дана сноска:
Метод, представленный М.Перлином, генерирует торговый сигнал каждый раз, когда отклонение нормализованных данных превышает заданный порог d.
Поэтому параметр d должен быть тщательно проверен. Он не может быть слишком высоким, в этом случае торговых сигналов будет очень мало. Он не может быть слишком низким, потому что тогда торговые сигналы будут генерироваться чересчур часто. Это приведет к ухудшению качества сигнала. В этом исследовании брались биды по более близкому контракту (Natural Gas October) и аски по более дальнему (Natural Gas November). Таким образом, всякий раз, когда расстояние увеличивается до заданного d, алгоритм шортит один контракт по биду и открывает лонг по аску в другом контракте. Логика этого алгоритма HFT заключается в том, что, когда расстояние между двумя контрактами слишком велико, существует высокая вероятность того, что цены сойдутся. Это может быть использовано для получения прибыли. Более высокие значения порога d повышают качество арбитража и приносят лучшие результаты.
Экспериментальная установка
Вычисления были реализованы на языке MathWorks в программе Matlab. Данные взяты с NYMEX с 04/09/12 по 20/09/12. Частота данных — миллисекунды. Среднее количество проанализированных записей — 350 000 в день. Всего записей — 5 миллионов.
Пример сырых данных:
Для статистического арбитража были выбраны наиболее активные периоды дня. Активность трейдинга рассчитывалась как среднее каждые 15 минут в течение одного месяца. Наиболее активные торговые периоды в течение дня представлены на рисунке 2. Речь идёт не про количество сделок робота, а про общее число сделок на рынке.
Для тестов брался период с 11:15 до 18:45 — самое активное торговое время.
Результаты эксперимента.
Экспериментальные исследования показали, что лучшие результаты были получены с помощью следующих параметров:
-расстояние между нормализованными ценами, то есть параметр d (порог), равен 6,5.
-максимальный период для удерживания позиций был не более 1000 временных рядов (в оригинале «time series». Возможно, речь идёт про 1000 тиков). В исследовании М.Перлина, которое упоминалось выше, автор писал, что на закрытии торгов в конце дня более хорошие результаты были достигнуты при уменьшении параметра d. Но в данном исследовании это не подтвердилось. Чем выше порог d, тем лучше результаты. Низкий порог d приводил к появлению чрезмерного количества сигналов. Порог 6,5 оказался оптимальным. Если его повышать, то сигналов становилось мало, и поток прибыли сокращался.
Результаты стратегии и её прибыльность представлены на этом графике.
Чёрная линия показывает прибыль, а цифры 09-05, 09-06 и так далее — это даты (5 сентября, 6 сентября...).
Проанализированы 13 дней.
Цифры 0.1, 0.2, 0.3, 0.4 — это прибыль в процентах. Проценты подсчитаны на контракт (per contract).Скорее всего подсчитано от номинальной стоимости контракта, а не от гарантийного обеспечения. Самый удачный день принёс 0,4%, а самый неудачный 0,05%.
Дополнительные результаты данного исследования:
Прибыль от лонгов: 1,14;
Прибыль от шортов: 1,28%
Всего сигналов: 3334
Стандартное отклонение прибыли на сделку: 0,01%
Средний доход со сделки: 0,16%
Общий профит: 2,42%
Выводы
Экспериментальное исследование показало, что HFT дает положительные результаты и может быть интересно разработчикам рыночной инфраструктуры и участникам рынка. Тем не менее, прежде чем применять стратегию в реальных рыночных условиях, необходимо рассмотреть некоторые дополнительные аспекты, чтобы найти наилучшее применение алгоритма, например двунаправленный арбитраж, торговля с плечом, затраты на инфраструктуру и выплату рибейтов. Авторы имеют в виду, что они подсчитали только валовую прибыль и никак не учитывали комиссы биржи, брокера и другие расходы.
---
От себя добавлю, что подобную стратегию я испытывал на ФОРТС. Брал два контракта на нефть. При расхождении пытался открыть лонг и шорт. Во множестве случаев мне не удавалось зайти двумя ногами. Я пытался взять лонг и шорт. Лонг (к примеру) удавалось открыть, а шорт оставался не исполненным. К тому времени как моя заявка долетала на биржу, цена уже была далеко от желаемого уровня.