Чому AI Trading Agent втрачає на реальному ринку
На історичних даних торговий агент виглядає переконливо: рівна крива дохідності, рідкісні просадки, стійкий результат одразу на кількох інструментах. У реальному контурі та сама модель втрачає — і майже ніколи через саму нейромережу.
Розрив виникає між сигналом і виконанням, бо між ними перебуває ринок, якого немає в навчальній вибірці.
Затримка виконання заявок ламає розрахунок найперше. Поки рішення агента доходить до майданчика й повертається підтвердження, котирування встигає піти, і на волатильній ділянці розрахунковий прибуток угоди перетворюється на збиток.
Прослизання ціни додається згори: велика заявка виконується за середньозваженою ціною гіршою за ту, на якій агент ухвалював рішення.
Другий рівень — обмеження біржі, не відображені в історії: ліміти на частоту запитів, мінімальний крок ціни й обсягу, часткове виконання, різні правила у Binance та інших майданчиків.
Агент, навчений на ідеальному потоці даних, не знає, що частину його заявок відхилять, а частина пройде не повністю.
Перевірка стратегії на історії майже завжди відбувається без комісій, затримок і відмов — тому модель підлаштовується під шум вибірки й запам'ятовує умови, яких на живому ринку не існує.
Далі розбираємо, як це закривається: як будується реальний контур виконання з емуляцією затримок, урахуванням лімітів майданчика й контролем прослизання.
Вимірні ефекти: реакція, ризик, простій
Швидкість реакції на ринкову подію
Шлях від сигналу до виставленої заявки скорочується з ручних хвилин до часток секунди: агент читає стакан і стрічку угод, рахує сигнал за моделлю й надсилає ордер без оператора.
Цінність не в «миттєвості», а в тому, що рішення ухвалюється за ціною, яка ще актуальна: на волатильному ринку розрив між сигналом і заявкою забирає у стратегії весь прибуток.
Затримку міряємо за ділянками — приймання даних, розрахунок, постановка заявки — і стежимо, щоб вона не зростала на піковому навантаженні.
Контроль ризику й лімітів на угоду
Ліміти задаються до старту торгівлі й живуть у конфігурації, а не в голові трейдера: максимум на угоду, межа відкритих позицій, денний стоп за збитком, заборона входу за аномального спреду.
Агент перевіряє кожну заявку проти цих правил, і частка відхилених угод стає вимірним показником: видно, скільки сигналів відсічено до того, як вони стали збитком.
Клас відмов «забув закрити позицію» або «збільшив розмір на емоціях» зникає повністю — рішення виконує машина за одним правилом у будь-який момент доби.
Простій стратегії вважаємо окремою метрикою: розрив зв'язку з біржею, перезапуск процесу, відхилений ордер — агент відновлює стан позиції з журналу й продовжує роботу без ручного втручання.
Стійкість торгівлі перевіряємо сценаріями збою, а не одним вдалим прогоном: скільки часу стратегія була поза ринком і чи повернулася вона до тих самих лімітів.
Порівняння режимів: радник, автоторгівля, гібрид
Режим агента задає, у якій точці циклу угоди залишається людина: до сигналу, між сигналом і виконанням або вже після.
Підключення до біржових інтерфейсів — обмін запитами й потік подій захищеним каналом — однакове для всіх варіантів, тому вибір зводиться до того, кому довірити натискання кнопки й як система поводиться під час обриву зв'язку.
| Режим | Коли підходить | Обмеження |
|---|---|---|
| Радник | Стратегія перевіряється, обсяги невеликі, виконання віддавати роботу не готові | Реакція людини додає затримку: на швидких рухах ціна йде від сигналу |
| Напівавтоматичний | Потрібен потік сигналів і розрахунок обсягу, фінальне рішення — за трейдером | Потребує уваги в моменті: без підтвердження угода просто не виконується |
| Повністю автоматичний | Правила формалізовано, стратегія пройшла перевірку на історичних даних | Помилка в логіці тиражується без зупинки, збиток обмежений лише захисними лімітами |
Ручне підтвердження угод
Агент рахує сигнал, обсяг заявки й рівень захисту та показує розрахунок — виконання чекає на рішення трейдера. Такий напівавтоматичний режим знімає цілий клас помилок, пов'язаних із неправильно зрозумілим контекстом ринку, і залишає контроль за людиною. Плата за це — затримка між сигналом і заявкою та неможливість вести багато інструментів одразу.
Повністю автоматичний режим
Тут агент сам виставляє й знімає заявки, а людина долучається до налаштування правил. Обов'язкові умови автоматичної торгівлі — ліміт ризику на угоду й на день, окремий канал повідомлень і ручний «стоп» на все.
Окремо проєктується поведінка під час обриву каналу: незакриті позиції та ліміти не можна залишати без нагляду після відновлення зв'язку — це і є основне обмеження автоторгівлі.
Етапи впровадження: від аудиту стратегії до передачі
Впровадження торгового агента — це перенесення вашої логіки ухвалення рішень у виконуваний код, а не запуск готового бота. Порядок робіт нижче однаковий для спотової торгівлі, арбітражу й виставлення котирувань: змінюються лише джерела даних і правила управління ризиком.
Аудит даних і правил стратегії
- Аудит стратегії: розбираємо правила входу, виходу й масштабування позиції, джерела сигналів і доступність даних за якістю та затримкою.
- Формалізуємо правила у специфікацію: умови спрацювання, ліміти на угоду й на день, сценарії аварійної зупинки агента.
- Перевіряємо дані: глибина історії, пропуски, розбіжності між джерелами — на брудних котируваннях будь-яка перевірка нижче втрачає сенс.
Перевірка на історії та в тестовому режимі
- Прогон на історії з урахуванням комісій і прослизання: поведінка на зростанні, падінні та в боковику, а не на вдалому відрізку.
- Тестовий режим торгівлі: агент підключений до живого потоку котирувань, але ордери не виставляються — звіряємо поведінку з прогоном.
- Малий контур з ордерами мінімального розміру: перевіряємо виконання, часткові заповнення та відмови до виходу на повний обсяг.
- Перенесення в робочий контур: поетапне зростання обсягу, контроль відхилень від розрахункової моделі, план відкату на попередню конфігурацію правил.
Далі вмикається регламент супроводу: моніторинг, оповіщення за відхиленнями, планове оновлення правил і розбір інцидентів. Логи, метрики й доступи передаємо вашій команді — агент залишається керованим і без нас.
Конфігурації, схеми й регламенти: склад постачання
Постачання — це не лише працюючий агент, а й комплект, за яким ваша команда зможе його запустити, перевірити й прийняти на супровід. Нижче — що входить у передачу.
Документація та схеми
- Файли конфігурації: параметри стратегії, ліміти на угоду й на денний оборот, список торгових пар — з позначкою, що змінюється без перезбирання.
- Схема потоків даних: від джерела котирувань до підтвердження заявки, з точками, де агент вирішує сам і де чекає на підтвердження.
- Опис логіки стратегії: умови входу й виходу, пауза під час розриву зв'язку, поведінка за розбіжності цін між майданчиками.
- Журнал подій: формат записів за кожною заявкою й спосіб відновити картину дня, якщо угода викликала питання.
Політики доступу та розділення ключів
- Ключі з правом торгівлі, але без права виведення; окремі ключі для тестового й робочого контуру.
- Ролі: хто змінює ліміти, хто зупиняє агента, хто оновлює конфігурацію — кожна дія в журналі.
- Зберігання секретів поза кодом, ротація за регламентом, порядок відкликання ключа у разі витоку або звільнення співробітника.
Це і є склад постачання: документація щодо агента, схеми, політики доступу до ключів і чек-ліст запуску з порядком підняття сервісів і критеріями переведення в робочий режим.
Перед передачею проганяємо зупинку й перезапуск за цим чек-лістом — ви бачите, що процедура виконується без нас.
Кейс: менша просадка, коротше відновлення після збою
Агент працював в одному потоці: отримував котирування, рахував сигнал і одразу надсилав заявку в Binance. Обрив зв'язку розривав цей ланцюжок — після перепідключення агент не знав, які заявки вже пішли на біржу, і виставляв їх повторно.
Розбирати наслідки доводилося вручну, а відкрита позиція весь цей час залишалася без захисного стопа.
Метрики до і після:
- Час відновлення після обриву зв'язку: 20–40 хвилин ручного звіряння позицій і заявок → 40–90 секунд автоматичного підняття.
- Частка ручних втручань: 10–15 разів на добу → 1–2 на тиждень, і лише за зміни лімітів ризику.
- Глибина просадки на історичному відрізку: 17% → 6–7% завдяки жорсткому стопу на стороні біржі й обмеженню розміру позиції.
- Знятий клас відмов: дублі заявок і «завислі» позиції без захисту — зникли повністю.
Що саме змінювали в логіці агента
Стан винесли в журнал: намір і підтвердження виконання пишуться до надсилання заявки, тому під час старту агент дочитує журнал і продовжує з точки зупинки, а не з нуля. Кожній заявці присвоюється ідемпотентний ключ — повтор після збою не створює другу позицію.
Захисний стоп ставиться на біржі одразу після входу, а не утримується в пам'яті процесу. Окрема перевірка живучості стежить за потоком котирувань і зупиняє торгівлю, якщо дані не надходять довше за задане вікно.
Додатково додали звіряння з біржею за закриттям сесії: розбіжність позицій або обсягу піднімає сигнал до того, як помилка накопичиться.
Логіка сигналу при цьому не змінювалася — переписали лише шар виконання й відновлення, тому поведінка стратегії на історії залишилася такою самою.
Чим AI-радник відрізняється від автономного агента?
AI-радник і автономний агент розв'язують одну задачу — знайти й відпрацювати ринкову ситуацію, — але по-різному розподіляють відповідальність. Радник рахує сигнал і віддає його людині: напрям, обсяг, стоп підтверджує оператор.
Автономний агент сам виставляє заявки, переставляє стопи й закриває позицію, а людина задає лише правила гри.
Межі автоматизації фіксують до запуску, а не по ходу: які інструменти агент торгує, максимальний розмір позиції, кількість угод на добу, поведінка під час розриву зв'язку з біржею.
Кожне рішення потрапляє в журнал — вхід, обґрунтування, параметри, результат; без нього не можна розібрати збитковий день і довести, що алгоритм не вийшов за ліміти. Відповідальність за угоди залишається на власнику рахунку: агент виконує правила, правила затверджує людина.
Зберігання ключів — вододіл між режимами. М'який варіант: агент працює торговим ключем без права виведення — бачить баланс і виставляє ордери, але вивести активи не може.
Автономний контур: ключ живе в окремому модулі підпису, а переказ потребує другого підтвердження — у мережі Ethereum це смарт-контракт з мультипідписом або добовим лімітом на виведення.
Людина обов'язкова там, де помилка необоротна: виведення коштів, зміна стратегії та лімітів, угоди вище порога, аномальна волатильність — агент зупиняється й передає управління оператору.
Це не недовіра до алгоритму, а обмеження максимального збитку за один збій: контрольована пауза коштує дешевше за розбір наслідків.
Ризики, ліміти біржі та стійкість: технічні питання
Агент торгує не у вакуумі: біржа обмежує частоту звернень, з'єднання рветься, а ринок змінює характер за хвилини. Нижче — чотири інженерні сумніви, які найчастіше піднімають на розборі, і те, як ми закриваємо кожен.
Що станеться, якщо з'єднання з біржею обірветься?
Агент тримає постійний потік котирувань і окремий канал для торгових команд. Під час розриву він не дораховує стан із пам'яті, а заново запитує позиції та відкриті заявки й звіряє їх зі своєю моделлю.
Розбіжності йдуть у журнал, торгівля відновлюється лише після звіряння — інакше агент спрацює на застарілих даних.
Як виключається дублювання заявок?
Кожна заявка отримує клієнтський номер, який біржа приймає один раз: повторне надсилання з тим самим номером другої заявки не створює. Якщо відповідь не дійшла, агент перепитує статус за номером, а не надсилає команду заново. Це закриває найчастіший клас помилок — подвійні позиції після таймауту.
Що робити з лімітами біржі на частоту звернень?
Ліміти рахуються за вагою запитів, а не за їхньою кількістю: різні методи коштують по-різному. Агент веде власний лічильник і чергу, де пріоритет у закриття позицій і зняття заявок, а другорядні запити сповільнюються. Біля порога вмикається планове гальмування — тимчасова заборона на запити коштує дорожче за паузу.
Як зрозуміти, що стратегія деградувала на зміні ринку?
Агент стежить не лише за підсумком угод, а й за відхиленням факту від очікувань: прослизання, частка скасувань, частота спрацювання сигналів. Коли метрики виходять за коридор, вмикається знижений режим — зменшений обсяг або повна зупинка з повідомленням. Зміна характеру ринку призводить до паузи, а не до серії збиткових входів.
Обговоримо задачу: з чого почнемо роботу
Щоб старт робіт не перетворився на листування на тиждень, достатньо одного повідомлення з п'яти пунктів. Ми не просимо готове ТЗ: для оцінки достатньо опису того, як ви торгуєте зараз і що має робити агент.
Нижче — мінімальний набір вхідних даних для агента, після якого ми повертаємося з оцінкою, архітектурою та планом робіт.
- Стратегія у вільній формі: які сигнали використовує агент (рівні, обсяги, новинний фон, метрики з мережі), на якому таймфреймі працює й за якою умовою входить у позицію та виходить із неї.
- Правила ризику: максимальна частка депозиту на угоду, ліміт одночасних позицій, денний стоп за просадкою і що агент робить при спрацюванні — закриває все чи заморожує входи.
- Тестовий доступ до біржі: ключі лише з правом торгівлі, без виведення коштів, і краще до тестового контуру — так проганяємо логіку без ризику для реального балансу.
- Інструменти й ринки: список пар або активів, спотовий чи строковий сегмент, обмеження за мінімальним обсягом ордера та ліквідністю.
- Побажання щодо управління: чи потрібен ручний стоп, повідомлення в месенджер, журнал угод і вивантаження історії для розбору.
Далі обговорюємо задачу: уточнюємо спірні місця, фіксуємо, як агент поводиться під час обриву зв'язку з біржею, і закладаємо прогонку на історії. Після цього надсилаємо оцінку, склад етапів і план робіт — старт робіт іде від узгодженого плану.







