Як розрахувати profit factor за даними трейдингового журналу
Profit factor – це валовий прибуток, поділений на валовий збиток. Покроковий процес коректного розрахунку за даними власного трейдингового журналу, з прикладом на реальних угодах і типовими помилками обчислення.
Оновлено:
Коротко. Profit factor дорівнює валовому прибутку, поділеному на валовий збиток: підсумуйте прибуток кожної виграшної угоди, підсумуйте збиток кожної програшної угоди як додатне число, а потім поділіть перше на друге. Сама формула займає секунди. А от чи означатиме отримане число щось насправді, залежить від того, як угоди фіксуються й групуються перед цим діленням – виключені беззбиткові угоди, пропущені комісії чи надто мала вибірка можуть змінити результат навіть тоді, коли сама стратегія не змінилася жодним чином.
Profit factor вище 1.0 означає, що система заробила більше, ніж втратила, на врахованих угодах; нижче 1.0 – навпаки. Саме число просте. А от отримати profit factor, який справді відображає стратегію, а не є артефактом того, як зібрано дані, – тут вирішальним стає сирий журнал угод.
Що вимірює profit factor одним реченням
Profit factor порівнює загальну суму виграних доларів із загальною сумою втрачених на наборі угод, відповідаючи на вужче питання, ніж часто йому приписують: скільки доларів повертається на кожен втрачений долар. Він нічого не каже про win rate – як часто стратегія «права» – чи про розмір окремої угоди відносно взятого ризику; див. що таке profit factor і чому win rate обманює без R-multiple про те, як він поєднується з іншими метриками. Цей матеріал зосереджений тільки на механіці: як витягти дві суми з реального журналу угод і коректно їх поділити.
Формула і що враховується в кожній частині
Profit factor – це валовий прибуток, поділений на валовий збиток, де валовий прибуток – сума доларового результату кожної угоди, що закрилась у плюс, а валовий збиток – сума доларового результату кожної угоди, що закрилась у мінус, взята як додатне число для ділення. Стратегія із загальним прибутком 700 і загальним збитком 350 має profit factor рівно 2.0, за стандартним визначенням, яке використовує зокрема Forexpedia від Babypips. Більше нічого в ці суми не входить: ні відкриті позиції, ні угоди з іншої стратегії чи рахунку, що оцінюється окремо, ні приблизна оцінка того, скільки угода «мала б» заробити.
Крок 1: візьміть сирий журнал угод, а не зведення
Для розрахунку потрібен реалізований прибуток чи збиток у доларах по кожній закритій угоді – не середнє значення, не відсоток win rate і не крива капіталу рахунку. Трейдинговий журнал, що фіксує вхід, вихід і реалізований результат по кожній угоді, і є цим джерелом; виписку брокера, що показує лише чисту зміну капіталу за період, назад у результати окремих угод розкласти вже неможливо. Візьміть повний список за точне вікно, що вимірюється, по одному рядку на закриту угоду.
Крок 2: розкладіть кожну угоду по групі
Кожна закрита угода потрапляє в одну з трьох груп: виграшна (додатний результат), програшна (від'ємний результат) або беззбиткова (нуль, або близько до нуля, коли комісії роблять знак неоднозначним). Виграшні й програшні угоди – однозначні. Беззбиткові угоди – це те місце, де найчастіше виникають помилки розрахунку, адже вони не додають доларову суму в жодну з двох сум, але все одно впливають на те, як читати співвідношення відносно кількості угод; стратегія з 40 виграшними, 10 програшними й 50 беззбитковими угодами дає інакшу практичну картину, ніж 40 виграшних і 10 програшних без жодної беззбиткової, навіть якщо саме число profit factor вийде однаковим.
Важливо. Виключення беззбиткових угод з розрахунку – правильне рішення, адже вони не додають нічого в жодну з сум, але виключення їх із загальної кількості угод спотворює те, наскільки часто стратегія взагалі дає рішучий результат. Подавайте profit factor разом із загальною кількістю угод і win rate, а не як окреме число само по собі.
Крок 3: підсумовуйте валовий прибуток і валовий збиток окремо, ніколи не взаємозараховуйте
Найпоширеніша механічна помилка – віднімати збиток від прибутку по кожній угоді ще до підсумовування, що дає чистий фінансовий результат, який неможливо перетворити назад у валовий profit factor. Валовий прибуток – це сума лише виграшних угод; валовий збиток – сума лише програшних угод, підсумована окремо. Трейдер із 10 виграшними угодами по 50 і 5 програшними по 40 має валовий прибуток 500 і валовий збиток 200, тобто profit factor 2.5 – а не число, побудоване з чистого результату 300.
Розрахунок на прикладі реального журналу угод
| Група угод | Кількість угод | Загальний доларовий результат |
|---|---|---|
| Виграшні угоди | 7 | +560 |
| Програшні угоди | 3 | -280 |
| Беззбиткові угоди | 2 | 0 |
Валовий прибуток дорівнює 560, валовий збиток – 280 (як додатне число), тож profit factor – це 560, поділене на 280, що дорівнює 2.0. Дві беззбиткові угоди не додають нічого в жодну із сум, але повна картина – це 12 закритих угод загалом, 58 відсотків win rate серед рішучих угод і profit factor 2.0 – три числа, які разом кажуть більше, ніж будь-яке одне з них окремо.
Де число непомітно спотворюється
Кілька помилок спотворюють profit factor, не змінюючи нічого в тому, як стратегія насправді торгує. Якщо не враховувати торгові комісії й збори в результаті кожної угоди, валовий прибуток завищується, а валовий збиток занижується, бо витрати стосуються і виграшних, і програшних угод, але помітніше зменшують чисті виграшні. Змішування угод із різних стратегій чи таймфреймів в один розрахунок поєднує дві різні переваги в одне оманливе число. Замала вибірка, менш ніж приблизно 20-30 закритих угод, дозволяє одній незвично великій прибутковій чи збитковій угоді домінувати в співвідношенні так, як на більшій вибірці цього б не сталося. Розрахунок profit factor на відкритих, ще не реалізованих позиціях замість закритих угод змішує моментальний знімок із завершеним результатом, і число змінюється щоразу, коли рухається ціна, хоча по суті угода ще не завершена.
Сегментація розрахунку: по стратегії, по інструменту, по вікну
Один profit factor, розрахований по всій історії рахунку, змішує разом усі стратегії, які веде трейдер, приховуючи те, що одна з них може тягнути весь результат, поки інша тихо втрачає гроші під нею. Розрахунок тієї самої формули окремо для кожного тегу стратегії, кожного інструменту чи кожного рахунку, якщо їх декілька, показує, яка саме частина торгівлі дає реальну перевагу. Та сама логіка стосується часових вікон: плаваючий profit factor за останні 30 чи 90 днів, перерахований щоразу, коли закривається нова партія угод, швидше вловлює відхилення стратегії від історичної переваги, ніж єдине число за весь час, що усереднює вдалі місяці з нещодавніми.
Саме тут ручний підхід через таблицю зазвичай починає ламатись на практиці, адже повторна фільтрація й підсумовування валового прибутку та валового збитку по тегу стратегії чи по плаваючому вікну для кожного перерахунку настільки втомлива справа, що більшість трейдерів перевіряють це набагато рідше, ніж насправді змінюються результати стратегії. Поля, зафіксовані по кожній угоді при вході, як-от тег стратегії чи тип сетапу, і роблять таку сегментацію можливою пізніше; журнал угод, що фіксує лише доларовий результат без жодного контексту, розкласти назад на змістовні групи вже не вдасться.
Як читати результат після розрахунку
| Діапазон profit factor | Що зазвичай означає | Що перевірити, перш ніж довіряти числу |
|---|---|---|
| Нижче 1.0 | Збитки переважають прибутки на вибірці | Переконайтесь, що серія збитків – не одна-дві угоди-викиди |
| 1.0-1.5 | Маржинально прибутково, тонка перевага | Перевірте кількість угод; тонка перевага на 15 угодах – не те саме, що на 150 |
| 1.5-2.0 | Стійка, робоча перевага для більшості стратегій | Перевірте, чи комісії й беззбиткові угоди враховано послідовно |
| Вище 2.0 | Сильний результат на вимірюваній вибірці | Великі числа на дуже малих вибірках заслуговують додаткової перевірки, а не лише довіри |
Profit factor добре відповідає на одне питання й нічого не каже про кілька інших, тож поєднання його з win rate та ключовими метриками результативності, а не читання окремо, і не дає числу вводити в оману саме по собі.
Матеріал має ознайомчий характер і не є інвестиційною порадою. Торгівля з кредитним плечем несе високий ризик втрати капіталу. Минулі результати не гарантують майбутніх.
Розраховувати profit factor вручну в таблиці працює, поки кількість угод не зростає чи комісії не потрібно звіряти по десятках закритих позицій. Трейдинговий журнал BitStat фіксує кожну закриту угоду автоматично й коректно розділяє валовий прибуток і валовий збиток у міру надходження нових угод, тож число лишається точним у міру того, як журнал росте, замість того, щоб перебудовувати його з нуля щоразу під час перевірки.