Profit Factor: 7 статистических ловушек, из-за которых число врёт

Profit Factor: 7 статистических ловушек, из-за которых число врёт

·10 мин чтения
Антон Сухарев·Основатель Quantra·редполитика

Profit Factor: 7 статистических ловушек, из-за которых число врёт

Profit factor — самая популярная метрика для оценки торговой стратегии. PF 1.6 звучит уверенно, PF 2.0 — отлично, PF 0.9 — стратегия в минусе. Но за этими простыми интерпретациями скрывается серия статистических ловушек, в которые регулярно попадают и retail-трейдеры, и опытные авторы стратегий. Высокий PF на бумаге — далеко не всегда прибыльная стратегия в реальной торговле.

В этой статье — 7 типичных ситуаций, когда profit factor показывает красивое число, но реальный результат на счёте оказывается совсем другим. Как эти ловушки распознать и что с ними делать.

Profit Factor: 7 статистических ловушек, из-за которых число может вводить трейдера в заблуждение

Краткое напоминание: что такое profit factor

Profit factor — отношение суммы прибыли по всем выигрышным сделкам к сумме убытков по проигрышным:

PF = сумма прибылей / |сумма убытков|

PF выше 1.0 означает что стратегия в плюсе на выборке, PF ниже 1.0 — в минусе. Шкала примерно такая: до 1.0 убыточно, 1.0-1.2 на грани, 1.2-1.5 рабочая стратегия, 1.5-2.0 хороший результат, выше 2.0 — отличный результат либо подгонка. Полный разбор формулы и норм есть в отдельной статье про profit factor.

Метрика проста до примитивности — и именно поэтому её легко обмануть, специально или неосознанно.

Ловушка 1. Слишком короткая выборка

PF 2.5 на 30 сделках и PF 2.5 на 500 сделках — это разные числа. Первое — статистический шум, второе — характеристика стратегии.

На малых выборках одна крупная сделка кардинально меняет PF. Если у тебя 30 сделок, средний выигрыш +1000 ₽, средний убыток −600 ₽, win rate 50% — нормальный результат. Но если в этих 30 одна сделка дала +8000 ₽ (повезло на тренде, удачно зашёл на новости), эта одна сделка перетягивает соотношение, и PF становится 2.5. Без неё — был бы 1.6.

Минимальная выборка для разговора о profit factor — 100 закрытых сделок. Лучше 200+. До этого PF — это гипотеза, а не вывод.

Как распознать: посчитай PF без топ-3 самых крупных выигрышных и топ-3 убыточных сделок. Если число падает с 2.5 до 1.1 — твой PF держится на хвостах, а не на стратегии.

Ловушка 2. Один большой выигрыш маскирует системную убыточность

Связана с предыдущей, но опаснее. Представь 200 сделок: 130 в плюс по 500 ₽, 70 в минус по 800 ₽.

сумма прибылей = 130 × 500 = 65 000 ₽
сумма убытков = 70 × 800 = 56 000 ₽
PF = 65 000 / 56 000 = 1.16

PF чуть выше единицы — стратегия номинально в плюсе. А теперь представь, что одна из 130 «прибыльных» сделок — это удачный фьючерс на новостях, который дал +25 000 ₽ (а не среднюю +500 ₽). Считаем заново:

сумма прибылей = 129 × 500 + 25 000 = 89 500 ₽
сумма убытков = 56 000 ₽
PF = 89 500 / 56 000 = 1.60

PF 1.60 — на бумаге «хорошая стратегия». Но если ты убеёшь эту одну удачную сделку, PF обвалится в 0.7. То есть стратегия зарабатывала только за счёт случайной удачи, а не за счёт системного edge.

Как распознать: считай median return на сделку, не только average. Если median +200 ₽, а average +500 ₽ — есть один-два хвоста, которые тянут среднее. Стратегия зависит от того, что эти хвосты повторятся, и в этом её фундаментальная нестабильность.

Ловушки 1 и 2 в profit factor: маленькая выборка и один случайный большой выигрыш искажают итоговую метрику

Ловушка 3. PF на исторических данных vs PF на форварде

Самая популярная разновидность подгонки в трейдинге. Бэктест на 5-летних данных показывает PF 2.3. Запускаешь стратегию в боевом режиме — PF 0.9.

Это происходит потому что подбираешь параметры стратегии на тех же данных, на которых её тестируешь. Допустим, ищешь оптимальный период EMA для своей системы. На исторических данных EMA(23) даёт PF 2.3 — лучший результат среди всех. Ты её и выбираешь. Но в реальности 23 — это шумовой оптимум, который случайно сложился именно на этой выборке. На следующих данных лучший период будет 17 или 31, потому что рыночная микроструктура изменилась.

Это классический overfitting (переподгонка под выборку). Никакого предсказательного значения у такой стратегии нет — она хорошо описывает прошлое, но ничего не говорит о будущем.

Как распознать: для серьёзного бэктеста делай walk-forward. Тестируешь на 70% данных, оптимизируешь — на оставшихся 30% проверяешь. Если PF на out-of-sample сильно ниже чем на in-sample — стратегия переподогнана. Разница в 0.3-0.5 PF — норма; разница в 1.0+ — это уже фикция.

Ловушка 3: profit factor в бэктесте может не пережить out-of-sample проверку и live-торговлю

Ловушка 4. Прибыль до комиссий и налогов

PF, посчитанный на «грязной» прибыли (без учёта комиссий брокера, биржи и налогов) — это бумажный PF. К твоему счёту он не имеет отношения.

Конкретный пример: интрадей-стратегия на акциях, 200 сделок за квартал, средний размер позиции 100 000 ₽. PF до комиссий — 1.45.

комиссия брокера + биржа = ~0.05% за круг = 50 ₽ на сделку
суммарные комиссии = 200 × 50 = 10 000 ₽
средний выигрыш = 800 ₽, средний убыток = 600 ₽
win rate 55% — итого 110 выигрышей и 90 убытков
сумма прибыли (грязная) = 110 × 800 = 88 000 ₽
сумма убытков (грязная) = 90 × 600 = 54 000 ₽
PF грязный = 1.63

С учётом комиссий:
сумма прибыли = 88 000 − (110 × 50) = 82 500 ₽
сумма убытков = 54 000 + (90 × 50) = 58 500 ₽
PF чистый = 1.41

Разница 0.22 PF — на скальпинге может быть в 2-3 раза больше. После налогов (13% НДФЛ на финрезультат) — ещё минус 0.10-0.15 PF.

Как распознать: в журнале сделок сразу учитывай комиссии в P&L каждой сделки. PF считай на чистом результате. И помни, что PF после налогов — это то, что доходит до кошелька, всё остальное — бумага.

Ловушка 4: profit factor до комиссий и налогов выглядит лучше, чем реальный результат после издержек

Ловушка 5. Усреднение убыточных позиций

Метрика PF считает каждую закрытую сделку как одну единицу. Но если у тебя есть привычка усреднять убыточные позиции — это ломает картину.

Пример: вошёл по 100, цена упала до 95, доусреднил 50% от первоначального размера, цена упала до 90 — закрыл всё убытком. В журнале это одна позиция с одним усреднённым P&L. На бумаге выглядит как одна обычная убыточная сделка.

В реальности это две сделки, обе убыточные, причём вторая — рискованнее первой (вошёл против тренда, который уже подтвердился). Если ты считаешь это как одну сделку, в твою статистику не попадает важный сигнал: ты систематически добираешь риск в проигрышных позициях, что увеличивает максимальную просадку при сравнимом PF.

Как распознать: разделяй сделки с усреднением и без в журнале. Тегируй усреднения отдельно. Считай PF и max drawdown по обеим группам. Почти всегда усреднения дают PF 0.7-0.9 даже когда общий PF выше 1.3 — то есть усреднения тебя сливают, а основная стратегия маскирует это.

Ловушка 6. Разные стратегии в одной выборке

Если ты торгуешь и скальп, и интрадей, и свинг, и меряешь PF по всему общему журналу — это усреднение трёх разных распределений в одно. Может получиться PF 1.3 как итог:

  • скальп с PF 0.8 (минус)
  • интрадей с PF 1.5
  • свинг с PF 1.7

Общая картина выглядит благополучно, но скальп в реальности сливает депозит, а итоговый плюс держится на свинге. Если ты этого не видишь — продолжаешь скальпить, считая что «общий PF приемлемый».

Как распознать: тегируй каждую сделку по типу стратегии (скальп / интрадей / свинг / новостная) и считай PF отдельно. То же относится к разделению по инструментам, по типу сетапа, по времени дня. Любая стратегия с PF меньше 1.1 на дистанции 50+ сделок — кандидат на удаление, даже если в общем зачёте всё нормально.

Ловушка 7. PF в разные рыночные режимы

Стратегия, отлично работающая в трендовый рынок (PF 1.8 за 2023 год), может давать PF 0.7 во флете 2024 года. Если меряешь PF на годовом окне без учёта режима — получаешь смешанную картину.

Многие retail-трейдеры обнаруживают это слишком поздно: «у меня было всё хорошо в 2023, а в 2024 пошло куда-то не туда». На самом деле стратегия не сломалась — изменился рыночный режим, и алгоритм стал работать в неподходящих условиях.

Как распознать: считай PF на скользящем окне (90, 180 дней). Если видишь резкие провалы — соотноси их с фазой рынка (тренд/флет, низкая/высокая волатильность). Если стратегия систематически проседает в определённом режиме — либо отключай её в этих условиях, либо имей вторую стратегию для другого режима.

Ловушки 5, 6 и 7: усреднение, смешение стратегий и смена рыночного режима скрывают реальный риск profit factor

Как считать profit factor честно — короткий чек-лист

После всех ловушек — что делать. Минимальная гигиена:

  1. Выборка 100+ сделок, лучше 200+.
  2. На чистом P&L — после комиссий, желательно с учётом налогов на дистанции год+.
  3. Median return проверяй наряду с average — нет ли перекоса на хвосты.
  4. Без top-3 / bottom-3 — посчитай PF без самых экстремальных сделок. Падает значимо — стратегия зависит от хвостов.
  5. На отдельных стратегиях — по типам сетапов, инструментам, режимам. Один общий PF врёт чаще чем не врёт.
  6. На скользящем окне 90 дней — не только годовой. Видно, как стратегия живёт во времени.
  7. Out-of-sample — для бэктестов: тестируй на данных, которые не использовались для оптимизации.

С этим чек-листом PF становится инструментом, а не «магическим числом» из обучающих курсов. И когда видишь рекламу «стратегия с PF 3.2» — уже знаешь, какие 5 вопросов надо задать, чтобы понять, реально это число или подгонка.

FAQ

Какой profit factor считается достоверным?

Достоверный — тот, который посчитан на 200+ сделках, на чистом P&L после комиссий, проверен исключением экстремальных хвостов и стабилен на скользящем окне 90 дней. Сама величина PF при этом для рабочей стратегии retail-трейдера — 1.3-1.7. Числа выше 2.5 на дистанции встречаются крайне редко и обычно сигнализируют либо о подгонке, либо о коротком везучем периоде.

Почему PF на бэктесте выше чем в реальной торговле?

Несколько причин: бэктест часто не учитывает реальные комиссии и спред, оптимизация параметров на той же выборке (overfitting), отсутствие психологии (бэктест механически следует правилам, человек — нет), отличие исторических условий ликвидности от текущих. Разница 30-50% между бэктестом и форвардом — это норма; больше 70% — почти гарантированный overfitting.

Сколько сделок нужно для расчёта profit factor?

Минимум 100, лучше 200+. На выборках меньше 50 любой PF — это статистический шум, на котором делать выводы нельзя. Чем длиннее средняя сделка (свинг vs скальп), тем дольше копится надёжная выборка — для свингера это месяцы или годы.

Как правильно учитывать комиссии при расчёте PF?

Каждую сделку записывать в журнал с чистым P&L: цена выхода − цена входа − комиссия за вход − комиссия за выход. Если используешь Excel или дневник — делай отдельный столбец «комиссии» и вычитай. PF на грязном P&L — это маркетинг, на чистом — реальность твоего счёта.

Что важнее — PF или win rate?

PF важнее. Win rate показывает только частоту угадываний; PF — соотношение размеров выигрышей и убытков. Стратегия с win rate 30% и PF 1.8 (большие плюсы, маленькие минусы) лучше стратегии с win rate 70% и PF 0.95 (много мелких плюсов, редкие большие минусы). Подробное сравнение с примерами есть в статье про PF.

Можно ли по PF предсказать будущую доходность?

Только косвенно, и только на out-of-sample выборке. Если стратегия показывает стабильный PF 1.4 на нескольких годовых окнах — есть основания ожидать похожего результата в будущем при сходных рыночных условиях. Но рынок меняется, и стратегия с историческим PF 1.4 может выдать 0.9 в новом режиме. PF — это описание прошлого, не гарантия будущего.


Quantra считает profit factor на чистом P&L с учётом комиссий, отдельно по типам стратегий и тегам, на скользящих окнах 30/90/365 дней. Видишь, на каких сетапах PF реально стабилен, а где — статистическая иллюзия.

ПоделитьсяTelegramVK
Была ли статья полезна?
Рассылка

Новые статьи — раз в неделю на почту

Короткий дайджест свежих разборов про облигации, поведение трейдера и метрики стратегии. Одно письмо в неделю, отписаться можно в один клик.