Розробка AI-моделі на Transformer для фінансових даних

Класичні моделі прогнозу не вловлюють довгі залежності у фінансових рядах і втрачають точність на розворотах ринку. Ми розробляємо фінансовий Transformer під ключ: навчаємо, налаштовуємо і передаємо модель разом із регламентами контролю якості. Прогноз стає стійкішим, а команда отримує результат, який можна перевірити й повторити.
Часті запитання

Де ламається стандартний прогноз: коли потрібен фінансовий Transformer

Класичний збій виглядає так: модель показує рівну якість прогнозу на спокійній ділянці ринку — низька помилка, стійкий сигнал, — а через кілька днів після зміни режиму її передбачення розходяться з фактом у рази.

Помилка зростає не плавно, а ступенем: зміна волатильності, ліквідності або поява нового типу вхідних даних ламає звичні залежності, а модель продовжує працювати за логікою минулого режиму.

Причина — у природі даних. Фінансові ряди нестаціонарні: змінюється не лише розкид значень, а й самі зв’язки між ознаками, і дрейф ознак іде швидше, ніж цикл перерахунку.

Поки команда готує новий набір і перенавчає модель, значущість частини входів уже змістилася — а перевірка на історичному зрізі цього не показує, бо відбувалася на тому самому режимі, на якому навчали.

Лінійні моделі та бустинги на лагах програють тут першими: вони фіксують локальні залежності й погано переносять їх на зміну режиму.

Фінансовий Transformer тримає довгий контекст і зважує різнорідні сигнали — угоди, котирування, текстові потоки — через увагу, а не через жорсткий набір лагів.

Але архітектура сама по собі дрейф не лікує: якість прогнозу тримається на контурі, який помічає зміну режиму й перебудовує навчання під неї.

Розбираємо, як це закривається: режимозалежна валідація, контроль дрейфу ознак і перенавчання за подією, а не за календарем.

Що дає фінансовий Transformer у задачах прогнозу

Класичні моделі на ковзному вікні бачать лише останні точки ряду — подія з розтягнутою реакцією для них невидима. Механізм уваги в архітектурі Transformer зіставляє всю доступну історію одразу й зважує, які минулі інтервали справді пояснюють поточний рух. Довгі залежності в часі стають ознакою, а не шумом.

Стійкість до зміни режиму тримається на донавчанні, а не на перезбиранні набору ознак.

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

Швидкість перенавчання — прямий наслідок: нові дані додаються невеликими кроками, тому перерахунок під змінений ринок займає години, а не місяці, і не потребує заново розмічати історію.

Мультимодальні дані збираються в один контур: числові ряди, тексти розкриттів і календар подій потрапляють у спільний простір ознак. Сигнал, який не підтверджується другим джерелом, гаситься — частка хибних сигналів скорочується, а не зростає разом із числом входів.

Перевіряємо це на чесному розділенні за часом: навчання на минулому, оцінювання на майбутньому, без витоку даних. Дивимося частку хибних спрацювань на відкладеному відрізку, розкид метрики при зсуві вікна навчання й час до відновлення якості після зміни режиму.

Режими навчання та виведення: порівняння підходів

Вибір режиму впирається не в якість на демонстраційній вибірці, а в обсяг і розмітку даних, вимоги до затримки відповіді та пояснюваності рішення.

Фінансові ряди короткі, нестаціонарні, з рідкісними дорогими подіями — тому донавчання попередньо навченої моделі й ансамбль із деревами дають різний профіль помилок, і «найкращого» варіанта без контексту не існує.

Нижче чотири варіанти, між якими реально обирають на старті. Обмеження вказані ті, що проявляються на живих даних: перенавчання на короткому вікні, втрата пояснюваності, зростання часу виведення разом із числом моделей в ансамблі.

Варіант Коли підходить Обмеження
Навчання з нуля Довга історія, стійкі закономірності, є ресурс на розмітку Потрібні великий обсяг даних і час; на коротких вибірках нестабільно, рідкісні події провалюються
Донавчання попередньо навченої моделі Є базова модель на близьких за природою даних, потрібен швидкий вихід на робочу якість Чутливе до зсуву розподілу; потрібен контроль перенавчання на малій вибірці й відкат до базової версії
Ансамбль із деревами рішень Змішані й табличні ознаки, важлива пояснюваність внеску ознак Слабший на послідовностях і тексті; довше виведення, більше моделей у супроводі
Класичні статистичні моделі Потрібен прозорий базовий рівень і швидкий перерахунок на коротких рядах Не вловлюють нелінійні зв’язки, швидко впираються в стелю якості

Режим обирають за метрикою на відкладеному періоді, а не за якістю на навчанні, і заздалегідь фіксують правило відкату.

Донавчання й ансамбль не виключають одне одного: дерева беруть табличні ознаки, фінансовий Transformer — послідовність, а порівняння підходів іде на одному наборі перевірок.

Етапи впровадження: від аудиту даних до передачі моделі

На фінансових рядах ціна помилки в порядку етапів вища, ніж у більшості задач машинного навчання: модель, навчена на перемішаних даних, показує гарну метрику на валідації й розвалюється на живому потоці.

Тому фінансовий Transformer збираємо строго за кроками, де кожен наступний спирається на результат попереднього.

  1. Аудит історичних даних. Дивимося глибину історії, пропуски, розриви сесій, корпоративні дії та зміни регламентів. Якщо інструмент торгувався не весь період, це фіксується в розмітці, а не затирається середнім.

  2. Схема ознак. Визначаємо, які поля йдуть на вхід, з якими лагами та вікнами агрегації. Кожну ознаку перевіряємо на доступність у момент прийняття рішення — інакше вона приносить у модель майбутнє.

  3. Налаштування навчання. Розбивка строго хронологічна, без випадкового перемішування. Підбираємо довжину контексту й регуляризацію під реальний дисбаланс подій.

  4. Валідація моделі на відкладеному періоді. Останній відрізок історії тримаємо недоторканим до фіналу й додатково проганяємо ковзне вікно — так видно, чи деградує якість із часом.

  5. Контроль витоків даних. Зсуваємо ознаки, прибираємо підозрілі, порівнюємо метрику до й після. Різкий провал — вірна ознака, що модель спиралася на підказку з майбутнього.

  6. Передача та моніторинг. Віддаємо ваги, конфігурацію, скрипти розрахунку й набір метрик, за якими відстежується дрейф. Далі модель живе за регламентом перенавчання.

Артефакти проєкту: конфігурації, схеми та регламенти

Після здачі проєкту в замовника залишається не лише навчена модель, а й артефакти, за якими її можна відтворити, перевірити й перенавчити без участі авторів. Без них фінансовий Transformer перетворюється на чорну скриньку: прогнози йдуть, а пояснити чи полагодити їх нікому. Склад фіксуємо на старті й передаємо за актом.

  • Конфігурація навчання — параметри архітектури, розмір ембедингів, число шарів і голів уваги, розклад швидкості навчання, відбір ознак, зафіксовані генератори випадкових чисел.
  • Схема підготовки даних — конвеєр від сирих вивантажень до тензорів: правила роботи з пропусками й викидами, асинхронність звітності, нормалізація, нарізка вікон, захист від витоку майбутніх значень.
  • Регламент перенавчання — тригери (дрейф вхідних розподілів, просідання метрик на відкладеному періоді), періодичність, порядок приймання нової версії перед заміною робочої.
  • Опис метрик якості — якість ранжування, точність і повнота за класами, калібрування ймовірностей, порівняння з базовою моделлю на тому самому періоді.
  • Документація моделі — карта ознак, призначення блоків, межі застосовності й відомі обмеження: на яких режимах ринку модель не перевірялася.
  • Реєстр версій та інструкції команді — яка збірка зараз у роботі, чим відрізняється від попередньої, як відкотитися й як підняти середовище з нуля.

Кейс: прогноз ліквідності до та після впровадження

Прогноз ліквідності в цьому кейсі будувався за внутрішньоденними потоками: залишки на рахунках, вхідні та вихідні платежі, сезонність закриття періодів і податкових виплат.

Попередня модель спиралася на коротке вікно історії та ознаки, зібрані аналітиками вручну, тому на зміні режиму ринку й у дні пікових платежів точність помітно просідала.

Що було до впровадження

Частка помилкових сигналів трималася близько 18%: система видавала хибні сплески потреби в ліквідності й водночас пропускала реальні.

Аналітики виправляли вручну в середньому 40 прогнозів на тиждень, а перенавчання на нових даних займало майже два тижні — на момент оновлення сам режим уже змінювався, і помилки поверталися.

Що змінили й що вийшло

Ми перейшли на фінансовий Transformer з увагою за кількома горизонтами, реалізований на PyTorch: модель бачить і хвилинні потоки, і тижневий контекст, а не усереднене вікно.

Донавчання поставили на потік — оновлення на свіжих даних займає години замість тижнів, із перевіркою на відкладених періодах за принципом ковзного вікна.

Окремо закрили ризик перенавчання на нових даних: у перевірку додали аномальні дні — піки виплат і розриви ліквідності — і модель відбирається за стійкістю на них, а не за середньою помилкою.

Як підсумок: частка помилкових сигналів знизилася до 6%, число ручних правок аналітиків — до 7 на тиждень, а хибні сплески, через які раніше тримали надлишковий запас, майже зникли.

Що робити, якщо вже розгорнуто класичний прогнозний контур

Класичний прогнозний контур рідко можна просто вимкнути: на його виході висять регламентні звіти, ліміти й уже погоджені рішення.

Тому нову модель на Transformer ставлять поруч, а не замість — працююча система залишається джерелом істини, поки нова доводить якість на реальних даних, а не на історичних зрізах.

Інтеграція із наявною системою зводиться до однієї точки підключення: адаптер збирає ознаки з тих самих джерел і віддає обом моделям однаковий вхід, а прогнози приводить до спільної схеми з горизонтами й підписами рядів. Контракт для вітрин і сервісів рішень при цьому не змінюється.

Далі вмикається паралельний розрахунок у тіньовому режимі: обидві моделі рахуються на одному зрізі даних, і кожен прогноз зберігається з міткою джерела, часу розрахунку й набору ознак.

Це дає коректне порівняння прогнозів — помилка за кожним горизонтом, поведінка на викидах і розривах ряду, частка сигналів, які нова модель пропустила або знайшла зайвими.

Поступовий перехід іде за сегментами, а не за всім портфелем одразу: спочатку категорії з низькою чутливістю, де помилка не тягне за собою регламентних наслідків.

Зворотний відкат тримається на тому, що класичний контур не демонтовано й продовжує писати свої прогнози — перемикач повертає розрахунок на нього в межах одного циклу, без відновлення даних з архіву.

Саме тому такий перехід перестає бути ризиком для поточних розрахунків: нова модель спочатку доводить стійкість на вашій історії, і лише потім бере на себе частку навантаження.

Опишіть, як влаштований ваш прогнозний контур сьогодні, — повернемося з оцінкою та планом поетапного включення.

Обмеження моделі та контроль якості прогнозу

Архітектура Transformer тримає довгі залежності в ряду, але не знімає головних обмежень моделі. Фінансовий ряд нестаціонарний: зміна режиму волатильності ламає прогноз, який на історії виглядав стійким.

Пропуски — вихідні, зупинки торгів, затримки публікацій — не заповнюємо середнім: модель отримує маску відсутності й відрізняє справжній нуль від пропуску. Викиди гасить стійка функція втрат.

Перенавчання ловимо не випадковим розбиттям, а перевіркою ковзним вікном: навчання лише на минулому, перевірка — на наступному відрізку. Контроль прогнозу ведемо за горизонтами — помилка на день і на місяць розходиться в рази, і одна усереднена метрика це приховує.

Що робити при зміні ринкового режиму?

Модель не універсальна: при зсуві режиму якість падає. Тому в контур входить донавчання на свіжому вікні й ансамбль версій різних періодів — провал однієї версії не проходить у підсумковий прогноз.

Як модель відрізняє пропуск від нуля?

Через маску відсутності та календарні ознаки. Нульова дохідність і відсутність торгів — різні сигнали; якщо змішати, модель вивчить хибний зв’язок.

Як виявляється перенавчання?

За розривом помилки на навчальному й відкладеному відрізку та за числом епох без поліпшення. Рання зупинка й регуляризація — частина базової конфігурації, а не аварійний захід після провалу.

Що з моніторингом після передачі?

Передаємо дашборд: метрики за горизонтами, частка пропусків, дрейф вхідних розподілів, алерти за порогами й регламент донавчання з відкатом на попередню версію моделі.

Обговоримо задачу: повернемося з оцінкою та планом робіт

Щоб оцінка проєкту спиралася на факти, а не на припущення, до старту нам потрібен мінімум за вихідними даними. Нижче — що варто описати або надіслати: цього достатньо, щоб повернутися з планом робіт, а не із загальними словами.

  • Постановка: який сигнал або прогноз потрібен, на якому горизонті, що вважаємо помилкою першого та другого роду.
  • Дані: джерела котирувань, угод, звітності й текстів, глибина історії, частота надходження, пропуски та корпоративні події.
  • Цільова змінна: як формується правильна відповідь, хто і за яким правилом її розмічає.
  • Умови роботи моделі: пакетний режим або потік, допустимий час відгуку, вимоги до відтворюваності й аудиту розрахунків.
  • Інфраструктура та доступи: де лежать дані, які політики розмежування прав, чи допустиме винесення за периметр.
  • Критерії приймання: метрики якості, схема перевірки на відкладених періодах, поріг, за якого рішення йде в роботу.

У відповідь ви отримуєте оцінку проєкту з розбивкою за етапами, план робіт із залежностями й строками, склад команди та перелік ризиків. Окремим блоком — що робимо з якістю даних: де чистимо, чим доповнюємо, де даних об’єктивно не вистачає і це змінює будову моделі.

Наступний крок — опишіть задачу у вільній формі: мета, дані, обмеження. Обговоримо її з інженерами, поставимо уточнювальні запитання й повернемося з оцінкою та планом робіт.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142