600 / 736FIT

Overfitting

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

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

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

Петро тестує правило купівлі bitcoin. Історичний тест дає збиток, тож він змінює період середнього. Потім додає умову, яка оминає невдалі угоди. Крива покращується, але він, можливо, лише обходить уже побачені випадковості. QuantConnect описує так підлаштування під деталі й шум тренувальних даних. Проблема не в навчанні на минулому, а в тому, щоб прийняти його окремі особливості за стійку закономірність. [1]

Петро міг би прибрати всі умови, але втратити й корисний зв’язок. scikit-learn показує обидві крайнощі: надто проста модель не вловлює залежність, надто гнучка може повторювати випадкові деталі вибірки. Сама кількість налаштувань не визначає перенавчання. Простий підхід потребує такої самої чесної оцінки на належно відокремлених даних, як складний. Якщо його обрали після перегляду фінального тесту, цей тест уже вплинув на розробку. [2]

У підсумку Петро має коротке правило. Воно не показує, скільки невдалих версій було раніше. Bailey та співавтори описують, як повторні випробування тих самих даних можуть давати хибні відкриття. Тому зберігаємо кандидатів, зміни та спосіб вибору, а не лише гарний графік переможця. Простий результат може бути наслідком великого пошуку. Проте сама кількість спроб не визначає ймовірність перенавчання: важливі також дані, їхні залежності та процедура відбору. [3]

Петрові потрібні одні дані для розробки, інші — для подальшої оцінки. scikit-learn пояснює це вкладеною валідацією: усередині обирають налаштування, зовні оцінюють увесь процес відбору. Це схоже на підготовку до іспиту та сам іспит. Найкращий тренувальний бал не є незалежною оцінкою. Вибір індикаторів і підготовка входів теж належать до розробки. Щойно фінальний результат спонукає змінити правила, для нового оцінювання потрібні інші придатні дані; цей іспит уже не недоторканий. [4]

Перемішування прикладів може бути доречним для навчання на фотографіях. Для послідовних ринкових спостережень воно може створити нереалістичний тест; scikit-learn наголошує на часовій залежності. Петро може використовувати лише входи, доступні на той момент. Це стосується й результатів для навчання чи вибору правила: незавершена угода ще не має відомого підсумку. Walk-forward Analysis переходить від давніших даних до пізніших. Вона теж не дає нового доказу, якщо її процедуру знову й знову змінюють за тими самими результатами. [5]

Петро може відділити тестові рядки, але перед цим порахувати середнє всієї таблиці для перетворення входів. Тест тоді не є справді окремим. Тому scikit-learn вимагає навчати такі перетворення лише на тренувальній частині, а потім застосовувати до тесту. Потрапляння недоступної тоді інформації називають витоком даних. Це не те саме, що Overfitting: правило може засвоїти шум без майбутніх рядків, а витік спотворити навіть просту модель. Перевіряємо весь процес, не тільки межу в таблиці. [6]

У наступному періоді стратегія Петра збиткова. Перенавчання — можливе пояснення, але не єдине. Могли змінитися ринок, витрати чи якість даних; короткий відрізок сильно залежить від випадковості. scikit-learn пропонує криві валідації та навчання для порівняння за різних налаштувань або обсягів тренувальних даних. Корисно також перевірити, чи близькі налаштування дають близькі результати. Однак кожне нове коригування записуємо як розробку. Така діагностика сама не доводить статистично торгової переваги. [2]

Корисний висновок описує не лише заробіток, а й походження стратегії, зміни та те, що справді перевіряли згодом. Відділяйте результати розробки від подальших, указуйте відомі спроби, витрати й обмеження. NFA нагадує, що гіпотетична торгівля не повністю відображає ліквідність, прослизання ціни та поведінку за справжніх збитків; її рекламні правила мають визначене коло членів. Отже, наступну перевірку починають із заздалегідь записаних правил. Менше методичних помилок корисно, але навіть ще не використані дані не гарантують прибутку на майбутньому ринку. [7]

ПрикладПРИКЛАД · 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, не можна заднім числом змінити початковий вибір. Порядок відбору не зберігся, проте приклад не доводить перенавчання як єдину причину й не оцінює його ймовірності. Це навчальні числа, а не реальні ринкові результати чи рекомендація стратегії.

Для повної картини прочитайте також 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Документація
Переглянуто: Спочатку джерела · Не інвестиційна порада