NOONOO TRADING봇에서 시작하기

프로핏 팩터의 표본 오차: PF 숫자 하나로 전략을 판단하면 안 되는 이유

백테스트 요약표에서 가장 눈에 띄는 숫자는 프로핏 팩터(총이익 ÷ 총손실)입니다. 1.5라고 적혀 있으면 번 돈이 잃은 돈의 1.5배라는 뜻이라 안정적으로 보입니다. 그러나 이 값은 거래 수가 적을 때 크게 흔들리는 추정치입니다. 큰 이익 한 건, 연속된 손실 몇 건만 달라져도 값이 바뀝니다. 이 글은 PF에 붙는 표본 오차를 직접 계산하고, 신뢰구간이 1을 포함하는 경우를 어떻게 읽는지, 몇 건이 있어야 PF 1.5를 믿을 수 있는지를 다룹니다. 본문 숫자는 계산 구조를 보여주기 위한 가정 예시입니다.

1. PF는 비율이라 오차가 두 겹이다

프로핏 팩터는 총이익을 총손실로 나눈 값입니다. 분자와 분모가 모두 표본에서 나온 합계이므로 오차가 양쪽에서 들어옵니다. 게다가 이긴 거래의 수 자체도 우연에 따라 달라집니다. 같은 전략을 같은 시장에서 100건 더 돌려도 이긴 횟수가 48건일 수도, 55건일 수도 있습니다.

오차가 들어오는 세 경로
· 이긴 횟수: 승률 50%, 100건이면 이긴 횟수의 표준편차는 √(100 × 0.5 × 0.5) = 5건
· 이익 크기: 이긴 거래마다 이익이 다르고, 이익 분포는 오른쪽으로 길게 늘어지는 경우가 많습니다(팻테일 분포)
· 손실 크기: 손절 폭이 고정이어도 슬리피지와 갭 때문에 손실 크기가 일정하지 않습니다

2. 기준 예시 — 100건, PF 1.5

가정
· 총 100건, 이긴 거래 50건, 진 거래 50건
· 이긴 거래 평균 +1.5%, 표준편차 1.2%
· 진 거래 평균 −1.0%, 표준편차 0.4%
· 총이익 = 50 × 1.5 = 75, 총손실 = 50 × 1.0 = 50
· PF = 75 ÷ 50 = 1.50

이 숫자가 얼마나 흔들리는지 로그 PF를 이용해 계산합니다. 비율은 로그를 취하면 차로 바뀌어 오차를 더하기 쉽습니다. ln PF = ln(총이익) − ln(총손실)이고, 각 합계의 상대 오차는 표준편차 ÷ (평균 × √건수)입니다.

크기 오차만 먼저 (이긴·진 횟수를 50/50으로 고정)
· 이익 합계 상대 오차 = 1.2 ÷ (1.5 × √50) = 1.2 ÷ 10.61 ≈ 0.113
· 손실 합계 상대 오차 = 0.4 ÷ (1.0 × √50) = 0.4 ÷ 7.07 ≈ 0.057
· ln PF의 표준오차 = √(0.113² + 0.057²) ≈ 0.127
· 95% 구간: ln 1.5 ± 1.96 × 0.127 → 1.5 × e^(±0.248) = 약 1.17 ~ 1.92

3. 이긴 횟수의 흔들림을 더하면

위 계산은 이긴 횟수가 정확히 50건이라고 둔 것입니다. 실제로는 횟수도 흔들리므로 이를 추가합니다. 이긴 횟수 W가 50±5일 때 ln(W ÷ L)의 표준오차는 약 5 × (1/50 + 1/50) = 0.20입니다.

횟수 오차까지 합산
· 전체 표준오차 = √(0.127² + 0.20²) = √(0.0160 + 0.0400) ≈ 0.237
· 95% 구간: 1.5 × e^(±1.96 × 0.237) = 1.5 × e^(±0.464)
· 하한 = 1.5 × 0.629 ≈ 0.94, 상한 = 1.5 × 1.590 ≈ 2.39

구간이 0.94~2.39로 1을 포함합니다. 100건에서 얻은 PF 1.5는 "이 전략이 손실을 내지 않는다"를 통계적으로 보여주지 못합니다. 승률 쪽만 따로 보는 방법은 승률 윌슨 신뢰구간에 정리되어 있습니다.

4. 거래 한두 건에 대한 민감도

구간 계산 없이도 PF가 얼마나 약한지 확인하는 간단한 방법이 있습니다. 거래를 몇 건 바꿔 보는 것입니다.

같은 100건에서 한두 건만 바꿔 본 결과
· 원래: 총이익 75, 총손실 50 → PF 1.50
· 이긴 거래 한 건이 진 거래로 바뀜(49승 51패, 손실 51): 73.5 ÷ 51 = 1.44
· 가장 큰 이익 +6.0% 한 건을 제외(49건, 총이익 69): 69 ÷ 50 = 1.38
· 가장 큰 이익 한 건 제외 + 한 건이 진 거래로 바뀜: (69 − 1.5) ÷ 51 ≈ 1.32

거래 한두 건이 PF를 0.1~0.2 움직입니다. 최고 이익 한 건을 빼고도 1을 충분히 넘는지가 첫 번째 점검입니다. 이 점검에서 PF가 1.0 부근으로 내려오면 전략의 수익이 한 번의 큰 움직임에 의존한다는 뜻입니다.

5. PF 하한이 1을 넘으려면 몇 건이 필요한가

표준오차는 건수의 제곱근에 반비례합니다. 위 예시에서 ln PF의 분산은 100건일 때 0.056(=0.237²)이므로 n건에서는 0.056 × 100 ÷ n입니다. 95% 구간의 하한이 1 위에 있으려면 1.96 × 표준오차 < ln 1.5 = 0.4055, 즉 표준오차가 0.207보다 작아야 합니다.

필요한 거래 수
· 분산 조건: 5.6 ÷ n < 0.207² = 0.0428 → n > 5.6 ÷ 0.0428 ≈ 131건
· 400건일 때: 표준오차 = 0.237 ÷ 2 = 0.118 → 구간 = 1.5 × e^(±0.232) = 약 1.19 ~ 1.89
· 즉 같은 성과가 유지된다는 가정에서 약 130건 이상이어야 하한이 1을 넘고, 400건이면 구간이 절반 정도로 좁아집니다

PF가 1.5가 아니라 1.2라면 필요한 건수는 훨씬 늘어납니다. ln 1.2 = 0.182이므로 표준오차가 0.093보다 작아야 하고, 5.6 ÷ n < 0.0087 → n > 약 650건입니다. 엣지가 작을수록 확인에 필요한 표본이 급격히 늘어납니다. 일반적인 표본 수 기준은 거래 표본 크기를 참고하세요.

6. 독립이 아니면 더 넓어진다

위 계산은 거래가 서로 독립이라는 가정 위에 있습니다. 같은 날 여러 코인에 동시에 들어간 거래는 함께 이기고 함께 집니다. 이 경우 실제 구간은 더 넓어집니다. 예를 들어 설계 효과(DEFF)가 3이면 표준오차에 √3 ≈ 1.73을 곱해야 하고, 위 100건 예시의 표준오차는 0.237 → 0.410, 구간은 1.5 × e^(±0.804) = 약 0.67~3.35까지 벌어집니다. 설계 효과를 구하는 방법은 상관된 거래의 유효 표본 크기에 있습니다.

7. 수수료를 넣으면 PF가 먼저 내려간다

PF는 수수료 포함 여부에 따라 값이 달라집니다. 수수료는 이긴 거래의 이익을 줄이고 진 거래의 손실을 키우므로 분자와 분모에 동시에 불리하게 작용합니다.

예시 — 왕복 수수료 0.1%를 100건에 모두 적용
· 이긴 50건: 이익이 건당 0.1%p 줄어 총이익 = 75 − 5 = 70
· 진 50건: 손실이 건당 0.1%p 커져 총손실 = 50 + 5 = 55
· 순 PF = 70 ÷ 55 = 1.27 (수수료 전 1.50)

거래당 평균 이익이 작은 단타일수록 이 차이가 큽니다. 손익분기 승률이 어떻게 올라가는지는 수수료 포함 손익분기 승률을 보세요. 보고서를 볼 때는 PF가 수수료 전인지 후인지부터 확인합니다.

8. 점검 목록

· PF와 함께 거래 수, 이긴·진 거래 수를 같이 적었는가
· 로그 PF 표준오차나 부트스트랩으로 95% 구간을 계산했는가
· 가장 큰 이익 한 건을 빼도 PF가 1을 충분히 넘는가
· 구간 하한이 1 이상이 되는 거래 수를 확보했는가
· 거래가 서로 묶여 있으면 유효 표본으로 다시 계산했는가
· PF가 수수료·슬리피지를 반영한 값인가
· 최대 낙폭과 파산 확률도 같이 봤는가
· 기대값 기준의 보조 지표로 R 배수 기대값을 같이 확인했는가

정리

프로핏 팩터는 표본에서 나온 비율 추정치이고, 거래 100건 규모에서는 PF 1.5의 95% 구간이 약 0.94~2.39로 1을 포함합니다. 큰 이익 한 건만 빼도 1.38로 내려가며, 하한이 1을 넘으려면 같은 성과 기준으로 약 131건 이상이 필요합니다. 거래가 서로 묶여 있거나 수수료를 넣으면 값은 더 내려가고 구간은 더 넓어집니다. PF를 볼 때는 숫자 하나가 아니라 거래 수, 구간, 상위 거래 제외 결과를 함께 봅니다.

주의

본문의 수익률, 승률, 표준편차, 수수료는 계산 구조를 보여주기 위한 가정 예시이며 특정 개인·계좌·전략의 실제 성과가 아닙니다. 구간 계산은 근사식이고, 실제 거래 분포가 치우쳐 있으면 부트스트랩 같은 방법으로 확인해야 합니다. 이 글은 교육 정보이며 특정 자산의 매매 권유가 아닙니다. 코인 선물 거래는 원금 손실 위험이 크고, 투자 판단과 그 결과는 본인 책임입니다.

NOONOO TRADING 무료 채팅방에서 실시간 트레이딩을 같이 보세요.

봇에서 시작하기

📈 OKX 신규 가입 시 거래 수수료 할인

OKX 수수료 할인 가입 →