Синтетические облигации в алго №4: SyntheticBondsCurveMonitor

Синтетические облигации в алго №4: SyntheticBondsCurveMonitor

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

 

1) Идея инструмента

Два предыдущих робота решали всё сами, но арбитраж — область, где многие предпочитают ручной контроль: самому увидеть сочную доходность, самому проверить стакан, нажать «открыть». Главная проблема подобной работы — держать в голове пятнадцать бумаг с тремя сериями внутри.

Монитор решает именно это:

• таблица на 15 пар показывает доходность трёх ближайших серий по каждой бумаге — вся кривая перед глазами;

• сигналы срабатывают, когда доходность серии пробивает заданный порог — не нужно пялиться в таблицу;

• кнопки Open и Close открывают позицию и закрывают её с подтверждением состава ордеров. Робот берёт на себя механику, решения остаются за вами.

 

2) Источники робота

BotTabSimple + BotTabScreener — те же пары «акция + скринер серий», но теперь их пятнадцать: десять стандартных разворачиваются авто-деплоем, ещё пять запасных слотов настраиваются вручную под любые бумаги.

LQDT-ветки здесь нет — монитор не управляет деньгами сам, он про обзор и ручные действия.

 

3) Индикаторы

Индикаторов нет — только живой снимок стаканов. Важная разница с арбитражами: в таблице монитора доходность считается «как есть», без проверок синхронности свечей и отсечки бэквордации. Монитор должен показывать рынок прямо сейчас, а не мнение алгоритма о нём. А вот торговая логика арбитражных роботов, как мы помним, эти проверки делает.

 

4) Таблица монитора

Центр инструмента — таблица в кастомной вкладке параметров.

 

Колонки:

• Stock — базовая акция. Ячейка — кнопка: клик открывает чарт бумаги.

• Mult — мультипликатор фьючерса, редактируется прямо в таблице.

• Series 1 / Series 2 / Series 3 — три ближайшие серии фьючерса. Каждая ячейка — кнопка-чарт с текущей доходностью в процентах годовых.

• Open / Close — кнопки ручного управления позицией по паре.

 

Открытые позиции подсвечиваются прямо в таблице: лонг — зелёным, шорт — красным, объёмы — в скобках. Одного взгляда достаточно, чтобы понять, что где открыто.

 

5) Сигналы

Отдельная вкладка Signals: флаг на каждую серию каждой пары и порог Min yield % ann (по умолчанию 20). Включили флаги на интересующих сериях, а монитор сам подаст сигнал, когда доходность пробьёт порог.

 

Три детали, которые делают сигналы удобными:

• Срабатывание по закрытию свечи. Никаких дёрганий внутри свечи: сигнал считается только по факту закрытия, с дедупликацией по времени свечи — одна свеча, один сигнал.

• Одно сводное сообщение. Если за свечу сработало несколько серий, они собираются в одно сообщение с одним звуком, а не в очередь из пяти оповещений.

• Звук на выбор. Параметр Music — Duck или Wolf из ресурсов платформы.

 

6) Ручное открытие и закрытие

Кнопка Open открывает отдельное окно, это самая проработанная часть робота:

• выбор базы и серии фьючерса;

• живые bid/ask обеих ног, контанго и доходность в годовых — всё пересчитывается на лету;

• объёмы в лотах: задаёте контракты фьючерса, робот считает лоты акции через мультипликатор;

• перед отправкой — подтверждение с полным составом ордеров: что покупаем, что продаём, сколько;

• кнопка «?» — встроенная инструкция по окну;

• окно открывается у курсора мыши — не надо тянуться через весь экран.

 

Защита от ошибок встроена: нулевой объём фьючерса — отказ без единого ордера. Ни одна нога не откроется, пока объёмы не сходятся.

 

Кнопка Close симметрична: подтверждение со списком открытых позиций, а если позиций нет, то появится информационное окно.

 

7) Исходный код в проекте

Робот лежит в открытом доступе на ГитХабе:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/SyntheticBond/SyntheticBondsCurveMonitor.cs

 

8) Настройки робота

Параметры разбиты на четыре вкладки. Разбираем по порядку.

Вкладка Base:

• Table update interval, sec — как часто монитор пересчитывает таблицу. По умолчанию 5 секунд. Доходности считаются из стаканов пятнадцати пар, поэтому чаще секунды задавать интервал не стоит.

• Volume type — как считать объём при ручном открытии: Deposit percent (процент от портфеля) или Contract currency (фиксированная сумма). По умолчанию Deposit percent.

• Volume — размер объёма. По умолчанию 80% портфеля. Это значение подставляется в окно Open по умолчанию — в самом окне его можно поменять перед отправкой.

 

Вкладка Fut mults:

• Mult regime — режим мультипликаторов: Auto или Manual. В Auto робот сам подставляет множитель по каждой бумаге, причём с учётом истории: ВТБ до 15.07.2024 считается с множителем 20, после — 100; Норникель до 04.04.2024 — 100, после — 10. В Manual берутся значения из параметров ниже.

• Fut mult 1–15 — мультипликатор фьючерса по каждой из пятнадцати пар. По умолчанию 1, при авто-деплое проставляются автоматически и служат стартовой точкой для ручного режима. Те же значения редактируются прямо из колонки Mult таблицы монитора.

 

Вкладка Signals:

• Series 1 / 2 / 3 signal is on — флаги сигналов по рангам серий: первая ближайшая, вторая, третья. Флаг один на ранг для всех пар: включили Series 1 — монитор следит за ближайшей серией каждой настроенной бумаги. По умолчанию выключены.

• Min yield % ann — порог сигнала по годовой доходности. По умолчанию 20%. Сигнал срабатывает по закрытию свечи, когда доходность серии достигает порога.

• Music — звук сигнала: Duck или Wolf из ресурсов платформы.

• Error log is on — дублировать сигналы в журнал как ошибки. По умолчанию выключено: сигналы приходят как обычные сигнальные сообщения. Включайте, если боитесь пропустить.

 

Вкладка Auto deploy (в боевом режиме):

• Portfolio number — номер портфеля, к которому привяжутся источники при развёртывании. Укажите до нажатия кнопки, иначе робот вежливо напомнит.

• Deploy time frame — таймфрейм источников при развёртывании: Min1 / Min5 / Min15 / Min30. По умолчанию Min30.

• Deploy standard securities — кнопка авто-развёртывания: прописывает в источники 10 стандартных пар через коннектор Т-Инвестиции после диалога подтверждения. Текущие настройки источников перезаписываются.

 

Вкладка Auto deploy (в тестере):

• Tester deploy time frame — таймфрейм источников в тестере. По умолчанию Min15, выбор шире: от Min1 до часа.

• Deploy tester securities — кнопка развёртывания в тестере: берёт бумаги из выбранного сета (файлы с расширением .txt), привязывает к первому портфелю и самостоятельно проставляет комиссию 0.04% на спот и скринеры.

 

Отдельно напомню: у монитора нет параметра Regime, ему нечего включать и выключать, автоматической торговли здесь нет по дизайну. Всё управление — через таблицу и окна Open/Close.

 

9) Заключение по сборнику

Четыре статьи пройдены. Теперь у вас есть полный набор по синтетическим облигациям: понятия и метрики, классический контанго-арбитраж по ближайшей серии, арбитраж по кривой с выбором из двух серий и ручной монитор с сигналами. Это готовые к торговле инструменты внутри OsEngine.

 

Берите, тестируйте, улучшайте под себя.

 

Удачных алгоритмов!

Комментарии открыты для друзей!

 

Скачать OsEngine: https://github.com/AlexWan/OsEngine

Официальная поддержка OsEngine в MAX: https://max

Канал Научный трейдинг в MAX: https://max.ru/

 

Поддержка OsEngine в Телеграм: https://t.me/osengine_official_support

Канал Научный трейдинг (Bad Quant) в Телеграм: https://t.me/bad_quant

https://www.tbank.ru/invest/

—
13:39
180

Комментарии

Нет комментариев. Ваш будет первым!