Бектестинг проти ведення журналу: чому потрібне і те, і інше

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

Бектестинг проти ведення журналу: чому потрібне і те, і інше

Оновлено:

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

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

Що насправді перевіряє бектестинг

Бектест застосовує фіксований набір правил входу й виходу до історичних цінових даних і рахує, що сталося б: чистий прибуток чи збиток, вінрейт, просадку та інші показники ефективності, порахувані без ризику жодної копійки (Corporate Finance Institute, "Backtesting"). Це робить бектест дешевим у запуску й швидким для ітерацій: ідею можна прогнати проти років цінової історії, підкрутити й прогнати знову, і все це до того, як піде хоч один живий ордер. Роздрібні платформи на кшталт Strategy Tester у MetaTrader існують саме для цього: симулюють виконання автоматизованої стратегії проти збережених історичних цінових даних, щоб перевірити логіку ще до реального чи демо-рахунку (MetaQuotes, документація MQL5, "Testing Trading Strategies").

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

Чого бектест не бачить

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

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

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

Що натомість фіксує трейдинговий журнал

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

Саме в цьому розриві часто ховається справжня історія. Сетап можна бектестити з чистим вінрейтом 55% і все одно втрачати гроші наживо – не тому, що сетап був хибний, а тому, що живе виконання послідовно віддає кілька базисних пунктів на угоду через сліппедж, вагання чи вихід на бар раніше. Ведення журналу кожної угоди з тегом сетапу – це те, що взагалі уможливлює таке порівняння; без нього жива смуга збитків і зламана ідея виглядають ізсередини однаково.

Сліпа зона, яку має кожен метод окремо

Питання Лише бектестинг Лише трейдинговий журнал
Чи мав цей набір правил сенс узагалі? Відповідає прямо, дешево, за роками даних Не може відповісти без ризику реальних угод спочатку
Чи здатен я насправді виконувати це правило наживо? Не може відповісти; припускає ідеальне, беземоційне виконання Відповідає прямо, угода за угодою
Чи враховані мої витрати (сліппедж, комісії)? Лише якщо свідомо закладені, і часто занижені Завжди присутні, бо вже сталися
Смуга збитків – це норма чи ознака, що перевага зникла? Немає живих даних для порівняння Немає історичного орієнтира для порівняння

Порівняння двох карток: що показує бектестинг і що показує живий трейдинговий журнал

Практичний робочий процес: спочатку бектест, потім журнал розриву виконання

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

Після достатньої кількості живих угод під цим тегом порівняти зафіксований у журналі вінрейт і середній результат із бектестованими цифрами для того самого набору правил. Близький збіг, у межах того, що можна пояснити витратами й звичайною варіативністю, свідчить, що стратегія витримує зіткнення з реальним виконанням. Широкий, стабільний розрив вказує на реальну проблему: витрати, занижені в бектесті, або правила, яких насправді не дотримуються, коли в гру входять реальні гроші й реальні емоції. Регулярний перегляд розбивки по стратегії для цього тегу, а не лише тоді, коли сетап «відчувається», ніби перестав працювати, – це те, що тримає порівняння чесним.

Як читати живу смугу збитків проти орієнтира з бектесту

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

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

Що логувати, щоб порівняння дійсно працювало

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

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

Типові помилки

  • Торгувати бектестованою ідеєю наживо, жодного разу не звіряючи живі результати з бектестом. Це порівняння – вся суть; пропустити його означає перетворити бектест на одноразову вправу замість постійної перевірки.
  • Припускати, що виконання й витрати в бектесті збігаються з живими умовами. Нереалістичні припущення щодо сліппеджу й комісії регулярно перетворюють бектестовану перевагу на живий збиток.
  • Вести журнал живих угод для ідеї, яку жодного разу не тестували на історичних даних. Немає способу відрізнити звичайну смугу збитків від зламаної ідеї без орієнтира.
  • Кидати стратегію після смуги збитків, яка збігається з її власним бектестованим патерном просадки. Порівняти з бектестом, перш ніж робити висновок, що перевага зникла.
  • Ставитися до одного запуску бектесту як до постійного доказу. Ринкові умови змінюються; набір правил, що добре тестувався рік тому, потребує періодичної повторної перевірки на свіжих даних, так само як і жива перевага.

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

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

Коротко про головне

Поширені запитання

У чому основна різниця між бектестингом і веденням трейдингового журналу?
Бектестинг симулює набір торгових правил на історичних цінових даних ще до того, як ризикують капіталом, показуючи, чи мала ідея сенс у минулому. Трейдинговий журнал фіксує, що насправді сталося в живих угодах, включно з реальним сліппеджем, комісіями й виконанням. Бектестинг перевіряє ідею; журнал перевіряє, чи можна цю ідею дійсно торгувати.
Чи можна пропустити бектестинг і просто вести журнал живих угод?
Можна, але ризиковано. Без бектесту немає орієнтира, як виглядає нормальна смуга збитків для цієї стратегії, тож живу смугу збитків важко відрізнити від дійсно зламаної ідеї. Спочатку бектестити, навіть у простій формі, дає журналу з чим порівнювати.
Чи можна пропустити ведення журналу, якщо бектест уже виглядає прибутковим?
Ні. Бектест не фіксує реальний сліппедж, реальні комісії чи реальну психологію – вагання, ранні виходи, пересунуті стопи. Багато стратегій, які добре бектестуються, втрачають гроші наживо, бо виконання тихо відрізняється від симуляції. Ведення журналу живих угод – єдиний спосіб підтвердити, що перевага витримує зіткнення з реальною торгівлею.
Який сліппедж закладати при бектестингу стратегії?
Це залежить від ліквідності інструмента й типу ордера, і найкраще звіряти з реальними даними виконання брокера, де це можливо. Як відправну точку – закладати консервативний, ненульовий сліппедж і комісію на кожну симульовану угоду, а не припускати ідеальне виконання за ціною сигналу, тримає бектест ближче до того, як виглядатиме жива торгівля.
Скільки живих угод потрібно, перш ніж порівнювати результати з бектестом?
Немає фіксованого числа, яке підійде для кожної стратегії, але розглядати будь-що менше приблизно 30 залогованих угод під одним тегом сетапу як завелику невизначеність для висновків – розумний мінімум. Змістовне порівняння з бектестованим вінрейтом і середнім результатом стає надійнішим із наближенням кількості до 100 і більше.
Чи означає жива смуга збитків, що бектестована стратегія перестала працювати?
Не обов'язково. Якщо бектест уже показував відрізки з кількох послідовних збитків як звичайну частину патерну доходності стратегії, жива смуга збитків подібної довжини може бути просто стратегією, що поводиться як очікувалося. Порівняння довжини й глибини смуги з власною історією просадки з бектесту – це те, що відрізняє звичайну варіативність від справжньої проблеми.
Чи варто повторно бектестити стратегію, яка вже якийсь час торгує наживо?
Так. Ринкові умови змінюються, і набір правил, що добре тестувався на одному відрізку історії, не гарантовано продовжуватиме працювати нескінченно. Періодична повторна перевірка на свіжіших даних поряд із переглядом живого журналу за той самий період ловить перевагу, що згасає, до того, як вона перетвориться на тривалу живу смугу збитків.