Сегодня у айтишников появилось новое хобби — делать свой SaaS или писать торговых ботов с помощью LLM.
Порог входа резко снизился: достаточно хорошей идеи, немного свободного времени и подписки на одну из современных LLM.
Модель, которая набирает 90%+ в бенчмарке, совсем не обязательно поможет вам заработать деньги.
Потому что между «написать хороший код» и создать работающий продукт есть огромная разница.
Я дал шести LLM одну задачу — написать торгового бота и проверил, что из этого можно использовать на практике.
GPT, Claude Opus, DeepSeek, Qwen, GigaChat, YandexGPT Pro
Участники эксперимента
Чтобы сравнение было воспроизводимым, я зафиксировал версии моделей на момент проведения эксперимента — 14 августа 2026 года:
Модель |
Версия |
|---|---|
Claude Opus |
5.0 |
GPT |
5.6 Sol |
DeepSeek |
V4-Pro-0813 |
YandexGPT |
5.1 Pro |
Qwen |
3.6 |
GigaChat |
3.1 Ultra |
Все промты выполнялись через UI (web) соответствующих моделей в идентичных условиях, чтобы минимизировать влияние различий в API и программном окружении на результаты.
Промт будет у нас таким:
Собери полностью готового к запуску торгового бота на Python. Цель эксперимента: получить максимально возможный финансовый результат за первые 60 минут работы бота. Ограничения: 1. Весь код должен находиться в одном Python-файле. 2. Максимальный размер - 1000 строк кода. 3. После установки зависимостей пользователь должен только передать API-ключи и запустить файл. 4. Используй только публичные API биржи. 5. Не используй заранее подготовленные торговые сигналы, датасеты или результаты backtest. 6. Бот должен самостоятельно получать рыночные данные и принимать торговые решения. 7. Стратегия должна работать в реальном времени. 8. Не используй ручное вмешательство после запуска. 9. Предусмотри базовую обработку ошибок, reconnect WebSocket и контроль открытой позиции. 10. Начальный капитал считай равным $1000 11. Максимальное кредитное плечо - 5x. 12. Не используй больше 10% капитала в одной позиции. 13. Бот должен иметь возможность работать в paper-trading режиме без реальных ордеров. 14. Добавь логирование всех решений: сигнал → ордер → исполнение → PnL.
Все полученные алгоритмы/боты я разместил тут: https://github.com/Shldm/llm_compare
Да, один кейс не репрезентативен. Но бенчмарки отвечают прежде всего на вопрос «насколько хорошо модель решает задачу». В реальной разработке мне интереснее другое: насколько близко сгенерированный код находится к решению, которое можно реально использовать.
Результат будем оценивать от 1 до 10 по:
Не оцениваю качество кода потому что это делают бенчмарки (там это уместно), архитектуру (так как она упрощена).
Хотелось оценить именно более близкие к бизнес‑метрикам моменты:
Метрика |
Что оцениваем |
|---|---|
Соответствие ТЗ |
Насколько бот действительно выполняет исходные требования промпта: лимиты, режимы, API, 60-минутный горизонт, отсутствие ручного вмешательства и так далее. |
Production readiness |
Насколько бот в текущем виде пригоден для запуска с реальными деньгами: обработка исключений, контроль состояния, безопасность, отказоустойчивость. |
Надёжность |
Поведение при ошибках, разрывах соединения, некорректных данных и других нештатных ситуациях. |
Risk management |
Stop‑loss / Take‑profit, ограничение позиции и плеча, контроль экспозиции, защита позиции при сбое процесса. |
Реалистичность исполнения |
Насколько paper‑trading приближен к реальной торговле: комиссии, проскальзывание, bid/ask, исполнение ордеров и корректный PnL. |
Качество стратегии |
Логика входов и выходов, выбор данных и таймфрейма, адаптация к горизонту 60 минут, потенциальная пригодность стратегии. |
Результат
Сначала посмотрим у кого вообще получилось собрать рабочий модуль:
Базовая работоспособность |
Что показал тест |
|---|---|
? Claude |
Фатальных дефектов не обнаружено |
? GPT |
Фатальных дефектов не обнаружено |
? DeepSeek |
Торговый код запускается, но логирование фактически не работает из‑за ошибки в формате логов |
? Qwen |
Упал на несоответствии типов данных |
? YandexGPT |
Невозможно корректно закрыть позицию |
? GigaChat |
Бот фактически не торгует |
В целом результат оказался ожидаемым: лидеры coding‑бенчмарков и здесь оказались среди наиболее сильных участников.
Чтобы продолжить и оставить всех в гонке, подправил код у отстающих, правки были минимальные и делались вручную — только то, что мешает запуску.
Соответствие ТЗ
В первой строке промпта была сформулирована цель: получить максимальный финансовый результат за первые 60 минут работы бота.
Учитывает 60-минутный горизонт |
Как реализовано |
|---|---|
✅ Claude |
Сессия ограничена 60 минутами, максимальное удержание позиции — 3 минуты |
✅ Qwen |
SESSION_MINUTES = 60 + принудительное закрытие позиции в конце сессии |
✅ GPT |
Сессия ограничена 60 минутами, максимальное удержание позиции — 12 минут |
✅ ❌DeepSeek |
Единственное нарушение ТЗ у DeepSeekUSE_TESTNET = True по умолчанию |
✅ GigaChat |
Есть окно в коде |
❌ YandexGPT |
Ограничение в 60 минут отсутствует |
Комментировать тут особо нечего: YandexGPT не справился с ограничением по времени, а единственное нарушение ТЗ у DeepSeek - запуск с USE_TESTNET = True по умолчанию.
Дальше смотрим на то, как бот подошел к расчету PnL
Выделил этот пункт, так как без него боты не имеют смысла, а задача схождения PnL локального и биржевого одна из самых сложных:
Проскальзывание - имитирует реальную работу на рынке, что цену мы не всегда можем получить по сделке именно ту по которой отправляли ордера, в лимитных ордерах оред не исполнится, в рыночных получим худшую.
Бот |
Комиссия |
Проскальзывание |
Цена исполнения |
Учёт плеча в PnL |
Реалистичность |
|---|---|---|---|---|---|
Qwen |
✅ 0,04% обе стороны |
✅ 0,02% |
last + slippage |
✅ |
? Высокая |
Claude |
✅ 0,05% обе стороны |
❌ |
best ask / best bid |
✅ |
? Высокая |
GigaChat |
✅ 0,04% обе стороны |
❌ |
close свечи |
❌ |
? Средняя |
GPT |
❌ нет |
❌ |
close свечи |
✅ |
? Средняя |
DeepSeek |
❌ нет |
❌ |
REST ticker |
✅ |
? Средняя |
YandexGPT |
❌ нет |
❌ |
close свечи |
❌ |
? Низкая |
Похоже, Qwen в этом эксперименте уделил больше внимания именно моделированию исполнения и рыночных издержек.
Контроль открытой позиции
Модели реализовали совершенно по‑разному, на мой взгляд это один из ключевых пунктов риск‑менеджмента и вообще ключевой критерий, пускать модель в бой или нет.
Модель |
Где находится стоп |
Как работает |
Что произойдёт при падении процесса |
Оценка |
|---|---|---|---|---|
Claude |
? На бирже |
STOP_MARKET + TAKE_PROFIT_MARKET, closePosition=true; дополнительная сверка позиции каждые 5 сек. |
Позиция остаётся защищённой. |
? Надёжно |
GPT |
? В Python |
Стоп проверяется торговым циклом. |
Позиция останется без защиты. |
? Средне |
DeepSeek |
? В Python |
Стоп контролируется самим ботом. |
Позиция останется без защиты. |
? Средне |
Qwen |
? В Python |
Проверка только после закрытия свечи. |
Позиция останется без защиты. |
? Опасно |
GigaChat |
? В коде, но фактически не работает |
TP/SL рассчитываются и логируются, но не используются. |
Позиция может оставаться открытой до таймера. |
? Не работает |
YandexGPT |
❌ Нет |
Вместо стопа позиция переворачивается каждую свечу. |
Позиция не имеет отдельного стоп‑контроля. |
? Не реализовано |
После этого пункта Claude стал единственным кандидатом, которого я вообще рассматривал бы как основу для дальнейшей доводки перед продакшеном.
Большинство моделей реализовали риск‑менеджмент внутри Python‑процесса. Claude разместил защитные ордера непосредственно на бирже.
Это означает, что при падении самого процесса позиция всё ещё остаётся защищённой.Для торгового бота это принципиально разные уровни надёжности.
Стратегии торговли которые выбрали модели
Модели выбрали совершенно разные подходы — от простого следования за свечами до анализа микроструктуры рынка.
Модель |
Данные |
Торговая идея |
Частота сигналов |
Оценка подхода |
|---|---|---|---|---|
Claude |
|
Дисбаланс стакана ≥ 0,68 + перевес агрессивных сделок ≥ 0,62, подтверждение 3 тиками. |
Высокая, TP 0,25%, удержание до 3 мин |
? Наиболее подходящая для горизонта 60 мин |
Qwen |
1m свечи, динамический выбор монет |
EMA‑тренд + откат RSI + касание Bollinger Bands, уровни через ATR. |
Средняя |
? Хорошая адаптация под задачу |
GPT |
1m свечи, 3 монеты |
EMA‑кросс + RSI + объём, скоринг ≥ 4. |
Низкая |
? Корректная, но слишком консервативная |
DeepSeek |
1m / 5m / 15m, 5 монет |
8 условий, вход при confidence ≥ 0,75. |
Средняя |
? Сложная, но медленная |
GigaChat |
1m свечи, BTC |
Пробой максимума предыдущих свечей + ATR‑фильтр. |
Низкая |
? Простая стратегия, но под конкретный рынок |
YandexGPT |
1m свечи, BTC |
Зелёная свеча → buy, красная → sell. |
Очень высокая, до 30 сделок/час |
? Чрезмерно примитивная |
Тут опять, Qwen и Claude выбрали лучшие сценарии под заданные условия, в частном случае, попав в нужный рынок — GigaChat тоже ок, что в целом, учитывая условия промта, достаточно неплохо.
ИТОГИ:
После проверки работоспособности, paper‑трейдинга, риск‑менеджмента, надёжности и торговой стратегии результаты:
Метрика |
Claude |
Qwen |
GPT |
DeepSeek |
GigaChat |
YandexGPT |
|---|---|---|---|---|---|---|
Соответствие ТЗ |
9 |
9 |
8 |
5 |
8 |
4 |
Production readiness |
7 |
4 |
6 |
3 |
2 |
2 |
Надёжность |
8 |
3 |
7 |
4 |
3 |
4 |
Risk management |
8 |
6 |
5 |
4 |
1 |
1 |
Реалистичность исполнения |
6 |
8 |
3 |
2 |
4 |
2 |
Качество стратегии |
7 |
8 |
7 |
5 |
4 |
1 |
Итог |
45/60 |
38/60 |
36/60 |
23/60 |
22/60 |
14/60 |
Вывод: победителем стал Claude , он казался наиболее сбалансированной моделью: корректно выполнил ТЗ, показал высокую надёжность, реализовал полноценный risk management и единственный вынес защитные ордера на сторону биржи.
Qwen — главный конкурент Claude и одновременно самый неоднозначный участник. Получил лучшие оценки за реалистичность исполнения и качество стратегии. В исходной версии Qwen обнаружился более серьёзный дефект: бот не падал с ошибкой, а фактически молча переставал работать. При инициализации в массив попадали свечи разного формата, из‑за чего обработка данных завершалась исключением, которое затем подавлялось обработчиком ошибок. В результате за час произошло 360 таких исключений и бот не совершил ни одной сделки.
GPT занял третье место. Его сильная сторона — высокая надёжность и достаточно хорошее соответствие ТЗ.
И здесь возникает главный результат эксперимента: победила не модель с самой сложной стратегией и не модель с самым красивым кодом. Победила модель, которая лучше всего соединила стратегию, исполнение, надёжность и управление риском.
Ну и чтобы отдать должное названию статьи, результат прогона paper‑test, рандомные 60 мин по 5 отрезков:
Все модели прогонялись на одинаковых рыночных данных и в одинаковом paper‑trading окружении. Для каждой модели случайно выбирались 5 независимых часовых окон; результаты ниже — суммарный PnL этих пяти прогонов.
Модель |
Сделок |
PnL, $ |
Окон в + |
|---|---|---|---|
Claude |
200 |
−104.11 |
0/5 |
Qwen |
3 |
+0.83 |
1/5 |
GPT |
6 |
−1.92 |
2/5 |
DeepSeek |
22 |
−49.01 |
0/5 |
GigaChat |
3 |
−0.78 |
1/5 |
YandexGPT |
129 |
+0.00 |
4/5 |
Qwen — после минимального исправления, необходимого для запуска. В исходной версии — 0 сделок во всех 5 окнах.
YandexGPT использовал QUANTITY_MULTIPLIER = 0.001, поэтому фактический нотионал одной сделки составлял около $0.10. Положительный результат в 4/5 окон нельзя сравнивать с остальными моделями напрямую.
В этом тесте ни одна модель не показала устойчивой прибыльности. И это, пожалуй, самый показательный результат эксперимента.
Claude показал лучшую инженерную реализацию, но его стратегия совершала слишком много сделок: 200 сделок за пять часов привели почти к $100 комиссий. До учёта комиссий результат составлял −$4.15.
Qwen после минимального исправления дал +$0.83, но на пяти часовых окнах этого явно недостаточно, чтобы говорить о прибыльной стратегии.
А значит, главный вывод эксперимента простой: LLM уже умеют быстро собирать торговых ботов, но качество инженерной реализации ещё совсем не равно качеству торговой стратегии.
Лично я на данный момент выбираю Claude Opus 5 под разработку через Claude Code + через API “второе мнение” в Qwen (когда не можем найти решение)
Большие посты пишу на Хабре, короткие заметки тут
Комментарии (4)

house2008
29.08.2026 19:451m свечи, BTC, сессия ограничена 60 минутами
Можно даже не считать, на таких мтф и таких низковолатильные активах комиссии съедят всю прибыль, за исключением если у вас РР всегда больше 3 (наверное, нужно считать) и винрейт высокий, иначе на дистанции 100% будет минус из-за комиссий.
tester37
Быстро собрать торгового бота по одному промпту. Очень полезный подход для экосистемы )
Pruto Автор
Статья не про то, как собрать работающего и зарабатывающего бота, а про то, насколько с первого касания каждая модель близка к результату)