Оптимізація методом покрокового тестування () — це метод, що використовується у фінансах для визначення оптимальних параметрів торгівельної стратегії та оцінки її надійності. Аналіз методом покрокового тестування (Walk Forward Analysis) був створений Робертом Е. Пардо у 1992 році і розширений у другому виданні його книги. Нині аналіз методом покрокового тестування широко вважається «золотим стандартом» у тестуванні торгівельних стратегій.

Торгівельну стратегію оптимізують на основі даних у межах вибірки (in-sample data) з ряду даних. Решта даних резервується для тестування поза вибіркою (out-of-sample testing). Невелика частина зарезервованих даних, що слідує за даними з вибірки, використовується для тестування, і результати записуються. Потім часовий інтервал вибірки пересувається вперед на період, який охоплював тест даних поза вибіркою, і процес повторюється. У підсумку всі записані результати використовуються для оцінки торгівельної стратегії.

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

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

Форвардне тестування (Forward Testing, також відоме як Walk Forward Testing) є симуляцією реальних ринкових даних виключно на папері. У цьому випадку трейдер рухається разом із ринками в реальному часі, але не використовує реальні гроші, а здійснює віртуальну торгівлю для кращого розуміння рухів ринку. Тому цей метод також називають «паперовою торгівлею» (Paper Trading). Форвардне тестування продуктивності є симуляцією фактичної торгівлі й передбачає дотримання логіки системи в реальному ринку.

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

Відсутність надійності системи через неправильний вибір параметрів. Система вважається надійною, якщо вона працює добре за будь-яких ринкових умов. Непослідовні правила та неправильне тестування системи за допомогою «даних з вибірки» та «даних поза вибіркою».

Аналіз методом покрокового тестування (Walk Forward Analysis) виконує оптимізацію на навчальному наборі даних, тестує її на періоді після цього набору, а потім зміщує цей інтервал вперед і повторює процес. Цей підхід створює кілька періодів тестування поза вибіркою, і результати об'єднуються для аналізу. Аналіз методом покрокового тестування вперше представив Роберт Е. Пардо у першому виданні своєї книги Design, Testing and Optimization of Trading Systems у 1992 році. Перше точне програмне впровадження цього методу було створено корпорацією Pardo у застосунку Advanced Trader і вдосконалено в інших програмах, таких як Blast та XT. Метод покрокового тестування дозволяє моделі торгівлі бути на крок попереду ринку. Цей підхід отримав назву покрокового через багаторазове навчання та тестування, що зменшує ймовірність перенавчання моделі. Аналіз методом покрокового тестування вперше був представлений у журналі Futures (нині закритому) у своїй зародковій формі.

Покрокове тестування дозволяє розробити торгову систему, зберігаючи розумний «ступінь свободи». Воно переносить ідею тестування поза вибіркою на наступний рівень. Це специфічна реалізація методу, відомого як крос-валідація. Суть у тому, щоб використовувати сегмент даних для оптимізації системи і ще один сегмент даних для її валідації. Наприклад, оптимізується вікно даних розміром 1000 барів, а тестування проводиться на наступних 200 барах. Потім усе це зміщується вперед на 200 барів, і процес повторюється. Це забезпечує великий період даних поза вибіркою та дозволяє оцінити стабільність системи з часом.

Для прикладу розглянемо стратегію на основі ковзної середньої. Припустимо, ви берете перші три місяці даних і виявляєте, що для цього періоду оптимальною є ковзна середня з періодом 20 хвилин (на основі тикових даних). Далі ви перевіряєте це правило, оцінюючи його продуктивність у четвертому місяці (наприклад, за такими показниками, як прибуток, співвідношення ризик/винагорода або інша статистика). Потім ви повторюєте оптимізацію, використовуючи дані з 2-го по 4-й місяць, а валідацію — на 5-му місяці, і продовжуєте процес, поки не дійдете до кінця доступних даних.

Результати, які ви отримуєте для місяців валідації (4–13), є вашою продуктивністю поза вибіркою.

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

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

Дані «поза вибіркою»: Це зарезервований набір даних (історичних даних), який не входить до даних з вибірки. Його важливість полягає в тому, що він дозволяє тестувати систему на іншому періоді історичних даних, що не використовувався раніше. Це допомагає усунути будь-яку упередженість чи вплив на перевірку продуктивності системи.

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

Висновки

Для кращого розуміння, будь ласка, подивіться приклад тут.

Для оцінки будь-якої системи потрібно перевірити її ефективність, використовуючи «дані поза вибіркою» (тестові дані), а не «дані в вибірці» (дані, що використовуються для оптимізації системи). Таким чином, тестування за методом walk-forward визначає ефективність оптимізованої системи шляхом складання статистики ефективності всіх вікон поза вибіркою. Це підсумок ефективності аналізу покрокового тестування.

Чи є вона надійною? Торгову стратегію вважають надійною, якщо вона показує позитивний підсумок ефективності. Надійна стратегія — це та, яка, ймовірно, продемонструє реальні результати торгівлі, що відповідають її профілю розробки. Оцінка торгової стратегії як торгового активу є абсолютно іншим процесом. Див. опубліковану цитату 2, сторінки 263—280.

Чи є вона «перенавченою»? Це складна тема. Загалом стратегії, які «перенавчені», зазнають невдачі під час аналізу покроковим методом. Однак, слід зазначити, що стратегія може бути надійною і одночасно виявляти певні ознаки перенавчання. Наприклад, коли стратегія удосконалюється шляхом додавання різних компонентів і фільтрів, це може призвести до певного рівня перенавчання. Якщо трейдер виявить це, залежно від ступеня, доцільно відмовитися від таких змін. Детальніше про це див. опубліковану цитату 2, сторінки 281—300.

Примітки