Блог им. empenoso
В предыдущих статьях я рассказывал, как пришёл к идее создания собственного торгового робота. Мотивация проста:
Автоматизация — алгоритм не спит, не нервничает и не занят своими делами.
Дисциплина — робот исключает эмоции, следуя правилам.
Тестирование — любую идею можно проверить на исторических данных, прежде чем рисковать деньгами.
Я всегда разделял два этапа: разработку торговых идей (логика стратегии) и реализацию механизма исполнения (отправка заявок, автотрейдинг). Сначала — бэктестинг и базовая оптимизация, и только потом — реальная торговля.
Поскольку я нахожусь в активном поиске подходящего решения для автотрейдинга и уже опробовал несколько рабочих вариантов, то эта статья представляет мои размышления об этом механизме исполнения заявок. Ваша критика или поддержка идей приветствуется.
Почему я не хочу использовать QUIК и Windows?
По моему мнению QUIK архаичен, нестабилен для автоматизации и требует оконной среды. Он не предназначен для headless-серверов (это компьютер без монитора, клавиатуры, мыши). QUIK + LUA или внешнее ПО — это сложная, криво документированная и уязвимая связка.
Raspberry Pi — это компактный одноплатный компьютер, размером с кредитную карту. Его главные козыри — низкая цена, минимальное энергопотребление (можно держать включенным 24/7) и достаточное для моих задач быстродействие. Мои торговые стратегии оперируют на часовых и дневных интервалах, где не требуются гигантские вычислительные мощности. Даже старая модель Raspberry Pi 3 справится с обработкой данных и отправкой ордеров через API брокера. Это идеальный домашний сервер для робота: компактный, бесшумный и условно недорогой если брать не самые новые модели.
В качестве операционной системы я выбрал Ubuntu Server. Этот дистрибутив Linux славится стабильностью, обширным сообществом и легкостью установки нужного ПО. Python, библиотеки для работы с API — всё ставится без проблем. Отсутствие графического интерфейса (GUI) экономит драгоценные ресурсы «малинки», а управление системой удобно осуществляется удаленно по SSH с любого другого компьютера в домашней сети.
Конечно, можно было бы рассмотреть аренду виртуального сервера (VPS) в облаке, но это влечет ежемесячные платежи. Старый ноутбук тоже мог бы подойти, но Raspberry Pi компактнее, тише и может быть установлена незаметно. Поэтому для моих целей связка Raspberry Pi и Ubuntu Server выглядит оптимальным решением для создания независимого и надежного торгового бота.
Вообще начал я с того, что было ближе и привычнее — Node.js. У меня за плечами немалый опыт в этом языке. Работа с WebSocket и REST API, запуск задач по таймеру, хранение данных в JSON — всё это в Node делается быстро и удобно. Именно на этой технологии я собрал свой первый рабочий прототип, и даже выложил его в открытый доступ: SilverFir-TradingBot.
Но по мере развития проекта я начал сталкиваться с ограничениями. Самая большая проблема — отсутствие зрелых библиотек для финансового анализа и бэктестинга. Всё приходилось писать вручную: от парсинга котировок до расчёта индикаторов. Подключение к API брокеров тоже часто требовало обёрток и промежуточных слоёв.
Под капотом Pine Script: как устроен и для чего используется язык TradingView
Поэтому я переключился на Python — язык, на котором написано большинство современных библиотек для финансов, анализа данных и машинного обучения. С переходом на Python открылся целый мир: Backtrader
, pandas
, matplotlib
, TA-Lib
. Всё готово: бери и тестируй любую идею. Вместо бесконечных «велосипедов» я сосредоточился на том, что важно — стратегии.
Сначала я выбрал Backtrader — мощный инструмент, позволяющий детально протестировать стратегию, использовать несколько таймфреймов, фильтры, индикаторы, комиссионные и проскальзывание. Но очень быстро стало ясно, что у него есть обратная сторона: слишком много времени уходит на подготовку данных, настройку окружения, отладку визуализации и описание каждой мелочи в коде. Всё гибко, но громоздко.
Мой первый и неудачный опыт поиска торговой стратегии для Московской биржиВ какой-то момент я открыл для себя Pine Script и TradingView. Это было откровением. Пишешь код — сразу видишь результат. Делиться стратегией можно по ссылке, и любой читатель статьи (я ведь пишу публичные статьи) мгновенно видит то же, что и я. Идеально для демонстрации логики и быстрого прототипирования. Но автоматизировать торговлю через Pine Script — плохая идея: нет доступа к API, нет гарантий исполнения.
Pine Script в деле: тестируем стратегию с линейной регрессией и R² (по мотивам S&C из 2007 года) на Московской БиржеВ итоге я хочу вернутся к Python и Backtrader. Хоть он мне и не особенно нравится, но в связке с готовой библиотекой-оберткой он позволяет работать с реальным API. Это единственный реально доступный путь автоматизации с брокером в России, не завязанный на QUIK и Windows.
В России есть выбор. Сегодня три брокера:
Т-Инвестиции: https://developer.tbank.ru/invest/intro/intro
Алор: https://alor.dev/docs/
предоставляют официально задокументированные API.
Для всех них энтузиаст из Екатеринбурга Чечет Игорь Александрович разработал удобные Python-обёртки: TinkoffPy, AlorPy и FinamPy. Это даёт возможность не только отправлять заявки, но и проводить бэктестинг прямо из Backtrader. Например, связка BackTraderTinkoff позволяет торговать и тестировать стратегии, не выходя из Python-экосистемы.
На фоне этого особенно интересно сравнить с международной практикой. У брокера Interactive Brokers есть официальное руководство по работе с Backtrader — такой уровень зрелости интеграции говорит о серьёзном подходе.
Аналогично и в криптоиндустрии: тот же Bybit предоставляет API и готовые коннекторы на GitHub, что подчёркивает тренд на API-фикацию торговли. Я сам не работаю с криптой, но это внушает оптимизм.
Итак, мой текущий стек вырисовывается так: Pine Script для быстрой проверки гипотез и визуализации, затем перенос логики в Python и Backtrader для глубокого бэктестинга, и наконец, TinkoffPy для реальной торговли через API брокера на домашнем Raspberry Pi.
Цель — полностью автономный робот на открытых технологиях, без QUIK и сопутствующей головной боли.
Что думаете?
Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»
20 мая 2025 г.
Хоть один человек применил правильное слово! Автотрейдинг
Все гундосят «алготрейдинг»,
будто он появился лишь вместе с роботами,
а до этого у трейдеров не было алгоритмов, торговали не по ТС.
Алготрейдинг — термин, присвоенный людьми, высоко себя несущими в сфере программирования,
но плохо знающими историю трейдинга и русский язык.
Алгоритмическая торговля = торговля по алгоритму, т.е. по ТС
Автоматическая торговля = когда алгоритм положен на код.
И роботы, и правильные трейдеры работают по алгоритму.
Вопрос лишь кто раньше появился в природе ))
Меня всегда удивляет как могут даже такие грамотные товарищи, как вы, путаться в таких элементарных вещах.
Все же для успешной торговли первичен алгоритм в совокупности с математическим аппаратом и логикой принятия решений. В общих словах, вы верно ответили — информация для торговли общедоступна. Но тут как и в приготовлении пищи — не все шеф-повара, хотя продукты используют одинаковые. Ну и биржевые данные по хорошему следует перерабатывать нужным образом.
Удачи вам в поиске алгоритма, тогда все должно стать совсем красивым
Михаил Шардин, малинка по сути своей все же гуано, и для умного дома сгодится, а нормально поставить памяти — УЖЕ НЕТ. я даже умный дом в итоге перенес с нее сначала на TV box (стоят втрое! дешевле 5 малинки, памяти при этом 4 гига и внутренний сторадже 64 Гб легко, при этом 905X3 вполне отличный проц для небольших задач. А уж за его цену то.
N100 же миниПС вполне покупается на ALI за 10 тыр, ставится 64 Г памяти, какой нужно nvme ssd, ставите убунту — и забываете про недоразумение по имени малинка не веки вечные. tvbox на 905x3 рвет маинку по цене в 3 раза при не хуже производительности — N100 рвет малинку по всем показателям в разы по той же (и меньше! цене).
Что же до квика — да, убог, но посмотрите в QuikPy — и делайте что вам надо на питоне, квик (в т.ч. в wine) будет у вас крутиться чисто как шлюз.
Ну и как Вам правильно заметили — главное ТС, а железки — это вообще такая вкусовщина и очень кстати завязаная на ТС. есть такие ТС что малинка идет сразу в утиль.
короче то что вы окунулись в мир умных домов и автоматизации это нелпохо, но в малинки лучше не инвестируйте :)
посмотрите хотябы в сторону N100 и N300 миниPC. их энергопотребление 10 ват,
Среднеброд, ну тут надо уточнять сразу — что аккумулятор gel, свинец, liion и lifepo — немного разные уровни все же. я конечно тоже раньше извращался и на apc smart ups цеплял свинец (ca-ca). но в итоге емкость так себе, а сдыхает свинец довольно быстро, даже с учетом того что smart apc умеет выставлять вольтаж заряда.
так что ИБП я бы вообще выбросил бы в мусорку и посмотрел бы в сторону lifepo4 батарей с каким нибудь инвертером гибридным на сколько нужно киловат — это будет на года а финальная стоимость не шибко дороже самоделкиной хрени
T-800, у мя был такой ибп… но все упирается в инет… если отключают электричество то пропадает все в том числе и мобильная связь… имхо надо делать дальнобойную внешнюю антену для ловли мобильного интернета на дистанции 5-10 км… она стоит 5-6 к руб...
имхо проще datacheap.ru/services/arenda-serverov-dedicated/
тиер3 датацентр 3к руб в месяц…
кстати там можно купить сервак б/у и платить только за размещение U1
воьсмерка да, уже буээ.
если взять еще более старую 6, то на ней не запускаются всякие современные штуки, которые используют в датацентре алготрейдеры сейчас. Точнее запускаются, но проблемно.
знаю, что уже вынужденно нужно переходить на восьмерку, но пытаются остаться на 7
Срок жизни увеличился
И может быть концы
Поэтов отодвинутся
На время.
Но все это не про ХФТ, конечно. Про среднее время смены позиции 2-3 дня.
ves2010, нет, я считаю что особых секретов и «граалей» не существует и информация в том или ином виде доступна всем — вопрос в применении.
У меня несколько серверов synology есть — они не прямо для такого заточены, но тоже можно использовать.
С таким заходом надо идти на фикс, плазу, на пределе со всем этим в коллокацию биржи. И никаких апи от посредников. Тем более таких, как тинек.
Логично, имхо, размещаться на сервере в датацентре. Всяко надежнее, чем домашние поделки.
Тем более, если системы на часах и дневках, там вообще проблем не должно быть.
Лимитками, спокойно. Еще и в плюс можно уйти относительно рыночных заявок.
самый дешовый вариант это в 2ух разных городах сервера стоят а все лежит на гугл облаке и в любой момент можно переключиться на резервный комп...
у мя схема в блогах на смартлабе лежит…
Danilych, у меня есть пара статей на этот счёт:
* smart-lab.ru/mobile/topic/1153389/
* smart-lab.ru/mobile/topic/1144486/
* smart-lab.ru/mobile/topic/1141546/
Странный подход. Единственное рациональное объяснение: торговля на ДЕМО счете или на незначительную сумму. То есть там, где нет заинтересованности в конечном результате.
он у меня в ЧС, я не вижу. Но помню, что он собрал на аккумуляторах от жигулей себе ибп и наделал кучу дешевых компов на атомах.
это все — кружок авиамоделизма, от нефиг делать. получит пару ощутимых убытков из-за проблем, будет делать по-человечески.
www.youtube.com/watch?v=_Ww086CRolc
он прикупит такого на заработанное
Не предлагаю, но плюсы определенные есть.
1. Нет угрозы ЗППП.
2. Нет угрозы отжатия имущества и выставления на алименты.
Что само по себе уже не мало)
Вообще, сервер в датацентре намного быстрее и надежнее, чем дома. Только желание сэкономить может противостоять этому правильному во всех остальных отношениях варианту.
Всё это очень увлекательно, но вы забыли рассказать главное:
— Сколько тысяч рублей это приносит в месяц в среднем за год
— Сколько лет эта схема работает и сколько суммарно принесла
Потому что можно построить такую систему, которая не принесёт ничего, кроме затрат на само оборудование.
Ну и такого робота можно на линуксе поднять. Не знаю как там Квик на линуксе поживает.
Для ботов арендуются VPS за 150-200 рублей в месяц, имеющие uptime 99.99%, исключающие любые проблемы с нестабильным питанием или интернет каналом. Можно выбрать локацию очень близко к серверу брокера, что значительно снизит задержки при выполнении запросов. ОС на выбор — ubuntu/debian любой линукс (можно и винду, но подороже).
Но проект интересный, в плане поковыряться самому и все настроить. Желаю успехов!
Твой пост в топе!!!
Когда за 5500руб можно купить нормальное устройство с SSD и Целероном
aliexpress.ru/item/4001118022666.html?sku_id=12000033120355622
Подскажите, пожалуйста, дает ли реальная торговля роботами больше 20-30% в год?
Я в принципе достиг FIRE, но еще работаю, планирую уволиться и заняться роботами, опыт программирования немаленький. Сколько на истории не проверял, ничего толком не обгоняет даже индекс без дивидендов, только какие-то случайности, и то ненамного.
Я вам дам полезную наводку. Посмотрите на Комоне алготрейдеров, которые имеют публичный трек и продают системы, например Силаев. Могу и я вам продать свои системы, трек тоже есть публичный, правда этим не занимался последние годы.
На Rasberry — это, конечно, мощно, но вполне себе может быть работоспособно. Сам не пробовал, но для некоторых задач на Питоне может и не потянуть. Надеюсь, у Вас всё будет работать стабильно.
Однако, мне не очень понятно, зачем самому заморачиваться с обеспечением устойчивой работы такого девайса, если стоимость аренды VPS может быть меньше тысячи рублей в месяц и при этом очень, очень хорошая надёжность. Мне, как айтишнику, только один вариант приходит в голову: хочется поиграться и сделать что-то «прикольное для себя». Сам грешу иногда таким.
По делу: сам пишу робота на Питоне (который, как мне кажется, очень корявый) именно из-за наличия готовых библиотек. Ну и асинхронность поддерживается на достаточном уровне. Вот только тестирование на истории написал сам, с учётом личных предпочтений. Удобно в нём отлаживать отдельные сигналы для поиска точек входа, выхода (отдельно от полноценной стратегии).
Сам бот работает через API Тинькова. Оно не идеально, но работает.
Михаил, искренне желаю Вам удачи!
Лично у меня опыта с осенджин никакого нет. Но здесь на смартлабе я слышал негативные комментарии.
Linux хороший серверный вариант.
Физики до сих активно используют фортран. Много специфических библиотек и язык ближе к привычным формулам, считает быстрее.
Си++ как язык не слишком удобный, в отладке больше проблем. Но если говорить о вычислительных задачах и о задачах реального времени, он, возможно, лучше питона.
Что до отдельных краткосрочных результатов, то возможно почти все. Результатам UT я бы не верил вообще. Ну, или списывал бы на краткосрочный период везения. Блистал еще Фишман, но быстро затух. Но ручники отдельно, алго отдельно.
Да, 500 контрактов на МХ это примерно 170 млн. по номиналу. Как-то привык я риск считать от номинала. До какого предела можно работать с плечом, допустим средняя доха 30, макс ДД тоже 30. С каким плечом это можно торговать?
_____rtx, нашёл два упоминания:
От 03 мая 2012 https://www.forbes.ru/5bissue5d/issue/2012-05/81094-kanadskii-robot:
И
организация ликвидирована: 29 июля 2020 г.
UT изначально совсем другая команда, Радченко и прочие. Фишман сам по себе. Вроде бы и Черемушкин там подвизался. Фоткался с арендованным лимузином.
Что до того, что среднегодовая доха равна макс ДД. Такие системы имеют право на существование, если их несколько на разных активах. На самом деле, старюсь найти получше, но так, чтобы с плечом 5 или выше — фигушки.
P.S. К UT в процессе их существования многие присоединялись. Но, как мне представляется, без особого толку.
а) быстрый источник данных
б) быстрая отправка транзакций через специальные сервисы
в) расположение серверов по разным географическим точкам чтобы отправлять копии транзакций с каждой и придет самая быстрая
Но в статье речь про неё не идёт
Остальные транзакции будут отброшены благодаря durable nonce в солане, уникальной метке. Колокация? В солане 1500-2000 валидаторов по всем точкам мира, невозможно взять в каждой из тысяч нод рядом ноду в том же дц
akumidv, для BackTrader уже написаны коннекторы для автоторговли из Alor github.com/cia76/BackTraderAlor, Finam и Tinkoff.
А для NautilusTrader — это все самому писать?
Вы используете NautilusTrader? Похоже Nautilus Trader больше для HFT
akumidv, тогда уж github.com/StockSharp/StockSharp — платформа для алготрейдинга, там хотя бы все РФ брокеры есть.
Но у меня опыта нет — только сайт смотрел
Яровой Александр, этот пост именно про железо или софт.
На счёт ТС у меня есть пара статей:
* smart-lab.ru/mobile/topic/1153389/
* smart-lab.ru/mobile/topic/1144486/
* smart-lab.ru/mobile/topic/1141546/
Себе несколько по-другому реализовал «автоматическую торговлю», но смысл тот же.
из железа, только две VDS. Одна для взаимодействия с биржей (Python, MQL5), другая для сбора статистики. Потом все это вываливаем в DataLens и анализируем.