Skip to content

algotrading-py/avin-rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVIN - Open source cross-platform trading system

image

AVIN (от лат. Ars Vincere - искусство побеждать) — это кросплатформенная трейдинговая система, написана на Rust, с GUI на Iced.

Модули и возможности:

  • data: Загрузка и просмотр исторических данных. Пока только с Московской биржи.
  • core: Cлой абстракций для высокоуровневой работы с данными на "трейдерском языке": ордер, график, бар, таймфрейм... Интуитивные интерфейсы.
  • extra: Продвинутые абстракции (экстремум, тренд...), и место для пользовательских структур.
  • analytic: Инструменты статистического анализа исторических данных.
  • tester: Простой бэк-тестер.
  • trader: Модуль управления роботами. Пока доступно подключение только к Тинькофф брокеру (Т-банк).
  • terminal: Простой терминал для ручной торговли, на всякий случай.
  • report: Построение отчетов.
  • informer: Уведомления в telegram.
  • gui: Утилиты для просмотра результатов тестов и др.

Цели проекта

1. Open-source фреймворк для алготрейдера.

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

Хорошо бы в мире быть бесплатному открытому проекту, который развивается сообществом и предоставляет такой базовый инструментарий для алготрейдера. В идеале должен получиться этакий фреймворк для трейдера, чтобы можно было сосредоточиться на анализе данных и разработке стратегий, а не служебном коде.

Архитектура системы подразумевает 2 части:

  1. Базовая - собственно этот репозитарий.
  2. Пользовательская - торговые стратегии, аналитика и расширения функциональности, которые каждый делает для себя.

2. Собрать команду алготрейдеров, программистов, математиков.

Я ищу единомышленников. Чтобы вместе пить хеннеси и трахать телочек зарабатывать на бирже.

Открытость проекта - это отчасти выражение благодарности open-source сообществу, которое дало мне очень многое, попытка в свою очередь вернуть что-то полезное. Отчасти это маркетинговый ход - я делаю первый шаг, показывая что я могу, и что уже сделано.

На данном этапе я открыт к общению с каждым заинтересованным. Не зависимо от опыта и знаний. Главное - желание развиваться в сфере алготрейдинга, программирования, математики и машинного обучения. Узкому кругу лиц я готов показать свою "пользовательскую" часть: наработки по анализу данных и готовые рабочие стратегии - с целью переопыления идеями и дальнейшей совместной разработки. Пиши.

let contact = email || telegram;

Текущий прогресс

В 2023-2024г был сделан прототип на Python, с GUI на PyQt6. Кодовая база составила 40к строк. Стало понятно:

  1. Все это и очень хорошо, и нужно, и работает. И дальше хочется развивать.
  2. Python не достаточно производительности для реал-тайм работы с тиками, стаканом и SuperCandles от Московской биржи.

Можно было делать вставки на Си, или использовать Cython для критических участков. Но в марте 2025 был выбран долгий и сложный путь - переписать все на Rust. Это даст бОльшую надежность кода и лучшую производительность. В перспективе библиотека может использоваться и для создания HFT стратегий.

Программа на этапе активной разработки. Пока работоспособна только "для себя", нет документации, часто меняются интерфейсы. На сегодня (2025-05-16) переписано около 50% python кода.

Система разрабатывается без особого внимания к тому "как этим будут пользоваться другие". Во-первых, все еще сто раз изменится, на данном этапе нет смысла фиксировать API, поддерживать обратную совместимость, это мой первый проект на Rust, поэтому неизбежно огромное количество говнокода. Во-вторых, пока я единственный полльзователь. Если этот проект кого-то заинтересует, тогда и будет обратная совместимость, обобщенные решения, настройки в вынесенных конфигурационных файлах и тп.

image

Getting start

  1. Clone this repository
git clone --depth=1 https://github.com/arsvincere/avin-rs.git

About

Open source cross-platform trading system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%