Блог им. empenoso

Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской бирже

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

Сегодня у нас есть Python и такие мощные библиотеки, как Backtrader. Однако голый фреймворк — это лишь половина дела. Чтобы он стал по‑настоящему народным инструментом, ему нужна удобная обвязка: готовая структура проекта, автоматический импорт стратегий, наглядные отчёты, тепловые карты для оптимизации и бесшовное подключение к API брокеров — не только российских, но надо начать с Мосбиржи.

Мы стремимся сделать инструмент таким же удобным, как TradingView. Простота в использовании и доступность всех функций для пользователей без глубокой технической экспертизы — мне кажется вот идеал. Чтобы каждый, кто заинтересован в алгоритмической торговле, мог без усилий внедрить свою стратегию, протестировать её и получить результаты, не проводя часы и дни за настройкой системы.

Эта статья — не просто описание проекта, а призыв к действию. Я предлагаю объединить усилия и создать открытый стандарт для алготрейдинга на базе open source Backtrader, заточенный под реалии российского рынка.



Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской биржеhttps://github.com/empenoso/backtrader-quickstart-template

Главная задача — построить открытый шаблон, который позволит частному инвестору, даже с небольшими навыками в программировании, сосредоточиться на главном — на разработке и тестировании стратегий, а не на борьбе с инфраструктурой. Мы создаём систему для марафона, а не для спринта: для классических стратегий с горизонтом в часы и дни, которая будет работать автономно и не требовать ежедневного внимания.

Почему Backtrader, а не другая библиотека?

Выбор в пользу Backtrader был сделан не случайно. Прежде чем остановиться на этой библиотеке изучил несколько популярных open‑source решений, каждое из которых имеет свои сильные стороны, но не соответствовало главной цели — создать простой и гибкий инструмент, который будет удобен для частных инвесторов на Московской бирже.

С одной стороны, существуют комплексные платформы, такие как OsEngine. Это мощное решение на C#, предлагающее готовый функционал «из коробки»: от графического интерфейса до подключения к различным брокерам. OsEngine представляет собой готовую экосистему, в которую интегрируются торговые роботы. Для тех, кто ищет законченный продукт и готов работать в его рамках, это отличный выбор. Однако для нашей цели — создания гибкого и легко кастомизируемого шаблона на Python — его архитектура оказалась менее подходящей, так как мы стремимся к максимальной простоте и модульности, свойственной конструкторам.

На другом полюсе — узкоспециализированные инструменты. Freqtrade — необычайно популярен в мире криптотрейдинга. Он обладает огромным сообществом и богатым функционалом, но весь этот функционал «заточен» под цифровые активы. Для фондового рынка и тем более для Московской биржи потребуются серьёзные доработки.

Есть и проекты, выросшие из легендарного Zipline от Quantopian, например, Ziplime. Сам движок Zipline по‑прежнему силён в бэктестинге, но после закрытия Quantopian все стало сложно.

Отдельно стоит упомянуть Nautilus Trader — это современный высокопроизводительный фреймворк, который часто называют «тяжёлой артиллерией» для HFT. Он невероятно быстр, поддерживает асинхронную архитектуру и ориентирован на работу с миллионами тиков в секунду. Но для большинства частных инвесторов такой уровень скорее избыточен. Для долгосрочных стратегий с горизонтом в часы и дни он выглядит как перегруженный инструмент.

На фоне этих решений Backtrader выделяется своей философией. Это не готовая платформа с жёсткими рамками, а библиотека‑конструктор. Она даёт базовые «кубики», из которых можно собрать именно ту систему, которая нужна.

У неё есть три решающих преимущества: большое сообщество, качественная документация (и даже на русском, неофициальная, сделанная одним из пользователей) и проверенные интеграции с API российских брокеров.

Именно поэтому Backtrader кажется идеальной основой для «народного» шаблона: лёгкого, гибкого и понятного даже тем, кто делает первые шаги в алгоритмической торговле.

Open source

Все компоненты нашего фреймворка — библиотека Backtrader и предлагаемый шаблон — распространяются под лицензией Open Source. Это означает не просто бесплатный доступ к коду, но и возможность совместно развивать и улучшать проект.

В мире open source качественные инструменты создаются коллективными усилиями и становятся доступны каждому, устраняя барьеры проприетарных решений. Наш «народный шаблон Backtrader» — часть движения, которое делает мощные инструменты алгоритмической торговли доступными без значительных финансовых затрат.

Архитектура нашего шаблона: что «под капотом»?

В основе шаблона лежат три принципа: модульность, наглядность результатов и готовность к реальной торговле. Давайте заглянем «под капот» и посмотрим, как это устроено.

1. Максимальная модульность: одна стратегия — один файл.
Избавляемся от сложной структуры и запутанных зависимостей. Каждая ваша торговая идея — это отдельный Python‑файл в папке strategies. Внутри этого файла вы описываете всё, что касается именно этой стратегии: логику входа и выхода, список тикеров для теста, размер комиссии брокера, начальный капитал и, что самое важное, параметры для будущей оптимизации. Больше не нужно искать настройки по всему проекту. Система автоматически подхватывает все стратегии из этой папки, а в главном файле вы просто указываете, какую из них хотите запустить сегодня.



Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской бирже

2. Два режима работы: «тест» и «оптимизация».
В основном файле проекта заложен простой переключатель. Хотите быстро проверить гипотезу на исторических данных? Включаете режим тестирования. Нужно подобрать лучшие параметры для вашей стратегии? Переключаетесь в режим оптимизации. Это позволяет сосредоточиться на задаче, не меняя код самой стратегии. Данные для тестов хранятся в отдельной папке data, а в настройках запуска вы лишь указываете нужный временной интервал, например, с 01.01.2022 по 31.12.2024.



Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской бирже

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

— ОТЧЕТ ПО БЭКТЕСТУ СТРАТЕГИИ: SmaCrossStrategy ---
Бумаги в тесте: ['SBER', 'VTBR', 'GAZP', 'LKOH', 'NVTK', 'YDEX', 'T']
Параметры: {'fast_ma': 20, 'slow_ma': 50, 'alloc_percent_per_ticker': 0.9, 'min_size': 1, 'rebal_weekday': None, 'log_on_connect': True}
Период тестирования: с 01.01.2018 по 12.08.2025
— РЕЗУЛЬТАТЫ ---
Итоговая прибыль/убыток: 252 713.12 [50.54%]
Доходность (годовых): 5.44%
Результат 'Купил и держал': 205 648.56 [41.13%]
Максимальная просадка: 67 124.98 [13.42%]
Всего сделок: 128
Процент прибыльных сделок: 41.41% (53 из 128)
Фактор прибыли: 2.13
Коэффициент Сортино: 1.08
--------------------------------------------------



Для режима оптимизации сознательно ограничились двумя параметрами. Почему? Это позволяет визуализировать результаты в виде тепловой карты. Глядя на неё, вы сразу видите, какие комбинации параметров дают наибольший профит‑фактор, и можете выявить зоны переоптимизации, где стратегия становится неустойчивой.



Народный Python: строим универсальный шаблон для алгоритмической торговли на Московской бирже

4. Бесшовный переход к автоторговле.
Тестирование — это лишь первый шаг. Шаблон изначально спроектирован с возможностью лёгкого подключения к реальному рынку. В него заложена основа для интеграции с API.

В России есть несколько брокеров с открытыми API:







Брокер



Документация



Тинькофф (T-Invest)



https://developer.tbank.ru/invest/intro/intro



Алор



https://alor.dev/docs/



Финам



https://tradeapi.finam.ru/

Для Backtrader есть интеграции с API российских брокеров.

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

Как вы можете помочь?

Я сделал первую рабочую версию шаблона, которую можно найти на GitHub. Это основа, скелет будущего шаблона, но чтобы он оброс «мясом» и стал по‑настоящему удобным и «народным», ему нужна помощь сообщества. И здесь я обращаюсь к вам.

Одна из первых трудностей, с которой я столкнулся, — это визуализация результатов. Стандартная функция cerebro.plot() отлично справляется с одной ценной бумагой, но при тестировании портфеля из десятка акций график превращается в нечитаемую кашу, где сигналы и сделки сливаются в сплошную линию. Приблизить и рассмотреть детали невозможно. В идеале, нужно научить систему сохранять графики для каждого тикера в отдельный файл с высоким разрешением, чтобы можно было спокойно и детально изучать каждую сделку.

Мне удалось сохранить график в таком читаемом виде только за счёт махинаций с поворотом экрана на 90° через программу управления монитором. Смартлаб сжал этот файл, вот оригинал.



Сделки только на первом графике показаны

Сделки только на первом графике показаны

Но технические задачи — это лишь часть дела.Я буду невероятно благодарен за любую конструктивную критику. Возможно, вы видите архитектуру иначе? Знаете, как сделать отчёты ещё информативнее или добавить новые метрики? Можете предложить более изящный способ управления стратегиями? Любые идеи приветствуются.

Да, я знаю о существовании такого популярного комплекса, как QUIK. Я уважаю его возможности, но сознательно выбрал путь Python. Гибкость, открытость и возможность запустить торгового робота даже на крошечном Raspberry Pi, который будет автономно работать месяцами — вот те преимущества, которые, на мой взгляд, перевешивают.

Если вы разделяете идею создания «народного Backtrader» — подключайтесь. Даже небольшие улучшения или просто замечания помогут довести этот проект до уровня, когда частные инвесторы смогут использовать его так же легко, как крупные игроки используют свои проприетарные системы.

Заключение

Главная цель этого проекта — создать не просто очередную библиотеку или набор скриптов, а универсальный инструмент для алгоритмической торговли, который будет доступен каждому. Мы строим открытый шаблон на Python, чтобы частные инвесторы могли сосредоточиться на разработке стратегий и анализе идей, а не на бесконечной настройке инфраструктуры. Народный Backtrader — это шаг к формированию сообщества, где знания и опыт становятся общим ресурсом. Вместе мы можем превратить этот проект в удобный, гибкий и по‑настоящему народный стандарт для алгоритмической торговли на Московской бирже.

Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»

26 августа 2025

11.5К | ★64
72 комментария
В книге «Deep Learning for Time Series Forecasting in Python»
приводятся данные, что в прогнозировании биржевых цен нейросети работают хуже статистических методов. Причем более поздние и сложные алгортимы хуже самой простой MLP — многослойного персептрона.

Мои опыты на Python
sourestdeeds.github.io/pdf/Deep Learning with Python.pdf
«Deep Learning with Python 2Ed» Fransois Chollet
с этим вполне согласуются.
Обучение нейросети по истории биржевых цен не дало полезных результатов.
А вот прогнозирование температуры по часовой истории погоды немецкого города Ены (Jena) оказалось лучше базового прогноза на 10%.
Базовый прогноз состоит в том, что в 75% случаев, температура в конце часа отличается от начала не более 0.1 градуса.
avatar
Rostislav Kudryashov, мой проект про Backtrader — это не про «суперточный прогноз нейросетей», а про удобный фреймворк. Хотите использовать простую SMA, ARIMA или LSTM — инструмент один и тот же.
avatar
Для тепловой карты может потребоваться свободный выбор функционала. Кроме доходности, навскидку, сортино.
Тема управления набором систем даже не затронута.
avatar
Думаю не взлетит. Видно, что вы не программист. Чтобы тащить проект с открытым кодом нужны линтеры, типизация и настроенный CI с проверками. pip странно использовать на современных проектах
avatar
Михаил, это действительно нужно, когда проект ориентирован на разработчиков. Но моя цель другая: сделать максимально простой инструмент для розничного инвестора, а не для профессиональных программистов. Как раз из-за перегруженности инфраструктурой многие проекты становятся слишком сложными и недоступными широкой аудитории
avatar
Михаил Шардин, без проверок это часто скатывается в говнокод. Тут на самом деле вопрос про целевую аудиторию. Люди которые и так умеют писать и так напишут под себя со своими особенностями и ваше решение их не устроит. Кто чего-то накликивает в коробочных решениях, вряд ли будет питон осваивать
avatar
Михаил, Вы упомянули лишь две крайности, а между ними ещё много кто есть. Например, человек имеет представление о программировании (этому чуть ли не в школе учат), но не может / хочет заниматься инфраструктурой, а его торговый алгоритм сложно / не возможно реализовать в коробочном продукте.
avatar
Михаил Шардин, розничный инвестор это человек с депошкой 100-300к в основном с автоследованием.
Это тул для гиков,, коих единицы. Надо чётче рисовать портрет своего пользователя.
avatar
А по моему, идея отличная! Желаю успеха! 
avatar
А через QUIK ваш шаблон сможет торговать?
 
avatar
Juri, да, через библиотеку github.com/cia76/QuikPy
avatar
Михаил Шардин, Не забудьте упомянуть, что эта библиотека «честно слизана» с коннектора QUIKSharp.
avatar
Prophetic, главное, что библиотека развивается и позволяет быстро подключить Backtrader к QUIK. Для инвестора наверное ценность именно в этом
avatar
Михаил Шардин, Более главным является соблюдение лицензии Apache 2.0. Настоятельно рекомендую ознакомиться.
avatar
Prophetic, я не автор и никак не связан ни с QUIKSharp ни с QuikPy.
avatar
Михаил Шардин, С Backtrader тоже никак не связаны?
avatar
Prophetic, я предлагаю его использовать.

Обозначьте пожалуйста свою позицию, а то мы вроде как препираемся, а о чём мы спорим-то?

PS. До меня дошло. Вы один из авторов этой библиотеки: github.com/finsight/QUIKSharp/blob/master/AUTHORS.md
avatar
Prophetic, у Backtrader лицензия GPL3.0 а на Apache 
avatar
Beach Bunny, у моего шаблона MIT.

MIT — максимально либеральная лицензия: «делайте что хотите, только сохраните копирайт и отказ от гарантий».
GPL-3.0 — «копилефт»: если распространяешь производную работу, то обязан распространять её также под GPL-3.0.

Но мой шаблон это независимый проект, который лишь вызывает Backtrader как библиотеку.
avatar
Михаил Шардин, в main.py
на мой взгляд, не совсем корректные параметры
   cerebro = bt.Cerebro(
        stdstats=False, 
        optreturn=False if MODE == 'OPTIMIZATION' else True,
        runonce=False,  # КЛЮЧЕВОЙ ПАРАМЕТР: отключаем синхронизацию данных
        preload=False,  # НЕ предзагружаем все данные в память
        oldsync=False,   # НЕ используем старый механизм синхронизации
        exactbars=-1    # ДОБАВИТЬ: позволяет разную длину данных
    )
Работать будет, очень медленно, особенно тестирование.
Документацию читайте и проверяйте!
avatar
Prophetic, ну Python часть ниоткуда не слизана, а написана автором, намного через попу, но самостоятельно, а про то что остальная чсать из другого проекта, так там так и написано
avatar
Beach Bunny, Да, согласен. Требования лицензии соблюдены (не сразу увидел в самом начале ссылку на QUIKSharp).
avatar

Добрый день Михаил.
А Walk-Forward тестирование реализовано?

Дело в том что на примере sma Walk-Forward покажет что лучшие на прошлом периоде почти всегда хуже 0 на следующем.

есть бектетсы.
Этим страдает кстати и мета трейдер — пере оптимизируя параметры.

Он есть в OSA — вы можете взять ту-же sma стратегию там и пробекстесить WF  методом.

Вообще без WF оптимизация не имеет практического смысла 99%

avatar
Антон Б, хорошие вопросы. В текущем виде его нет
avatar
Михаил Шардин, возможно эта статья поможет Вам в реализации ntguardian.wordpress.com/2017/06/19/walk-forward-analysis-demonstration-backtrader/
avatar
Антон Б, метод WF действует на малолетних алгашей, разноцветных инфоцыган и продавцов роботов как перекись водорода для микробов)))



от этого метода у них тускнеет взгляд и пропадает румянец на щеках... короче… валит микробов наповал))

оно и понятно… метод окунает их головой в навоз, лишая иллюзий, подписчиков и денег… кому ж такое понравится?)))
avatar
GOLD, мои боты проходят WF тесты).
и некоторые! боты заказчиков проходят.
но тут — «ты сам обманываться рад» — уходит много времени объяснить что такое переоптимизация.
и что чем больше индикаторов тем хуже.
и что должна быть какая-то неэффективность рыночная на входе в разработку.
и что это ошибка выжившего — на примере дельфинов.

так что да.
от переоптимизации спасает.
и от иллюзий.

но зато дает достаточно качественную картину.

кстати те кто пишет роботов для клиентов и не используют WF зарабатывают больше на разработке.
это вопрос совести против денег.
avatar
а в чем проблема генерировать картинки высокого разрешения?
я себе такие вот генерирую под каждую стратению
avatar
Maxim Abrosimov, это именно через Backtrader? Matplotlib?
avatar
Михаил Шардин, визуализация matplotlib, backtrader еще не подключал! пока занимаюсь описанием паттернов для поиска сигналов! потом буду засовывать в backtrader или в backtest. хотя и на обще картинке если построить все сигналы за год или 5 — видно что происходит! надо еще риски прикрутить и правила выхода, трейлстопы может тоже! в общем есть чем заниматься)
avatar
уважаю ваши усилия, пару раз ваши скрипты помогали
но конкретно этот проект — думается, из серии «больному не поможет, здоровому не нужно»
avatar
amberfoxman, я не в обиде. Здесь больше для того чтобы собрать конструктивную критику на основе чужого личного опыта — но как-то не очень сработало.
avatar

Михаил Шардин, очень хороший задел.
но в какой-то момент понимаешь что нужна надежность — типизация прибитая в компилятор.
и переходишь на rust \ c# .
а если еще и скорость то rust.

кстати у вас используется тип float  в данных — это видно по cvs файлам.
а нужен decimal.
или ЦЕЛОЧИСЛЕННЫЙ int64\int128

docs.python.org/3/library/decimal.html

потому что с ошибками округления бороться это трешь.
и брокер на такую цену с ошибкой округления вернет ОШИБКУ.
особенно плохо если это будет стоп… он же в долях от цены берется.

пока бектесты это мелочь.

а потом вы говорите в боевой переводить — а там он эти сделки будет откидывать брокер.
с неправильной ценой.

avatar
Антон Б, можно подумать, что тип  decimal избавляет от ошибок округления.
avatar

Juri, избавляет. цены в decimal.
 и лоты тоже — в своем потомке от децимал, так как торгуют лотами.
и округления цен и лотов везде ловятся в момент конвертации в децимал.
а не пропускаются.

часто вижу код который в реальности брокер \ биржа отбросит заявку так как округление не то.

причем не все заявки а некоторые — где float сработало неожиданно оставив 0.000000002 к лоту) или к цене.

можно конечно при генерации заявки все это делать и проще, но тогда план-факт по лотам\ценам не совпадает.

avatar
Главная задача — построить открытый шаблон, который позволит частному инвестору, даже с небольшими навыками в программировании, сосредоточиться на главном — на разработке и тестировании стратегий, а не на борьбе с инфраструктурой.
  
Это шаблон, который десятилетиями вбивают в голову трейдерам разнообразные инфоцыгане. На самом деле он глубоко ошибочен. Попробуйте так сделать самолет. Он не полетит.Сначала надо изучить аэродинамику, и понять, почему самолеты вообще летают. После этого Вы сможете сделать самолет, который хоть и с трудом, но оторвется от земли. После этого можно  его  тестировать и оптимизировать.
Теоретическая база трейдинга ничуть не меньше аэродинамики. И требует определенных усилий для своего усвоения. Существенная разница в том, что самолет, сделанный без знания основ точно не полетит. А стратегия разработанная методом случайного тыка может заработать. И даже много заработать. Случайно. Нассим Талеб даже книжку про это написал. «Одураченные случайностью» называется.
avatar
Synthetic, кажется задача слегка проще
avatar
Михаил Шардин, сделать летающий самолет — любительский.
или вот на квадриках что-то поднимающее человека.
ГОРАДО ПРОЩЕ чем рабочую стратегию.
и ДЕШЕВЛЕ.

Вот пройти потом лицензию с уже летающим прототипом — да это много бумажной волокиты.
avatar
зачем сохранять график, когда можно использовать визуализацию вроде apache superset?
avatar
Алекс П, посмотрю, спасибо
avatar
Михаил Шардин, нужно покопаться, какая библиотека хорошо подходит для графиков акций. Plotly для этого точно используется.
avatar
Тебе надо новую рисовалку графиков подключить, с блек-джеком и шл**ми — с нормальным zoom, маштабированием и прочим.
Библиотек которые рисуют свечные графики под Python сейчас много, выбираешь и делаешь.
Там работы всего то на 2-4недели ! 
avatar
Beach Bunny, какую библиотеку посоветуешь?
avatar
Beach Bunny, 
Вот умеете Вы все усложнять...
Получаешь данные (realtime), делаешь инсерт в скуль и имеешь картинку (с масштабированием, зумом и т.п.)  в браузере:


А потом 2-4 недели попиваешь пивко… ;)
PS: Но я свечи ненавижу. Только тики. Поэтому вот так:




avatar
Synthetic, и хде индикаторы, хде сделки ?
Зум готовой статичной-картинки, он нам им даром не нужон.
Нужно чтобы отдельный участок можно было отмаштабировать и картинку подвигать, типа как в TradingView на графиках.
А это можете оставить себе.
avatar
Beach Bunny, 
Индикаторов нет, они исключительно для лохов.
Это реал-тайм график. Период обновления указан в верхнем правом углу — 1с. Можно и 0,1с поставить, но мне это не нужно. А сделок нет специально, а то слюной подавитесь… :)



avatar

Synthetic, а сделки где? есть возможность из коробки показать сделки.

не только голый график.
и индикаторы для лохов — ну такое себе.
а доверительный интервал 5% это тоже для лохов к примеру?
а линии показывающие страйки опционов… там где опцины выходят в деньги\уходят из денег — это тоже для лохов?
вся математика для дохов?
и опционная доска для лохов?

не обязательно индикаторы это бред вида macd в луне)

avatar
Synthetic, о, графана!
Synthetic, а еще нужно вот такой вот анализ результативности github.com/ranaroussi/quantstats  (желательно чуть получше)
HTML tearsheet 
avatar
Beach Bunny, 
а еще нужно вот такой вот анализ результативности

Я стремлюсь к стабильной доходности 10% в день. Поверьте, когда Вы этого достигнете, все эти графики Вам нах не будут нужны.
avatar
Synthetic, сказки всё это.
10%в день * 250 торговых дней в году = 2500% годовых.

Пусть будет начальный капитал 10 тысяч.

1. Через 5 дней: 10 000 × 1.1⁵ ≈ 10 000 × 1.61 = 16 100 руб.
2. Через 10 дней: 10 000 × 1.1¹⁰ ≈ 10 000 × 2.59 = 25 900 руб.
3. Через 20 дней: 10 000 × 1.1²⁰ ≈ 10 000 × 6.73 = 67 300 руб.
4. Через 30 дней (1.5 месяца): 10 000 × 1.1³⁰ ≈ 10 000 × 17.45 = 174 500 руб.
5. Через 44 дня: 10 000 × 1.1⁴⁴ ≈ 10 000 × 80 = 800 000 руб. Ваши 10 тысяч превращаются в 800 тысяч менее чем за 2 месяца.
6. Через 60 дней: 10 000 × 1.1⁶⁰ ≈ 10 000 × 304 = 3 040 000 руб.
7. Через 100 дней: 10 000 × 1.1¹⁰⁰ ≈ 10 000 × 13 781 = 137 810 000 руб. (137 миллионов рублей).

Продолжать?
avatar
Михаил Шардин, 

Здесь много говорят о том, что плечи убивают депозит. Я вот так не считаю. Разумные плечи (а мосбиржа других и не дает) весьма полезны.
Гораздо вреднее пресловутое реинвестирование. Чудес не бывает. На бирже высокая прибыль равноценна высокому риску. Поэтому прибыль надо выводить и реинвестировать туда, где это будет оптимально, обязательно предварительно хорошо подумав.
А помечтать конечно не вредно…
avatar
Михаил Шардин, перепись тех кто реально кодит под алго устроил просто.
спасибо!
avatar
Synthetic, ужасная кардиограмма, срочно вызывайте реанимобиль с бригадой
avatar
Urtrade, я про это же.
avatar

Питон питоном, но я бы предпочел расчетную часть писать фундаментально, на Java.

Делал так: на lua в Quik только маленький модуль двусторонней связи, который сразу перебрасывает данные в endpoint, а там уже Java во всей красе обрабатывает и укладывает данные а postgres, и потом работает с ними. И обратно команды на сделки кидает в Lua. В теории туда же можно натравить питон для анализа и каких то решений. Но я питон не люблю.

Визуально морда — на react, тащит данные через то же джавовкое бэк-приложение по rest.

Но потом что-то всё забросил, скучно стало. Надо бы поднять архив, ещё покопаться.

avatar
Turbo Pascal, 
Делал так: на lua в Quik только маленький модуль двусторонней связи, который сразу перебрасывает данные в endpoint

Quik был сделан в те времена, когда ядро биржи работало на MS SQL SERVER. Брокерский сервер естественно тоже работал на MS SQL SERVER. Протокол квиковский был рассчитан на обмен между SQL серверами. Поэтому терминал Quik Весь пропитан идеологией SQL. Поэтому есть возможность, по крайней мере теоретическая, используя локальный MS SQL сервер, получить у себя что-то вроде локального дубля брокерского сервера (ессно read only).
Это можно сделать вообще без квика с использованием «Модуля экспорта биржевой информации.» Но можно попытаться и с квиком, который заносит в SQL всю необходимую информацию по odbc. При этом обеспечивая синхронизацию с брокерским сервером, обрабатывая разрывы связи и т.п. Читать из SQL может кто и что и как угодно. А заявки можно посылать и через dll, если конечно у Вас не ХФТ. С MS SQL сервером работает очень стабильно. Включил и забыл. Пробовал с другими — не работает вообще...
Все это к тому, что можно не тратить особо усилия на добывание данных из Quik. Но это для тех. кто с SQL на ты.
avatar

Synthetic, вроде как на ms sql они начали строить срочный рынок )

а другие сектора были на других движках, более модных в нулевых

avatar
Андрей К, 

Ну, для меня в то время других рынков, кроме срочного, как бы и не существовало.Скучные они были какие-то.
avatar
LLM и вайбкодинг при разработке проекта используете? Щас сильно меньше порог входа стал в эти (соорудить что-то своё) вещи стал.
avatar
Replikant_mih, это современный инструмент, странно если не использовать
avatar
Replikant_mih, 
 вайбкодинг 

прочитал что это такое

я сейчас веб управление и мониторинг делал. Вот 1 в 1 вайбкодинг )

avatar

Андрей К, ) Ну это по сути ярлык для того, чтобы разные люди понимали, что речь о вот этом. На мой взгляд не идеально описывает явление.

 

Ну и я тут вкладываю использование специальных IDE по типу Cursor. Чтобы не просто ChatGPT по запросу код писал, а чтоб система могла за рычажки дергать, сама смотреть ошибки, запускать команды и т.д.

avatar
Synthetic, смотреть где делает сделки автоматический бот в реале, и на истории — на бектесте.
важно.

так-же важно видеть где именно делает бот сделки, и где ты\я ожидал, просто на этапе теста работы.
тоже полезно — тест бота.

хотя можно как-то прикрутить автотесты — но я не делал так.
наверно можно, но не делал.
сравнивать фильтр сделок.
avatar
А зачем??? Сложность реализации в изменении и уточнении позиции. С этим BT не поможет. Индикаторы там написаны как-то сложно, дольше времени потришь на изучение и исправление. Чатгпт сделает любой индикатор и внедрить его в код будет на порядок проще, чем с BT, у которого куча собственных тараканов. Ну разве что вы собираетесь торговать рыночными заявками, но это же аут полный. В чем смысл?
avatar
broker25, немного не понял какую альтернативу вы предлагаете?
avatar
С точки зрения визуализации посмотри в сторону grafana.com/ — туда можно сливать сырые данные и там уже строить графики в динамике.
avatar
Инициатива с шаблоном хорошая. Сам смотрел в сторону backtrader и так руки не дошли разобраться. В общем клонировал репозиторий, буду изучать.
А насчёт визуализации можно посмотреть в строну plotly: pypi.org/project/backtrader-plotly/ Библиотека позволяет строить интерактивные графики, что можно попробовать использовать для анализа стратегий.
avatar
Проблема алгоритмов в проскальзывании и нудно ещё учитывать объемы в моменте, а так же крайне не эффективны утренние и вечерние сессии. В итоге если алгоритм научился учитывать объемы, то есть более простые и эффективные алгоритмы.

Читайте на SMART-LAB:
Фото
Итоги первичных размещений ВДО и некоторых розничных выпусков на 4 декабря 2025 г.
Следите за нашими новостями в удобном формате:  Telegram ,  Youtube ,  Смартлаб ,  Вконтакте ,  Сайт
Фото
DXY у ключевой поддержки: шорт-сквиз или новый этап распродажи?
Индекс доллара DXY плавно дрейфует в область месячного минимума в районе 98,50. Однако ослабление доллара на FX неравномерно: EURUSD стоит около...
Фото
ИИС — ваш личный инвестиционный проект
Долгосрочные инвестиции — один из самых доступных и стабильных способов получения дохода на бирже. О преимуществах вложений на долгосрок...

теги блога Михаил Шардин

....все тэги



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