pmus

Архитектура торгового робота

    • 22 января 2017, 01:07
    • |
    • pmus
  • Еще

Архитектура торгового робота

Под катом скучное и неинтересное описание устройства торговой программы.

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

API имеет дочерние структуры: GUI для работы с графическим интерфейсом, Configloader для сохранения данных конфигурации программы, Dataparser для разбора и упорядовачивания поступающих данных, Plugins для загрузки торговых алгоритмов, Csvrec для сохранения данных в для Excel, и (пока нереализованный) JSON для управления через RESTful API (вместо всяких DDE).

Модуль GUI — это вещь в себе, он загружает окна, выводит на экран текст и графики, определяет, что происходит при нажатии кнопок и так далее. Торговый алгоритм-плагин при необходимости обращается к нему, чтобы занять для себя какую-нибудь кнопку в интерфейсе или вывести что-нибудь на экран.

Configloader при запуске загружает сохраненные данные или берет конфигурацию из командной строки

Dataparser — сложный асинхронный модуль, имеющий несколько частей, главные — Stock и Datasource.

Stock содержит данные, включая таблицы с ордерами, сделки стаканы, позиции и все-все, что связано с торговой информацией. Именно сюда Dataparser складывает данные, полученные и разобранные в правильный вид. Сырые данные он получает из Datasource — модуля, который следит и поддерживает соединение с сервером брокера. Connector — это модуль более низкого уровня, получающий данные от Transaq XML Connector и отдающий XML-данные выше по цепочке в Dataparser, который разберет и сложит их в Stock. Этот же модуль отправляет команды на исполнение сделок брокеру.

Plugins — это модуль, запускающий файлы торговых систем, оформленных как .py файлы, то есть написанные на Python программы.
Каждый плагин при запуске получает объект API, через который может обращаться к другим модулям программы. Например, выводить данные через api.gui, узнавать состояние рынка, подписываться на торговые инструменты через api.stock.

Модуль работы с JSON был запланирован, но не реализован из-за того, что пока в нем не было необходимости. Добавить его не составляет большого труда, но на данный момент с импортом-экспортом данных оказалось удобней работать через плагин.

CSVrec записывает таблицы с данными в CSV и используется для создания моментальных снимков состояния любой таблицы для последующего анализа (например, чтобы сделать снимок состояния «стакана», достаточно два раз щелкнуть по нему). Также CSVrec можно использовать для экспорта данных в другие программы, например, в TSLab.

1.6К | ★7
6 комментариев
Stakan :)?
avatar
Hedgehog, от TXML Connector приходят Quotes и Quotations, я устал путаться в них. А Stakan — сразу понятно, что данные из стакана заявок. =)
avatar
avatar
Конкурентное преимущество соперников этого робота в одной картинке. Неплохо :)
avatar
bstone, To finish first, first you have to finish.
avatar
pmus, доброго времени суток! Структура выглядит завораживающе-строшно :) Так уж получилось — Пайтон мой первый язык… сейчас осваиваю. Ставлю задачу уйти от ручного труда и написать робота. Тестировать буду в Quantopian, а использовать в Квике. В связи с этим вопрос как к опытному питонисту: как должна выглядеть минимальная структура(из каких модулей должна состоять)?.. что с чем должно взаимодействовать, «чтобы поехало»… может посоветуете доп. матералы…
avatar

Читайте на SMART-LAB:
Фото
Станут ли алгоритмы новой нормой для частного инвестора?
ИИ всё чаще называют новой инвестиционной инфраструктурой: алгоритмы уже формируют стратегии и управляют портфелями. Каждый третий частный...
Фото
🧸 Как российский рынок акций проводит День медведя?
27 февраля — Международный день белого медведя. Мы заглянули в историю с момента появления праздника в 2008 году и вот что обнаружили....
Фото
Т-Инвестиции начали аналитическое покрытие акций Аэрофлота
Аналитики Т-Инвестиции начали покрытие акций Аэрофлота. Присвоена рекомендация «держать», целевая цена – 63 рубля за акцию. ✈️ Аналитики...
Фото
Ростелеком. МСФО за Q4 2025г. Всё неплохо… но всё равно печально…
Компания Ростелеком опубликовала финансовые результаты за 4 квартал 2025г.: 👉Выручка — 270,5 млрд руб. (+15,6% г/г) 👉Операционные...

теги блога pmus

....все тэги



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