coredumped

Читают

User-icon
13

Записи

3

Некоторые технические детали робота-облигационера для Quik

Моя торговля облигациями проходила такие шаги:
— советник и ручная покупка, продажа из кармана квика;
— советник и ручная покупка, продажа роботом;
— покупка и продажа роботом.
где «советник» — это Excel-таблица, сделанная примерно так.

 

Схема робота

Некоторые технические детали робота-облигационера для Quik

Фу, почему Quik, а не торговый API?

У моего брокера нету торгового API, зато есть Quik. Помимо этого, как правильно отмечали на СЛ, в Quik уже «из коробки» решены некоторые проблемы, к примеру, сделаны heartbeat к серверу и не надо морочиться с транспортом. Однако, серьёзные минусы тоже есть, о чём будет сказано в этой и последующих статьях.

Код робота = Lua + Rust

Lua — максимально простой мост, передающий данные из Quik в DLL, строго никакой логики в Lua.
Вся логика выполняется в DLL, написанной на Rust (tokio-райнтайм).
Почему Rust? При возможности выбрать другие языки, Rust обладает рядом преимуществ:
— Бинарник всё-в-одном, без зависимостей в виде рантайма, интерпретатора, доп.скриптов и т.п.
— Строгая типизация избавляет от страданий, испытываемых при долгосрочной работе с жидкой типизацией.

( Читать дальше )

Свой Excel-советник по покупке облигаций

В этой статье я рассмотрю первую инкарнацию своего робота.
Допустим, мы на 100% уверены, что заработать тут (на облигациях) можно.
Так, хорошо, а что покупать-то? Слышал, что есть советники (брокерские и неброкерские сервисы), предлагающие влезть во всякие разные облигации. А как они подбирают эти облигации? Уйду ли я в минус, если куплю то, что они предлагают? Если и не уйду в минус, то хотя бы сколько заработаю, например, без реинвестирования купонов/амортизации в ту же бумагу? И самое главное — как мне сделать такой подбор инструментов (облигаций) для покупки роботом?
Я озвучил не все вопросы, которыми следовало бы задаться перед принятием торгового решения, но на часть из них может дать ответ самопальная Excel-таблица со своими формулами, фильтрацией и ранжированием.

Получение данных

Список торгуемых облигаций можно получать в таблицу из разных источников, но я выбрал Quik.
На просторах Смартлаба (и не только) есть много инструкций, как сделать вывод из Quik в Excel, так что этого касаться не буду.

( Читать дальше )

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

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

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

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

( Читать дальше )

теги блога coredumped

....все тэги



UPDONW
Новый дизайн