GaiaEx AcademyGaiaEx Academy
Вступ до машинного навчання для фінансових ринків
РозробникШІ та МН11 min read

Вступ до машинного навчання для фінансових ринків

Навчання з учителем, без учителя та з підкріпленням для торгівлі

Поділитися

Бектест, що заробив $0 у реальному світі

У 2018 році команда квантів показала своєму фонду модель, яка в бектесті перетворила $100 000 на $4,2 мільйона. Крива капіталу була майже ідеальною лінією у 45 градусів. Коефіцієнт Шарпа становив 4,0 — краще за майже будь-який хедж-фонд в історії. Вони запустили її з реальними грошима.

Вона втратила гроші вже за перший тиждень, потому кровила три місяці, доки її не закрили. Модель, що «заробила» $4,2 мільйона на папері, не заробила нічого в реальності. Нічого не було сфальсифіковано — ні шахрайства, ні помилки. Модель просто запам’ятала минуле, замість того щоб вивчити щось про майбутнє.

Ця історія повторюється так часто, що має власну назву: перенавчання на бектесті (backtest overfitting), і це головна причина провалу фондів на машинному навчанні. Маркос Лопес де Прадо — керуючий мільярдами в ML-стратегіях — сказав це прямо: маючи достатньо спроб, будь-хто може створити чудовий бектест на чистому шумі. Ринку байдуже, наскільки елегантна ваша нейронна мережа.

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

Що таке машинне навчання — і чому ринки є найважчим випадком

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

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

Але ринки — найгостивіше середовище в усьому прикладному ML, і варто бути чесним щодо причин. Більшість проривів ML — розпізнавання зображень, мовні моделі — працюють тому, що базові правила не рухаються. Кіт виглядає як кіт, чи фото зроблено в 2010, чи в 2026 році. Ринки — протилежність:

  • Дані не стаціонарні. Статистичні «правила» ринку постійно змінюються разом зі зміною режимів. Модель, натренована на спокійному бичачому ринку, може бути активно небезпечною під час краху.
  • Співвідношення сигнал/шум жорстке. У розпізнаванні зображень майже кожен піксель несе інформацію. У доходностях переважна більшість руху ціни — шум. Ви шукаєте слабкий сигнал у ревучому морі випадковості.
  • Ви змагаєтесь із адаптивними противниками. Кіт не змінює свій вигляд, щоб обманути ваш класифікатор. У момент, коли справжня ринкова перевага стає популярною, інші трейдери арбітражують її геть. Успіх вашої моделі тихо підточує саму цю перевагу.
Ключова думка: ML у фінансах — це не про побудову найвигадливішої моделі. Це про побудову чесного процесу валідації, здатного відрізнити справжню, стійку перевагу від гарного випадкового збігу. Модель — легка частина. Не обманути самого себе — важка частина, і саме тут більшість людей втрачає свої гроші.

Хороша новина: перепоною більше не є доступ до даних чи обчислювальних потужностей. Платформи, як GaiaEx, надають API-доступ до реальних та історичних даних ринку на Hyperliquid L1, тож будь-який розробник може зібрати набори даних, необхідні для ML. Залишена перепона — знання, і саме їх дає цей урок.

Три парадигми: навчання з учителем, без учителя і з підкріпленням

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

Навчання з учителем (supervised learning) — робочий кінь. Ви даєте моделі мічені приклади: історичні вектори характеристик (входи), пов’язані з відомими результатами (цілі), і вона вивчає відображення одного на інше. У фінансовому застосуванні домінують два підтипи:

  • Класифікація — прогноз категорії. Актив зросте чи впаде впродовж наступної години? Ця транзакція шахрайська? Вихід — дискретна метка, зазвичай із доданою ймовірністю.
  • Регресія — прогноз безперервного значення. Якою буде дохідність за 1 годину? Яка справедлива ставка фінансування? Вихід — число, і модель мінімізує помилку прогнозу.

Навчання без учителя (unsupervised learning) знаходить структуру в даних без меток. Алгоритми кластеризації, як K-Means, можуть групувати торгові дні в ринкові режими — трендовий, з поверненням до середнього, високоволатильний — без того, щоб ви заздалегідь визначали ці режими. Зменшення розмірності, як PCA, стискає сотні кореляційних характеристик у кілька незалежних факторів, що важливо, коли ваш набір характеристик ширший за глибину вашого зразка.

Навчання з підкріпленням (reinforcement learning, RL) навчає агента приймати послідовність рішень, максимізуючи кумулятивну винагороду. Агент взаємодіє з середовищем (ринком), робить дії (купити, продати, тримати) і отримує зворотній зв’язок (прибуток або збиток). RL приваблює для розподілу портфеля та виконання ордерів, де найкраща дія залежить від вашої поточної позиції, транзакційних витрат і впливу на ринок. Ігрові агенти DeepMind надихнули хвилю досліджень RL у фінансах — але практичні результати залишаються неоднозначними, саме тому що ринки нестаціонарні, а «гра» постійно змінює свої правила посеред неї.

З чого варто почати? Із навчання з учителем, без сумніву. Воно має найзріліший інструментарій, найбільш інтерпретовані результати та найчестнішу методологію валідації. Спочатку опануйте класифікацію й регресію — потім досліджуйте кластеризацію без учителя для виявлення режимів і RL для виконання. Перескакувати прямо до RL — це квантовий еквівалент спроби бігати, не навчившись стояти.
Навчання з учителем (табличні фінансові дані) Характеристики X OHLCV, індикатори Модель f RF, GBM, NN… ŷ клас / дохідність vs y метка Втрати L(ŷ, y) — мінімізуйте на train; перевіряйте лише на майбутніх даних Ніколи не перемішуйте час — walk-forward чи очищена (purged) CV
Навчання з учителем поєднує характеристики з метками; задача — узагальнювати, а не запам’ятовувати бари.

Інженерія характеристик: перетворення сирих даних у прогностичні сигнали

У машинному навчанні характеристики (features) — це вхідні змінні, які модель використовує для прогнозів. Сирі дані OHLCV — лише відправна точка, але подавати сирі ціни в модель — це як віддати шеф-повару сире зерно замість муки — спершу треба обробити. Інженерія характеристик — це місце, де фахова експертиза зустрічається з наукою про дані, і вона набагато частіше є різницею між робочою моделлю і марною, ніж вибір алгоритму.

Поширені категорії характеристик для фінансового ML включають:

  • Технічні індикатори — RSI, MACD, ширина смуг Боллінджера, ATR, ADX. Вони кодують імпульс, волатильність і силу тренду як стандартизовані, інваріантні до масштабу входи.
  • Лагові характеристики — минулі доходності на кількох горизонтах (1 бар, 5 барів, 20 барів, 60 барів), захоплюючи імпульс і повернення до середнього на різних масштабах часу.
  • Показники волатильності — ковзне стандартне відхилення, волатильність Паркінсона (за максимумом/мінімумом), оцінювач Гармана-Кляса. Кластеризація волатильності — один із найнадійніших стилізованих фактів в усіх фінансах.
  • Характеристики обсягу — співвідношення обсягу (поточний проти середнього), кумулятивний обсяг (on-balance volume), кореляція обсягу й ціни. Незвичний обсяг часто передує руху ціни.
  • Міжактивні характеристики — доходність BTC як вхідна характеристика при прогнозуванні ETH. Зсуви кореляцій між активами часто сигналізують про зміни режиму раніше за саму ціну.

Ось практичний приклад інженерії характеристик у Python:

import pandas as pd
import numpy as np

def engineer_features(df: pd.DataFrame) -> pd.DataFrame:
    df["return_1h"] = df["close"].pct_change(1)
    df["return_4h"] = df["close"].pct_change(4)
    df["return_24h"] = df["close"].pct_change(24)
    df["volatility_24h"] = df["return_1h"].rolling(24).std()
    df["rsi_14"] = compute_rsi(df["close"], 14)
    df["volume_ratio"] = df["volume"] / df["volume"].rolling(24).mean()
    df["atr_14"] = compute_atr(df, 14)
    return df.dropna()

Два правила без винятків. По-перше, ніколи не використовуйте майбутні дані — кожну характеристику потрібно обчислювати з інформації, доступної в момент прогнозу. Найпоширеніший спосіб «відкрити» прибуткову стратегію — випадково дозволити завтрашньому числу протекти в сьогоднішні характеристики. По-друге, нормалізуйте свої входи; більшість ML-моделей захлинаються, коли характеристики охоплюють дуже різні масштаби (ціна 60 000 поряд із RSI на рівні 30).

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

Найважливіший розділ: валідація на часових рядах

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

У звичайному машинному навчанні ви випадково перемішуєте дані та розділяєте їх на набори для тренування та тестування. Зробіть так із даними цін часового ряду, і ви щойно дозволили моделі натренуватись на майбутньому, щоб прогнозувати минуле. Ваша точність виглядатиме приголомшливо. Ваша реальна торгівля стане різаниною. Ця одна помилка — відома як упередженість наперед (look-ahead bias) — відповідальна за більше зруйнованих квантових стратегій, ніж будь-який ринковий крах. Правильний підхід завжди поважає стрілку часу:

Хронологічний розподіл train/validation/test. Розділіть дані за датою: тренування на 2020–2022, валідація на 2023, тест на 2024. До тестового набору звертаються рівно один раз — це ваша симуляція живої торгівлі. У момент, коли ви налаштовуєте гіперпараметри проти нього, він перестає бути тестовим набором, і ви втрачаєте будь-яку чесну оцінку продуктивності поза зразком.

Walk-forward валідація (розширювальне чи ковзне вікно) надійніша. Тренуйтесь на місяцях 1–12, прогнозуйте місяць 13. Потім тренуйтесь на місяцях 1–13 (або 2–13), прогнозуйте місяць 14. Повторюйте. Це генерує багато прогнозів поза зразком, кожен на даних, яких модель ще ніколи не бачила, водночас адаптуючись до умов, що змінюються — це відображає, як стратегія реально буде розгорнута й перетренована.

Очищена крос-валідація (purged cross-validation) (введена Маркосом Лопесом де Прадо) додає розрив між тренувальними й тестовими блоками, щоб зупинити витік інформації через перетинні метки. Якщо ваша ціль — форвардна доходність за 24 години, спостереження поблизу межі блоку поділяють інформацію; розрив очищення усуває це забруднення. Додатковий період «ембарго» після тестового блоку захищає від зворотного просочення серійної кореляції в тренувальні дані.

Нарешті, оцінюйте модель за метриками, важливими для грошей, а не для підручників. Сама точність оманлива. Модель, точна на 51%, але права у великих рухах, може бути шалено прибутковою; модель, точна на 70%, що влучає лише в дрібні рухи, може втрачати гроші після комісій. Стежте за точністю (precision) ваших напрямкових прогнозів, коефіцієнтом Шарпа результуючої стратегії та максимальною просадкою — і завжди за вирахуванням реалістичних транзакційних витрат і сліпеджу.

Walk-forward: час завжди тече зліва → праворуч Train t₁ Val OOS резерв один раз Train t₁+t₂ Val OOS Train розширюється чи ковзає Val розрив очищення при перетині меток
Розширювальні чи ковзні вікна відтворюють розгортання: модель ніколи не тренується на майбутньому.

Random Forests, Gradient Boosting та вибір правильної моделі

Для табличних фінансових даних — тих, що ви отримуєте зі свічок OHLCV, технічних індикаторів та інженерованих характеристик — ансамблеві моделі на деревах постійно перевершують глибокі нейронні мережі. Це не думка — це добре встановлений емпіричний результат (див. Grinsztajn та ін., 2022, «Чому моделі на деревах все ще перевершують глибоке навчання на табличних даних?»). Для зображень і мови глибоке навчання панує. Для таблиці характеристик перемагають дерева.

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

Gradient Boosting (XGBoost, LightGBM, CatBoost) будує дерева послідовно, кожне коригуючи помилки ансамблю, накопичені досі. Це зазвичай перевершує Random Forests за точністю, але вимагає більш обережного налаштування. LightGBM — стандартний вибір для більшості практиків фінансового ML: швидке тренування, вбудована обробка пропущених значень і комфортне масштабування до мільйонів рядків.

import lightgbm as lgb
from sklearn.model_selection import TimeSeriesSplit

model = lgb.LGBMClassifier(
    n_estimators=500,
    max_depth=6,
    learning_rate=0.05,
    subsample=0.8,
    colsample_bytree=0.8,
    min_child_samples=50,
)

tscv = TimeSeriesSplit(n_splits=5)
for train_idx, val_idx in tscv.split(X):
    model.fit(X.iloc[train_idx], y.iloc[train_idx],
              eval_set=[(X.iloc[val_idx], y.iloc[val_idx])])

Глибоке навчання все ще має своє місце — але вузьке. LSTM і трансформери можуть по-справжньому додати цінність на сирих послідовних даних: потоку ордерів тик за тиком, або поєднанні ціни з текстом новин та настроями соціальних медіа, де порядок і контекст несуть інформацію, яку плоскі таблиці відкидають. Просто не тягніться до них за замовчуванням. Для структурованих даних із інженерованими характеристиками добре налаштований LightGBM, натренований на даних, взятих із API GaiaEx, майже завжди переможе нейронну мережу — і тренується за секунди, а не години.

Де ML насправді заробляє собі на хліб у крипто

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

  • Виявлення ринкового режиму. Кластеризація без учителя сортує ринкові умови на режими — спокійний трендовий, шумний з поверненням до середнього, високоволатильна паніка. Знання якого ви режиму дозволяє перемикати стратегії чи зменшувати розмір, що часто вартує більше за будь-який окремий напрямковий прогноз.
  • Аналіз настроїв. Великі мовні моделі читають новини, X/Twitter і Discord у масштабі, недосяжному для людини, оцінюючи зсуви ринкового настрою. Дослідження стабільно показують, що поєднання сигналу настроїв із ціновими даними покращує точність прогнозування крипто порівняно з лише ціною — настрій рухає крипто незвично сильно.
  • Виявлення шахрайства й маніпуляцій. Тут ML тихо блищить. Моделі виявляють фіктивну торгівлю, спуфінг і класичні схеми «пампандамп», помічаючи аномальні патерни обсягу та книги ордерів, що передують координованому обвалу. Моделі виявлення аномалій (LSTM, Anomaly Transformers) надійно перевершують тут як класичний ML, так і прості статистичні пороги.
  • Моделювання виконання і сліпеджу. ML прогнозує вплив великого ордера на ринок, допомагаючи алгоритмам виконання розділяти його для мінімізації вартості. На платформі 24/7, як крипто, де незграбний ордер може рухнути книгу проти вас, це прямо захищає ваш підсумковий результат.
  • Управління ризиком і ліквідацією. Моделі оцінюють імовірність того, що позиція порушить порог ризику за поточної волатильності, допомагаючи визначати розмір позицій і встановлювати стопи до каскаду, а не після.
Переосмислення, варте засвоєння: найкращий ML у фінансах часто не прогнозує ціну — він управляє ризиком і виявляє аномалії. Модель, що надійно повідомляє «ринковий режим щойно перемкнувся, зменшіть експозицію» чи «обсяг цього токена схожий на пам у процесі», може захистити більше капіталу, ніж будь-коли заробить прогнозист ціни. Захист масштабується надійніше, ніж атака.

Чому більшість ML-стратегій провалюються — і чому це навчає

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

  • Перенавчання (overfitting). Модель запам’ятовує тренувальні дані, замість того щоб вивчити щось узагальнюване. Ліки — дисципліна, а не хитрість: простіші моделі, менше характеристик, регуляризація та безжальне тестування поза зразком. Якщо ваш бектест виглядає занадто добре, щоб бути правдою — так і є.
  • Упередженість наперед (look-ahead bias). Використання інформації, недоступної в момент прийняття рішення — обчислення характеристик на повному наборі даних перед розділенням, використання цін, що були переглянуті постфактум, або (частіше, ніж хтось визнає) залишення цільової змінної в наборі характеристик.
  • Упередженість вибірки виживання (survivorship bias). Тренування лише на активах, що досі існують сьогодні. Делістинговані токени, «розтягнуті» проєкти та мертві монети тихо відсутні у вашому наборі даних, що зсуває кожен результат вгору. У крипто це серйозно — тисячі токенів впали до нуля.
  • Нестаціонарність. Ринкові розподіли зсуваються. Модель, натренована на бичачому ринку 2021 року, провалюється на ведмежому ринку 2022 року, оскільки вивчені правила більше не діють. Треба регулярно перетренувати й моніторити зсув розподілу, а не «встановити й забути».
  • Пастка множинного тестування. Спробуйте 1000 варіацій стратегії, і кілька виглядатимуть блискуче суто через удачу. Саме так з’являється той бектест «на $4,2 мільйона». Інструменти, як дефлятований коефіцієнт Шарпа, існують спеціально, щоб знецінити продуктивність, знайдену лише через достатньо ретельний пошук.
  • Розрив між дослідженням і продакшеном. Бектести припускають безфрикційне, миттєве виконання. Живі ринки накладають сліпедж, комісії, латентність і вплив на ринок, що зазвичай знімають 30–70% теоретичної дохідності — і можуть перевернути «прибуткову» стратегію в збиткову.

У цьому переліку прихована глибша думка. Ринки — це ворожа, адаптивна система — кожна справжня перевага приваблює конкурентів, що арбітражують її геть. Модель, що виграє рік, може перестати працювати в місяць, коли стає переповненою, без жодної провини її коду. Саме тому успішні квантові операції не шукають одну ідеальну модель; вони будують конвеєр для постійного пошуку, валідації та виведення переваг із обігу, поки ринок еволюціонує.

Чесний висновок: ML не дасть вам грошовий друкарський станок, і будь-хто, хто продає вам такий, продає перенавчений бектест. Що воно дає — це ретельний, повторюваний процес пошуку малих, справжніх переваг і — так само важливо — відхилення фальшивих, перш ніж вони коштуватимуть вам грошей. Дисципліна — це альфа.

Побудова на GaiaEx: ваш перший проєкт з кінця до кінця

Кожна квантова навичка, про яку ви прочитали, спершу залежить від однієї речі: чистих, надійних даних. Тут GaiaEx вписується у ваш ML-конвеєр. Оскільки угоди виконуються на Hyperliquid L1, кожне виконання, ставка фінансування та зміна книги ордерів записуються он-чейн і доступні через API GaiaEx — даючи вам прозорі, детальні, реальні та історичні дані без прогалин і тихих переглядів, що переслідують багато централізованих потоків даних.

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

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

  • Зберіть дані годинних свічок для BTC/USDC з API GaiaEx — щонайменше 6 місяців.
  • Сконструюйте 10–15 характеристик: лагові доходності, RSI, ATR, співвідношення обсягу, ширина смуг Боллінджера.
  • Позначте кожен бар: 1, якщо наступна 4-годинна доходність позитивна, 0 в іншому випадку.
  • Натренуйте класифікатор LightGBM, використовуючи walk-forward валідацію — ніколи випадкове розділення.
  • Оцініть точність (precision), повноту (recall) та коефіцієнт Шарпа простої стратегії, що йде в лонг, коли модель прогнозує 1, після вирахування реалістичних комісій.

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

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