Чому AI-модель технічних індикаторів ламається на зміні режиму
RSI нормує рух на вибране вікно, і на тренді це грає проти розмітки: індикатор тижнями висить у зоні перекупленості, а кожен дотик до межі модель читає як розворот. Частина таких сигналів спрацьовує на відкаті, частина — ні, і відрізнити їх за одним значенням неможливо.
MACD влаштований ще чесніше у своїй слабкості: він обчислюється як різниця ковзних середніх, тому запізнення сигналу закладено в саму формулу. Перетин фіксується, коли рух уже минув, а гістограма розвертається пізніше за точку входу.
Bollinger Bands додають третій вимір — ширину каналу. Пробій смуги при стиснутому каналі та пробій при розширеному — статистично різні події, хоча для моделі це та сама ознака.
Хибні сигнали індикаторів тут не шум, а наслідок того, що індикатори описують ціну, а не причину її руху.
Основна поломка відбувається на навчанні. Підгонка під історію — це коли AI-модель технічних індикаторів знаходить поєднання значень RSI, MACD і Bollinger Bands, що збігалися зі зростанням у минулому вікні, але не мають повторюваної причини.
На історичних даних точність виглядає високою саме тому, що ці самі дані брали участь у налаштуванні, а не перевіряли її.
Аналіз RSI, MACD і Bollinger Bands втрачає силу в момент зміни характеру ряду: змінюється волатильність, співвідношення тренду й боковику, зв’язки між інструментами. Ознаки, відібрані на спокійній ділянці, перестають передбачати — і це не деградація ваг, а зсув самих даних.
Розбираємо, як це закривається стійкими до режиму ознаками та перевіркою на даних, яких модель не бачила.
Точність сигналів, затримка відгуку та стійкість до зміни режиму
Точність сигналів — не одне число, а три незалежні виміри: частка хибних спрацювань, затримка відгуку та поведінка на зміні режиму. Модель може вигравати на середньому за історією відрізку й втрачати все на боковику, де RSI розвертається часто, а MACD дає хибні перетини.
Тому приймаємо роботу за фіксованим списком перевірок, де кожен пункт рахується окремо на відкладеному відрізку.
- Частка хибних спрацювань. Рахуємо не загальну точність, а частку входів, закритих за захисною умовою раніше за цільовий рівень — за кожним режимом окремо, а не в середньому за вибіркою.
- Затримка відгуку. Від закриття бару з підтвердженим сигналом до розрахунку цільової позиції тримаємо частки бару, інакше вхід проходить за ціною гіршою за ту, на якій пораховано ознаку.
- Боковик. Окремий прогін на ділянках без спрямованого руху: смуги Боллінджера стискаються, і модель не повинна відкривати вхід на кожному дотику до межі.
- Трендова ділянка. Перевіряємо утримання позиції крізь відкати — сигнал не повинен перевертатися від першого повернення ціни до середньої.
- Якість ознак. RSI, MACD і смуги рахуємо за однією методикою та одним періодом згладжування (TA-Lib як еталон) — розходження дає систематичний зсув сигналу.
- Стійкість до зміни режиму. Момент перемикання фіксуємо за волатильністю, а не ручним правилом, і дивимося частку помилок у перші години після зміни.
- Відтворюваність. Повторний прогін того самого відрізка дає ті самі сигнали — без цього метрики точності нічого не означають.
Варіанти побудови: від порогових правил до гібридних схем
Технічні індикатори дають формалізований сигнал, тому спосіб його розбору визначає стійкість усієї системи.
Жорсткі пороги читаються людиною й не потребують накопичених даних, але на зміні режиму ринку дають серію хибних спрацювань — RSI тримається в зоні перекупленості довше, ніж закладено в правилі, а смуги Bollinger Bands розширюються саме тоді, коли попередній поріг перестає щось означати.
| Варіант | Коли підходить | Обмеження |
|---|---|---|
| Правила на індикаторах | Потрібна повна пояснюваність рішення, історії мало, сигнал перевіряється вручну | Ламається при зміні волатильності, пороги доводиться перебирати заново |
| Модель на табличних ознаках | Індикатори вже зведено в один зріз на момент рішення, важливі їхні нелінійні поєднання | Втрачає порядок подій: вхід у зону та вихід із неї виглядають однаково |
| Модель на послідовності | Важливий сам шлях індикатора — серії, дивергенції, накопичення сигналу | Потрібна довга історія й акуратна розмітка, підтримка дорожча |
| Гібридна схема | Режим ринку змінюється, потрібні і пояснюваність, і гнучкість | Потребує контуру регулярного донавчання та контролю зсуву розподілу |
Вибір іде не за «складністю моделі», а за обсягом історії, ціною помилки та вимогою до пояснюваності. На практиці частіше працює гібридна схема: правила задають каркас і відсікають явно неприпустимі стани, модель уточнює вагу ознак усередині дозволеної області.
Далі її якість тримає регламент: раз на звітний період регулярне донавчання на свіжому вікні даних, перевірка на відкладеній ділянці, порівняння з поточною робочою моделлю та відкат, якщо метрики впали. Без цього контуру будь-яка схема деградує мовчки.
Етапи впровадження: від аудиту котирувань до експлуатації
Роботу ведемо послідовно: спочатку перевіряємо придатність даних, потім будуємо ознаки, і лише потім навчаємо модель. Кожен етап закривається перевірюваним артефактом — звітом, набором ознак, метриками. Пропущений крок на аудиті даних дорожче за все обходиться в експлуатації.
-
Аудит історичних даних. Зводимо котирування з різних джерел до єдиного кроку за часом, розмічаємо пропуски та розриви торгових сесій. Перевіряємо ряд на заглядання вперед: значення поточного бару не повинно потрапляти в розрахунок до моменту прийняття рішення.
-
Проєктування ознак. RSI, MACD і Bollinger Bands рахуємо на ковзних вікнах із лагами, додаємо похідні — розходження ціни з індикатором, ширину смуг, зміну знака гістограми. Для кожної ознаки фіксуємо формулу, вікно та джерело.
-
Навчання та підбір параметрів. Ряд розбиваємо за часом, а не випадково, інакше модель запам’ятовує сусідні бари й показує завищену якість. Параметри підбираємо на ділянці, яка не перетинається з перевірною.
-
Валідація на відкладеному періоді. Проганяємо модель на даних, яких вона не бачила, і окремо дивимося поведінку в різних режимах ринку — тренд, боковик, висока волатильність. Якщо якість тримається лише в одному режимі, ознаки переробляємо.
-
Налаштування контуру розрахунку. Збираємо регулярний перерахунок ознак і сигналів, звіряємо результат контуру з навчальним на одних і тих самих даних: розходження означає помилку в обробці.
-
Передача в експлуатацію. Віддаємо конфігурації контуру, регламент перенавчання, панель з метриками якості та оповіщення про дрейф даних. Команда замовника запускає розрахунок самостійно.
Що залишається у вас: код, ознаки, регламенти, документація
Модель — приблизно половина результату, друга половина — те, що дозволяє рахувати її відтворювано та перенавчати без нас. Тому передаємо не лише AI-модель технічних індикаторів, а весь контур: код, ознаки, розрахункову схему та правила експлуатації, а не один файл із вагами.
- Вихідний код навчання й розрахунку з фіксованими версіями залежностей — середовище піднімається з нуля на чистій машині.
- Конфігурація ознак: вікна RSI, періоди MACD, відхилення смуг Боллінджера, правила обробки пропусків і переходу між інтервалами барів — у декларативних файлах, а не зашиті в код.
- Схема розрахункового контуру: де рахуються індикатори, де застосовується модель, як оновлюються дані, де стоять перевірки та повтори при збоях.
- Регламент перенавчання: умови запуску — деградація контрольних метрик або зміна режиму ринку, вікно навчання, порядок валідації та відкат до попередньої версії.
- Контрольні метрики на відкладеній вибірці з фіксованими розрізами: версії порівнюються між собою на одних і тих самих даних.
- Технічна документація: опис ознак, форматів вхідних даних, інтерфейсів і меж застосовності моделі.
- Приймальні тести на еталонних даних — за ними розрахунок відтворюється на вашій стороні та звіряється з нашим результатом.
Як скоротили частку хибних сигналів на боковику: розбір проєкту
Замовник — команда алгоритмічної торгівлі AlgoDesk: сигнали генерувалися автоматично за RSI, MACD і Bollinger Bands, але контур не розрізняв тренд і діапазон.
На тренді входи спрацьовували, а на боковику більшість угод закривалося за стопом у перші хвилини — ціна поверталася до середини каналу, хоча індикатори показували узгоджений сигнал. Трейдери знімали такі входи вручну, тобто автоматизація навантаження не знімала.
Перенавчати модель на «вдалих» угодах не стали — це підгонка під історію. Додали окремий шар оцінки режиму: за стисненням смуг волатильності, нахилом середньої та розходженням підтверджувальних індикаторів ділянка позначається як трендова або бокова.
У діапазоні поріг спрацювання вищий і вхід потребує підтвердження зі старшого інтервалу; на тренді чутливість колишня, щоб не втрачати початок руху.
Метрики до та після
- Частка сигналів, закритих за стопом одразу після входу на боковику: 61% → 23%.
- Середня кількість входів на годину всередині діапазону: 14 → 5.
- Прибутковість на трендових ділянках: у попередньому коридорі, затримка входу — одна свічка.
- Просадка в діапазонні тижні: менша приблизно втричі.
- Ручних зняттів сигналу трейдером: з десятків за зміну до поодиноких.
Відсів шуму не занизив чутливість: стабільність на тренді збереглася, а хибні сигнали на боковику перестали бути потоком. Керованість повернулася до контуру — несприятливий режим модель позначає сама, трейдер втручається лише у винятках.
Чим відрізняється розбір індикаторів від прогнозу за сирими котируваннями?
Сирі котирування — зашумлений ряд: мікроструктурний шум, розриви на новинах, зміна волатильності.
Модель на такому вході вчиться відрізняти закономірність від випадкового сплеску, і їй потрібна довга історія та перевірка на відкладеному періоді — інакше вона запам’ятовує минуле замість поточного режиму.
Індикатори — стиснене подання того самого ряду: RSI, MACD і Bollinger Bands уже згладжені й нормовані, тому вхід виходить компактнішим і стійкішим до одиничних викидів.
Розбір індикаторів виграє там, де важлива пояснюваність результату. Перетин MACD, вихід RSI із зони перекупленості, дотик до межі каналу — рішення розкладається на перевірювані умови, які можна прогнати за історією та обговорити з ризик-контролем. Хибних спрацювань на коротких вікнах менше, а обсягу даних для навчання потрібно помітно скромніше.
Прогноз за сирими котируваннями потрібен, коли сигнал живе в структурі самого ряду: зміна режиму волатильності, затяжний тренд, реакція на новинний розрив. Індикатори тут запізнюються — вони побудовані на згладжуванні й фізично не встигають за різкою зміною.
Для таких задач модель навчають на послідовності цін, а індикатори підключають як додаткові ознаки, а не як єдине джерело.
Вибір підходу ми робимо від задачі, а не від звички: горизонт, допустима затримка сигналу, обсяг історії, вимоги до пояснюваності. На практиці частіше працює гібрид — розрахунок за індикаторами як каркас і модель на самому ряді для тонких залежностей.
Пояснюваність при цьому зберігається: видно, які індикатори дали внесок, а які ділянки ряду підсилили сигнал.
Перенавчання, витоки даних і розриви: часті сумніви
Три заперечення спливають майже на кожному старті: як довести, що модель не підігнана під історію, що робити з пропусками в ряду і чи не розвалиться результат при зміні режиму ринку. Короткі відповіді по суті — без них обговорювати архітектуру рано.
Як перевіряєте, що модель не підігнана під історію?
Ряд ділимо за датами, а не випадковою вибіркою: навчання на одному відрізку, перевірка на наступному, потім вікно зсувається — модель проходить через різні стани ринку. Ознаки рахуються лише за закритими барами, інакше індикатор підглядає в майбутнє.
Дивимося не найкращий результат, а розкид між вікнами: тримається у вузькому коридорі — підгонки немає.
Що робити з розривами та пропусками в ряду?
RSI, MACD і смуги Боллінджера рахуються за неперервним вікном, і пропуск усередині ламає значення.
Календар вирівнюємо за торговими інтервалами, а не за календарними днями; короткі пропуски відновлюємо, довгі — ріжемо й позначаємо як розрив, щоб модель не вчилася на склейці різнорідних ділянок.
Як розумієте, що модель працює не в одному режимі ринку?
Метрики рахуємо окремо за трендом і боковиком: середня точність приховує провал в одному з них. У звіті видно, де сигнал упевнений, а де модель віддає обережний результат. Зміна режиму помітна за розподілом ознак заздалегідь, а не за просадкою на рахунку.
Наскільки пояснюваний результат?
За кожним сигналом видно, які індикатори дали внесок і на яких значеннях — аж до ділянки історії, яка перераховується вручну. Це і критерій приймання: інженер замовника відтворює сигнал і отримує те саме число.
Обговоримо задачу та повернемося з оцінкою й планом робіт
Достатньо принести те, що вже є: вивантаження історичних котирувань за потрібним інструментом, правила розрахунку сигналів у поточному вигляді та опис того, як результат використовується зараз.
Цього достатньо, щоб оцінити склад даних, етапність і обсяг робіт — окрема специфікація на вході не потрібна.
- Склад даних: джерела та глибина історії, періодичність, відомі пропуски й викиди, які індикатори рахуємо (RSI, MACD, Bollinger Bands) і з якими вікнами усереднення.
- Вимоги до контуру: де рахується модель — закритий внутрішній контур чи зовнішні сервіси, хто має доступ до даних і результатів, чи потрібно розділяти навчання та виведення.
- Цільова поведінка: що вважаємо правильним сигналом, який горизонт прогнозу, що дорожче — хибне спрацювання чи пропуск руху.
- Режим роботи: разовий розрахунок, регулярний перерахунок за розкладом або неперервний потік, із якою затримкою від появи свічки потрібен результат.
- Управління ризиком деградації: як модель вимикається, що вважаємо погіршенням якості та за яким набором метрик це видно.
- Точки приймання: на якому історичному відрізку перевіряємо, хто з боку замовника підтверджує результат і як оформлюємо розходження.
- Доступи та ролі: хто відповідає за вивантаження, хто — за приймання, чи потрібні тестові дані з обмеженим доступом.
Після обговорення повернемося з оцінкою термінів, планом робіт за етапами та вимогами до даних і контуру — у письмовому вигляді, щоб їх можна було погодити всередині команди.







