Бектестинг (бектест, backtesting) – це метод тестування торгової системи для визначення її результативності. Використовуючи історичні дані, він оцінює життєздатність торгової стратегії, виявляючи, як вона буде розвиватися. Backtesting активно використовують трейдери та аналітики.
Розуміння бектестингу
Перш ніж ризикувати капіталом, трейдер за допомогою бектестингу може змоделювати торгову стратегію, проаналізувати ризик і прибутковість.
Backtesting, який дає позитивні результати, переконує трейдерів, що обрана стратегія є правильною. Бектест з неоптимальними результатами навпаки спонукає їх змінити або відхилити стратегію, що розглядається.
Якщо торгову ідею можна оцінити кількісно, то її можна протестувати за допомогою історичних даних. Деякі трейдери та інвестори звертаються за допомогою до кваліфікованих програмістів.
Програміст може включати вхідні змінні, що визначаються користувачем, які дозволяють «налаштовувати» систему. Прикладом такого використання є система простого рухомого середнього (SMA, обчислюється шляхом знаходження середнього арифметичного). Трейдер вводить (або змінює) довжину двох рухомих середніх, що використовуються в системі. Потім, щоб визначити, які довжини рухомих середніх найкраще працювали б на історичних даних, виконує backtesting.
Бектестинг – це свого роду моделювання реальності. Тому при його проведенні можуть виникнути деякі складності через:
- Помилки прогнозу. На результат впливають дані з майбутнього.
- Тестування на вибірці. Виникає при використанні тих самих даних.
- Помилки того, хто вижив. Лістинг (включення цінних паперів до біржового списку) та делістинг (виключення цінних паперів з біржового списку).
- Транзакційні витрати. Комісії, збори тощо.
- Зміни ринку. Параметри ринку не є стаціонарними.
Ідеальний сценарій бектестингу
Ідеальний бектест вибирає дані за відповідний період з тривалістю, що відбиває різні ринкові умови. Таким чином, можна краще судити про те, представляють його результати випадкову або надійну торгівлю.
Набір історичних даних повинен включати типову (з однаковими характеристиками) вибірку акцій, в тому числі збанкрутілих і ліквідованих компаній.
Під час проведення бектеста необхідно враховувати всі торгові витрати, навіть незначні, оскільки вони можуть накопичуватися протягом періоду тестування й істотно впливати на зовнішній вигляд прибутковості стратегії. Тому необхідно переконатися, що програмне забезпечення для тестування враховує ці витрати.
Щоб backtesting давав значні результати, необхідно розробляти свої стратегії. Це не так легко, як здається. Адже в такому разі до нього потрібно ставитися уважніше, інакше виникнуть результати, які нічого не означають.