pmus
pmus личный блог
10 января 2017, 04:43

РТС Робот: скальпинговая платформа на Python

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

Вдохновила меня прекрасная программа Николая Морошкина Qscalp и захотелось иметь похожую, но с блекджеком Python внутри. С большим уклоном в автоматический скальпинг, и с меньшим — в ручной.

Я хотел писать торговые стратегии для скальпингового привода на Питоне, имея возможность творить с рыночными данными все, что угодно. Например, экспортировать тики в базу данных или скармливать их нейросетям в реальном времени. Ну и заодно проверить, действительно ли Python, как уверяли некоторые, слишком медленный для реализации подобных задач. Создавал программу в свободное время.

Итак, у нас был Transaq XML Connector, QT, Python и целое множество библиотек всех сортов и расцветок, а также Windows, Linux, wine и VirtualBox. Не то чтобы это был необходимый запас для разработки. Но если начал писать проект, становится трудно остановиться. Единственное, что вызывало у меня опасение — это pyinstaller. Нет ничего более беспомощного, безответственного и испорченного, чем ошибки при сборке. Я знал, что рано или поздно мы перейдем и на эту дрянь.

Я проверял работу программы на 10-миллисекундном Transaq HFT подключении от Финам, на обычном Transaq Connector и демо-сервере. Сейчас занимаюсь устранением мелких ошибок и построением красивого API для торговых систем. Повторюсь, я не ставил задачу создания полноценного торгового терминала — нужна была только основная платформа для создания быстрых торговых роботов.

РТС Робот: скальпинговая платформа на Python
Интерфейс программы я старался сделать разумно-минималистичным.

Реализованные «хотелки»:

  • Возможность 10-мс подключения.
  • Встроенный Python
  • Использование сколь угодно большого количества памяти системы в скриптах
  • Многопоточность и утилизация всех ядер процессора, программа изначально только x86-64
  • API для создания сколь угодно сложных систем и их связок
  • Создание по двойному щелчку «снимков» любых таблиц в формате Excel (на память)
  • Индикатор баланса стакана
  • Экономный жор памяти (получилось порядка 150 мегабайт)
  • Нормальная работа под Linux
Список «пока нереализованного», конечно, больше.

Если тема заинтересует, продолжу понемногу выкладывать материал о программе.

Демо-версия находится здесь.
16 Комментариев
  • Don Constantine
    10 января 2017, 07:09
    буду читать
  • Антон Иванов
    10 января 2017, 10:53
    Новые тарифы биржы прилично обесценивают такую хорошую работу, к сожалению…
  • Андрей К
    10 января 2017, 13:09
    труд хороший для стартового опыта.
  • БорисыЧ
    17 апреля 2017, 15:56
    Я сейчас качаю вашу программу, присмотрюсь, но идея моя вот в чем: индикаторы бы мои перенести на вашу платформу. Присмотритесь, это возможно? http://trendphil.blogspot.ru/

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

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