600 / 691FIT

Overfitting

Перенавчання

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

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

QuantConnect описує Overfitting як надто тісне пристосування до обмеженої навчальної множини, яке вловлює її деталі та шум на шкоду результатам на нових даних. Наше розмежування: проблема полягає не в самому навчанні на історії, а в підміні переносної закономірності властивістю конкретної вибірки. У торгівлі перенавченим може бути й вручну складений набір умов, а не лише складна автоматична модель. Тому красива крива або добра оцінка на даних розроблення ще не є незалежним підтвердженням процедури. [QuantConnect — Optimization Parameters]

Документація scikit-learn показує різницю між надто простою моделлю, яка не здатна вловити зв’язок, і моделлю, чутливою до конкретних навчальних вибірок. Наш висновок: самої кількості параметрів недостатньо, щоб встановити перенавчання. Спрощення або обмеження гнучкості моделі може допомогти, але може також усунути корисний зв’язок. Рішення має спиратися на заздалегідь визначене оцінювання на належних відокремлених даних. Навіть подальший вибір найпростішого варіанта за вже переглянутим тестом не повертає цьому тесту незалежної ролі. [scikit-learn — Validation and Learning Curves]

Bailey та співавтори застерігають щодо хибних відкриттів за повторного випробування стратегій на тих самих даних. Наш методичний висновок: потрібно записувати не лише параметри переможця, а й попередніх кандидатів, зміни правил і критерій відбору. Навіть проста кінцева стратегія може бути результатом масштабного пошуку. Тиск відбору не видно з її останнього запису. Ймовірність перенавчання не можна визначити лише з кількості варіантів; вона залежить також від даних, їхніх залежностей і способу пошуку. [Bailey et al. — The Probability of Backtest Overfitting]

Приклад вкладеної валідації в scikit-learn відокремлює внутрішній вибір параметрів від зовнішнього оцінювання всієї процедури відбору. Використання тих самих результатів і для вибору, і для представлення якості призводить до надто оптимістичної оцінки. Наша вимога — описати цю межу до експерименту та включити до відбору також попередню обробку й вибір показників. Якщо за зовнішнім результатом ми далі змінюємо задум, ця інформація теж увійшла до розроблення. Вкладена структура не є дозволом повторно налаштовувати процедуру за тим самим кінцевим тестом. [scikit-learn — Nested versus Non-nested Cross-validation]

Документація scikit-learn застерігає, що звичайний поділ, який передбачає незалежні спостереження, може спотворити оцінку узагальнення для даних із часовою залежністю. Тому наша перевірка торгового тесту зберігає послідовність інформації та досліджує, чи кожне вхідне значення, використане для рішення, і кожен цільовий результат, використаний для навчання чи відбору правила, уже були доступні у відповідний момент. Наступний період не повинен обирати правило для попереднього моменту. Walk-forward Analysis допомагає описати цю послідовність, але повторні зміни його протоколу за тими самими результатами знову є розробленням, а не новим незалежним доказом. [scikit-learn — Cross-validation: Evaluating Estimator Performance]

scikit-learn вимагає навчати перетворення, наприклад нормалізацію чи відбір ознак, лише на навчальній частині й тільки після цього застосовувати їх до тесту. Наше розмежування: витік недоступної інформації та перенавчання — пов’язані, але не тотожні проблеми. Стратегія може пристосуватися до шуму навіть без доступу до майбутніх рядків; натомість витік може створити оптимістичну оцінку навіть для простої моделі. Тому ми перевіряємо не лише поділ таблиці, а всю процедуру від підготовки даних до кінцевого рішення. [scikit-learn — Common Pitfalls: Data Leakage]

Криві валідації та навчання в scikit-learn порівнюють поведінку на навчальній і валідаційній частинах за зміни налаштувань або обсягу даних. Наша межа тлумачення: гірший подальший результат сам по собі не доводить єдиної причини. На ринку можуть змінитися середовище, якість даних або витрати виконання; на короткий відрізок може вплинути випадковість. Ми досліджуємо стабільність сусідніх налаштувань і відмінності умов, але записуємо кожен новий пошук після перегляду результатів. Діагностику не видаємо за автоматичну статистичну сертифікацію. [scikit-learn — Validation and Learning Curves]

NFA застерігає, що гіпотетичні результати не є справжньою торгівлею й не повністю відображають ліквідність, Slippage або реакцію на реальну втрату. Тому наш звіт відокремлює результати розроблення від подальших результатів, наводить усі відомі спроби, витрати й обмеження даних. Можлива наступна перевірка повинна мати записані правила до початку. Нижчий ризик методичної помилки — не те саме, що доведена торгова перевага. Навіть ще не використані дані не можуть гарантувати результату в майбутніх ринкових умовах. [NFA — Use of Promotional Material Containing Hypothetical Performance Results]

ПрикладПРИКЛАД · FIT

Переможець відбору не обов’язково переможе в подальшому тесті

Наш вигаданий приклад має трьох заздалегідь визначених кандидатів A, B і C з однаковим фіксованим розміром. Їхні чисті модельні результати у трьох періодах відбору становлять A [8, 10, 12] USD, B [6, 8, 10] USD і C [4, 6, 8] USD. Суми в порядку A, B, C становлять [30, 24, 18] USD. Заздалегідь визначене правило обирає найвищу суму відбору, а за рівності обрало б першого кандидата в цьому порядку; тому до початку наступних періодів воно обирає A. Лише після цього ми розкриваємо результати трьох послідовних тестових періодів: A [-6, -4, -2] USD, B [1, 2, 3] USD і C [0, 1, 2] USD. Їхні тестові суми становлять [-12, 6, 3] USD. Отже, обраний A отримує в тесті -12 USD. З початковими тестовими коштами 1000 USD він завершує на 988 USD. Прибуток відбору 30 USD до цих коштів не додається. Розмір фіксований, наведені суми вже містять усі модельні витрати, а наприкінці кожного періоду відкритої позиції немає; ми не припускаємо боргу чи зовнішніх грошових потоків. Схема порівнює суму відбору та подальшу суму для кожного кандидата. Видима заднім числом перемога B не дозволяє переписати початковий вибір A. Приклад показує, що порядок кандидатів за результатами відбору не переноситься на тест, але сам по собі не доводить перенавчання як єдиної причини та не оцінює його ймовірності. Це не справжні ринкові результати й не інструкція щодо вибору конкретної стратегії.

Для повної картини прочитайте також Backtesting, Walk-forward Analysis, Look-ahead Bias, Paper Trading, Trading Journal. На цю статтю також посилаються Technical analysis, Technical indicator, Moving average crossover, Relative Strength Index.

01Чи може навіть проста стратегія бути перенавченою?

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

02Чи кожен поганий подальший результат доводить перенавчання?

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

DOC · 001QuantConnect — Optimization ParametersДокументація ↗DOC · 002scikit-learn — Validation and Learning CurvesДокументація ↗DOC · 003Bailey et al. — The Probability of Backtest OverfittingПервинне джерело ↗DOC · 004scikit-learn — Nested versus Non-nested Cross-validationДокументація ↗DOC · 005scikit-learn — Cross-validation: Evaluating Estimator PerformanceДокументація ↗DOC · 006scikit-learn — Common Pitfalls: Data LeakageДокументація ↗DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance ResultsДокументація ↗
Спочатку джерела · Не інвестиційна порада