Перевірка тесту

Що таке бектестування?

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

Ключові винос

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

Розуміння бектестування

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

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

Короткий огляд

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

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

Програміст може включати визначені користувачем вхідні змінні, які дозволяють трейдеру “налаштувати” систему. Прикладом цього може бути система кросовера з  простою ковзною середньою (SMA). Трейдер міг би ввести (або змінити) довжину двох ковзних середніх, які використовуються в системі. Потім трейдер міг би перевірити, щоб визначити, які довжини ковзних середніх мали б найкращі результати за історичними даними.

Ідеальний сценарій попереднього тестування

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

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

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

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

Тестування назад і тестування продуктивності вперед

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

Важливим аспектом передового тестування продуктивності є точне дотримання логіки системи; в іншому випадку стає важко, а то й неможливо точно оцінити цей етап процесу. Трейдери повинні бути чесними щодо будь-яких торгових входів і виходів та уникати поведінки, наприклад,   торгівлі вишнями чи не включати торгівлю на папері, обґрунтовуючи те, що “я ніколи б не взяв цю торгівлю”. Якщо торгівля відбулася б за логікою системи, вона повинна бути задокументована та оцінена.

Бектестування проти аналізу сценарію

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

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

Деякі підводні камені тестування

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

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

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

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