coredumped
coredumped личный блог
Сегодня в 07:20

Доморощенный алготрейдинг облигациями

Последние несколько лет я строю своего торгового робота для рынка облигаций. Своего — тобишь исключительно для себя, не для продажи и не для управления чужими деньгами.
Сейчас система уже не выглядит как эксперимент «на вечер после работы». Робот торгует полностью сам, мониторится, пережил несколько неприятных сюрпризов рынка и по ИИСу даже обгоняет банковский вклад (хотя по обычному счёту доходность около нуля, см. картинку с графиком ниже).
Решил написать пару постов про то, как всё это строилось: от ручной торговли и Excel-табличек до тысяч сделок в день, мониторинга и инфраструктурных костылей, которые внезапно работают вполне себе на уровне (про уровень шучу, про костыли — не шучу).

Где нахожусь сейчас

На текущий момент у меня:
* Windows, QUIK, Lua+DLL(Rust).
* Вся логика в Rust, а Lua — максимально простой мостик от QUIK до логики на Rust.
* Отправка транзакций делается из Rust посредством Trans2Quik.
* Хранение сделок и позиций в sqlite (с бэкапированием в облако).
* Мониторинг на Prometheus + Grafana + алертинг с использованием своего сервиса на почту (об этом потом).
* Нажиматель кнопок (об этом тоже потом).

Всё это живёт на ноутбуке среднего пошиба: AMD Ryzen 5 5500U, 16GB RAM, 500GB SSD. Но, как показывает практика, можно и проще.
Я изначально ставил себе задачу собрать максимально простую и автономную систему с минимальной стоимостью эксплуатации (насколько это возможно). При этом хотелось не терять удовольствия от процесса, т.е. делать это в кайф, а не «потому что надо».

Доходность

Доходность считаю формулой XIRR, есть такая в гугл-табличке. Еженедельно указываю текущий размер депо и движения по счёту по дням (пока случались только пополнения).
В этой доходности учтены комиссии. Налоги учтены для обычного счёта, для ИИС налог не изымаю, хотя и за вычетом получается вполне себе «ну хоть что-то». Разумеется, я подаю на вычеты за ИИС.


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

Что самое сложное оказалось на практике

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

При наличии идеи самым сложным становится эксплуатационная сторона трейдинга, где инженерия составляет бОльшую часть работ.

О чём расскажу в следующих постах

Далее:
* как я вообще пришёл к облигациям после фьючерсов и опционов;
* почему Rust, а не C++ или C#;
* как применяю ИИ в торговле;
* как один «гадкий утёнок» в портфеле стал полноценным чёрным лебедем;
* и как нажиматель кнопок помогает мне совершать прибыльные сделки.
 

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
6 Комментариев
  • wistopus
    Сегодня в 07:58
    на облигациях скукота и нет возможностей для трейдинга
    ничесе...
    бессовестно врут люди...©
    на корпоратах  очченно даже весело…
  • winbin
    Сегодня в 08:04
    пишите ешё 
  • Сверхмозг атакует
    Сегодня в 09:32
    Обязательно опубликуйте цикл статей, было бы интересно почитать. Желательно до того, как первоначальный запал иссякнет или будет похоронен «доброжелательными» комментаторами)
      • Op_Man
        Сегодня в 11:57
        coredumped, верно допускаете, к сожалению. 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн