# Основи бектесту та його пастки

> Перевірте правило на минулих цінах і побачте пастки: один вдалий період, задній розум, забагато підгонки і зниклі невдачі.

- Курс: [Основи трейдингу: як це працює і як не втратити все](https://productovi.com/uk/courses/trading.md)
- Модуль: Як перетворити ідею на план, який можна перевірити?
- Урок 26/32, ~29 хв
- Джерело: https://productovi.com/uk/courses/trading/backtest-traps

## Дев'ять угод, вісім виграшів

**Alex Tutor:** Повертаємося на твій демо-рахунок у Pebble: Nora зробила щось розумне — перевірила правило на минулих цінах, перш ніж торгувати за ним. Послухаймо.

**Nora:** Коли Bluefin Energy закривається вище за всі закриття останніх 10 днів, купую 100 акцій на наступному відкритті й продаю на закритті через 5 днів. Лютий–квітень: 9 угод, 8 виграшів, +1 233 після витрат!

> **Правило Nora**
>
> **Вхід:** коли Bluefin Energy закривається вище за всі закриття останніх 10 днів (ці 10 днів — **період огляду (look-back)** правила), купую 100 акцій на наступному відкритті.
> **Вихід:** продаю на закритті через 5 торгових днів.
> **Витрати:** 4,00 за вхід і вихід.
> **Перевірка Nora:** 3 лютого – 18 квітня, 9 угод, 8 виграшних, +1 233 після витрат.

**Alex Tutor:** Прогнати правило на минулих цінах так, ніби вже тоді за ним торгуєш, — це **бектест (backtest)**. Він дешевий і корисний, а ще ним дуже легко обдурити себе. Ось ціни і кожна угода, яку правило зробило за дев'ять місяців.

**Набір даних (CSV):** [Щоденні ціни Bluefin Energy, січень–вересень 2025](https://productovi.com/datasets/trading/backtest-traps/m7_bfe_prices.csv)

Вигадані ціни з навчального ринку Pebble.

**Набір даних (CSV):** [Усі угоди за правилом Nora](https://productovi.com/datasets/trading/backtest-traps/m7_bt_trades.csv)

100 акцій на угоду, 4,00 витрат за вхід і вихід; result — після витрат. in_test_window = yes позначає угоди, які перевірила Nora.

**Alex Tutor:** Її тестове вікно — з 3 лютого до 18 квітня. За ці тижні ціна виросла приблизно з 40 до 56. На такому зростанні майже будь-яке правило «купуй» виграє.

![Тижневі свічки Bluefin, січень–вересень. Тестове вікно, 3 лютого – 18 квітня, — це підйом приблизно з 40 до 56. Після квітня ціна йде вбік, і угоди 12–20 усі збиткові.](https://productovi.com/courses/trading/diagrams/m7-l2-test-window-uk.png)

*Вигадані ціни з навчального ринку Pebble.*

**Sofia:** А що на решті?

> **Вправа:** Додай стовпець result для всіх 20 угод. Скільки правило заробляє на всьому ряді після витрат, у доларах?

## Пастка 1: один вдалий період

**Nora:** Мінус 57? Те саме правило?

**Alex Tutor:** Те саме. Після квітня тренд закінчується, і ціна ходить убік: стрибає до нового 10-денного максимуму, а потім його віддає. Правило купує кожен стрибок на вершині.

**Sofia:** Скільки втратили ті пізніші угоди?

> **Вправа:** Скільки разом дають 11 угод із позначкою in_test_window = no після витрат, у доларах?

**Alex Tutor:** Тож вікно показало тренд, а не правило. І зверни увагу: на всьому ряді лише 20 угод. Менше ніж 30 — замало, щоб довіряти результатові, хоч доброму, хоч поганому.

![9 угод у вікні дали +1 233 після витрат, 11 поза ним втратили 1 290, тож усі 20 угод дали −57. І 20 угод — замало, щоб довіряти будь-якому результату.](https://productovi.com/courses/trading/diagrams/m7-l2-window-vs-all-uk.png)

**Nora:** Я вибрала лютий–квітень, бо там графік виглядав гарно.

**Alex Tutor:** Це **задній розум (hindsight)**: вибрати перевірку, коли вже бачиш відповідь. Обирай період до того, як дивишся, використовуй його весь, разом із боковими рухами, а останню частину не чіпай — для однієї фінальної перевірки.

![Nora радіє підйому лінії ціни у вікні між шторами, а Alex відсуває штору й показує бокові місяці після нього, які уважно роздивляється Marc.](https://productovi.com/courses/trading/diagrams/m7-l2-scene.png)

> **Вправа:** Чому перевірка на лютому–квітні зробила правило таким гарним?

**Alex Tutor:** Коротка перевірка того, як Nora вибирала своє вікно.

> **Вправа:** Вибрати тестовий період, уже подивившись на графік, — нормально, якщо витрати враховано.

## Пастка 2: забагато підгонки

**Nora:** Гаразд, я все виправила. Спробувала всі періоди від 5 до 20 днів на всьому ряді. З 5 днями виходить +1 907!

**Набір даних (CSV):** [Те саме правило з 16 періодами](https://productovi.com/datasets/trading/backtest-traps/m7_bt_tweaks.csv)

Ті самі ціни, ті самі витрати; net_result — після витрат.

**Alex Tutor:** 16 версій на тих самих цінах і вибрати найкращу — це **перенавчання (overfitting)**. Правило підганяють під саме це минуле. Версія з 5 днями виграє здебільшого тому, що захопила більше того самого одного тренду.

![Те саме правило з періодами від 5 до 20 днів на тих самих цінах: найкращий, 5 днів, дає +1 907 після витрат, 10 днів Nora — −57. Найкраще з багатьох — частково везіння.](https://productovi.com/courses/trading/diagrams/m7-l2-lookbacks-uk.png)

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

> **Вправа:** Що з цього — ознаки, що результат бектесту може бути перенавчений? Обери усе, що підходить.

**Alex Tutor:** Перш ніж іти далі, подивімося на всю таблицю з 16 версій, а не лише на верхній рядок.

> **Вправа:** Яке в таблиці з 16 періодів середнє значення net_result усіх 16 версій після витрат, у доларах? Округли до цілого долара.

## Пастка 3: зниклі невдачі

**Alex Tutor:** Остання пастка ховається в чужих перевірках. На форумі список «десять правил, що п'ять років обігрували ринок». Хто потрапив у список? Лише правила, які досі працюють. Ті, що «вибухнули», видалили.

**Marc:** Так само з «найкращими фондами десятиліття»: фонди, що закрилися, просто зникають із таблиці, тож середнє виглядає кращим за реальний результат будь-кого.

**Alex Tutor:** Це **упередження виживання (survivorship bias)**: ти бачиш лише тих, хто вижив. Питай, скільки було на старті, а не лише скільки лишилося.

**Nora:** Тобто це як вітрина в рекламі: напоказ лише добрий хліб.

**Alex Tutor:** Саме так, тільки тут той, хто показує, може навіть не знати, що невдачі зникли.

> **Вправа:** Зістав кожну пастку з тим, як вона виглядає.

## Що може бути не так із цією перевіркою?

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

**Alex Tutor:** Тож кожен результат бектесту закінчується одним питанням: що може бути не так із цією перевіркою? Витрати враховано? Увесь період? Скільки версій спробували? Щонайменше 30 угод? Чи не бракує невдач? Чи справді можна було отримати такі ціни?

**Nora:** А якщо правило пройде все це?

**Alex Tutor:** Тоді його варто випробувати на демо-рахунку. Не доведене — лише ще не спростоване. Минуле не обіцяє майбутнього.

**Alex Tutor:** Ще раз про звичку Marc трохи зменшувати кожен результат бектесту.

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

> **Вправа:** Новий допис Nora: «Моє правило пробою з 5 днями цього року заробило +1 907 після витрат на Bluefin. Доведено!» У 2–4 реченнях напиши, що може бути не так із цією перевіркою.

> **Головне**
>
> - **Бектест** проганяє правило на минулих цінах. Витрати враховують завжди, а за результатом завжди йде питання «що може бути не так із цією перевіркою?»
> - **Один вдалий період:** 9 угод на тренді дали +1 233; усі 20 угод — −57 після витрат.
> - **Задній розум:** обирай тестовий період до того, як подивишся на графік, і використовуй його весь.
> - **Перенавчання (overfitting):** найкраща з багатьох версій на тих самих цінах — частково везіння; перевір її один раз на небачених цінах.
> - **Упередження виживання:** списки переможців ховають тих, хто не вижив. І менше ніж 30 угод — замало, щоб робити висновки.

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

- Попередній урок: [Торговий план на одній сторінці](https://productovi.com/uk/courses/trading/one-page-plan.md)
- Наступний урок: [Демо-рахунок, малий старт і журнал](https://productovi.com/uk/courses/trading/practice-account-and-journal.md)

---
Productovi Learning. Безкоштовно, читати можна без реєстрації.
