Germany | Finland | Saint Petersburg | Drive

Арбитражер с хеджем на AmiSharp

Опубликовано в Торговые системы

Давно не писал в этот раздел. Опишу робот-арбитражер с хеджированием на основе AmiSharp.

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

Для арбитража выбрана идея соответствия локальных котировок и их ADR на Лондонской бирже (LSE). Если по какой-либо причине возникает серьёзная диспропорция между ценами Москва-Лондон на акцию и ее АДР - это повод попробовать заработать.

Для начала вычисляется исторический спред и усредняется. Конечно, перед построением спреда необходимо сделать пересчет обеих котировок в термины валюты спреда - смасштабировать обе цены в соответствии с курсами валюты каждого инструмента  на каждый момент времени. После такой нормализации рассчитывается разница между ценами ведущим и ведомым инструментами. Здесь не требуется сложной логики, использующей историю спроса/предложения, лучших цен и количества, поскольку далее будет произведено сглаживание этого спреда. Поэтому достаточно рассчитать спред между ценами сделок. Полученный спред необходимо сгладить. Можно использовать обычное усреднение посредством той или иной скользящей средней.

В случае, если разница между ценами (спред) стала слишком существенной, то имеет смысл играть на понижение спреда (продажа спреда). В этом случае один инструмент (ведущий) продаем, второй (ведомый) покупаем. Если спред стал неоправданно малым, то производится обратная операция - покупка спреда в ожидании его расширения. Для оценки понятий "неоправданно малый" или "неоправданно большой" используется как раз текущее значения скользящей средней, рассчитанной по спреду.

Особенность описываемой торговой системы состоит в возможности хеджирования позиции.

Модифицированный алгоритм фактически раздёлен на 4 обособленных потока, работающих с общими настройками, но полностью независимо друг от друга.

Покупка ММВБ Продажа хеджа LSE Продажа ММВБ Покупка хеджа LSE
Продажа ММВБ Покупка хеджа LSE Покупка ММВБ Продажа хеджа LSE
Покупка LSE Продажа хеджа ММВБ Продажа LSE Покупка хеджа ММВБ
Продажа LSE Покупка хеджа ММВБ  Покупка LSE Продажа хеджа ММВБ

Каждая из четырех строк иллюстрирует независимую последовательность действий. На примере первой строки:

После выполнения условия входа в позицию выставляется заявка на покупку на рынке ММВБ. Взависимости от настроек пользователя она выставляется или лучшей или на заданном расстоянии от лучшей (по объёму). По мере удовлетворения этой заявки происходит пропорциональное  хеджирование набранной позиции продажей на LSE. Очевидно, хеджирование осуществляется с учетом кратности лотов, которые, как правило, не совпадают на ММВБ и LSE. Также одновременно с набором позиции в покупке осуществляется симметричное выставление заявки на продажу на ММВБ в точке, также определяемой расчетным спредом.

После окончания набора позиции робот переходит в режим выхода из нее. В этом режиме синхронно с изменением значения спреда изменяется расчетная цена выхода из позиции. По мере удовлетворения заявки на продажу ММВБ происходит пропорциональное уменьшение хеджа.

Таким образом, после вхождения в позицию мы гарантированно заработаем изменение хеджированного спреда между покупкой и продажей (ММВБ-LSE). Если расходы на поддержание хеджа не превысят спред, то мы получим прибыль.

Рассмотренный вариант - один из четырех, работающих параллельно. В любой момент пользователь имеет возможность включить/отключить каждый из этих потоков.

 

МТС реализована в варианте Amibroker-AmiSharp-QUIK. Возможен запуск произвольного количества пар, визуализация спреда, его усреднения, расчетных сигналов, реальных сигналов, их реальной себестоимости, уровней, текущих объёмов позиции, хеджей. Ведется excel лог сделок и индикация статусов. Настройка пользователем вида графика. Интерактивное управление каждым роботом отдельно, измененние параметров каждой копии робота "на лету". Быстродействие робота - 1 тик. Размер AFL скрипта - 2500 строк (без учета Amisharp)

Добавить комментарий