PnL Projection Calculator 자동매매 엔진 로직 기반 예상 수익 계산기 ← Portal

Inputs

평균 수익률/손실률은 배팅금 대비 순(net) 트레이드 수익률로 간주합니다 — 백테스트에서 도출된 값이라면 0.1% 수수료가 이미 반영된 것이므로 계산기에서 별도 차감하지 않습니다.

엔진은 항상 최대 N개 포지션을 동일 자본 스냅샷에서 동시에 사이징하므로, 본 계산기는 라운드 기반(N-코호트) 근사 모델을 사용합니다.

유휴 비중 r은 "동시 100% 진입 회피"용 안정성 다이얼입니다. 배팅액 = floor(min(maxPos, C·(1−r) / N)). 목표 자본은 "이 금액까지 몇 거래 걸리나?"를 측정하는 기준선이며 시뮬레이션 자체는 항상 T번까지 돌려 분포를 만듭니다.

개념 설명 & 계산 방법

처음 보면 용어가 낯설 수 있습니다. 궁금한 항목을 펼쳐서 확인하세요.
이 계산기는 무엇을 계산하나요?

자동매매 봇이 거래를 N번 했을 때 자본이 얼마가 될지를 추정합니다. 미래는 알 수 없으므로 두 가지 방식으로 동시에 보여줍니다.

  • 결정론(Deterministic) 복리 곡선 — 매 거래가 "평균대로" 흘러갔다고 가정한 단 하나의 예상 경로입니다. 가장 중심이 되는 시나리오.
  • 몬테카를로(Monte Carlo) 분포 — 승/패를 입력한 승률대로 주사위 굴리듯 무작위로 수천 번 시뮬레이션합니다. 운에 따라 결과가 어디까지 좋아지고 나빠질 수 있는지 범위(분포)를 보여줍니다.

즉 결정론은 "평균적으로 이 정도", 몬테카를로는 "운에 따라 이 범위 안"을 말해 줍니다.

입력값은 무엇을 의미하나요?
  • 초기 자본 — 시작할 때 가진 돈(USD).
  • 동시 포지션 수 N — 봇이 한 번에 동시에 들고 있는 최대 포지션(매수 종목) 개수. 봇은 자본을 N등분해 각 포지션에 나눠 넣습니다.
  • 토큰당 최소 / 최대 — 포지션 하나에 넣는 금액의 하한과 상한. 자본이 너무 적어 최소 금액도 못 채우면 봇은 거래를 멈춥니다.
  • 승률 — 전체 거래 중 이익으로 끝난 거래의 비율(%).
  • 평균 수익률 / 손실률 — 이긴 거래의 평균 수익(%)과 진 거래의 평균 손실(%). 배팅금 대비 비율입니다 (예: 평균 수익률 18% = 100만원을 걸어 이기면 평균 18만원 이익).
  • 투영할 총 거래 횟수 T — 몇 번 거래할지.
  • 몬테카를로 시뮬레이션 수 — 무작위 시뮬레이션을 몇 번 돌릴지. 많을수록 분포가 안정적이지만 계산이 느려집니다.
  • 파산 임계값 — 자본이 초기 대비 이 % 아래로 떨어진 적이 있으면 "사용자 파산"으로 집계합니다.
핵심 계산 공식 (엔진 로직 그대로)

1. 한 포지션에 거는 금액 (배팅액)

배팅액 = floor( min( 토큰당최대, 현재자본 ÷ N ) )

자본을 N등분하되, 토큰당 최대 금액을 넘지 않습니다. floor는 소수점 이하를 버린다는 뜻입니다 (실제 엔진과 동일).

2. 거래 중단 조건 — 배팅액이 토큰당 최소보다 작으면 봇은 더 이상 진입하지 않습니다 ("엔진 파산").

3. 복리 — 거래 결과(이익/손실)가 자본에 반영되고, 다음 거래의 배팅액은 달라진 자본을 기준으로 다시 계산됩니다. 자본이 불어나면 배팅도 커지고, 줄면 배팅도 작아집니다.

4. 트레이드당 기대값 E — 거래 1건의 평균적인 수익률입니다.

E = 승률 × 평균수익률 − (1 − 승률) × 평균손실률

이 값이 양수면 장기적으로 이익, 음수면 장기적으로 손실 구조입니다.

라운드 기반 근사 — 봇은 N개 포지션을 동시에 들고 있으므로, "N개를 같은 자본에서 진입 → 모두 청산 → 자본 갱신"을 한 라운드로 묶어 계산합니다.

요약(Summary) 카드 읽는 법
  • 결정론 최종 자본 — 평균대로 갔을 때 T번 거래 후 예상 자본.
  • MC 중앙값 최종 자본 — 시뮬레이션 결과를 줄세웠을 때 정중앙(p50) 값. "절반은 이보다 좋고 절반은 이보다 나쁘다"는 뜻.
  • 트레이드당 기대값 — 위의 E. 거래 1건당 평균 수익률.
  • 엔진 파산율 — 시뮬레이션 중 자본이 너무 줄어 봇이 거래를 멈춰버린 비율. 0%가 이상적.
  • 사용자 파산율 — 자본이 설정한 파산 임계값 아래로 떨어진 시뮬레이션 비율.
  • 최대 드로다운(MDD) — 고점 대비 자본이 가장 크게 빠진 낙폭(%). 중앙값과 최악(p95, 운 나쁜 경우)을 함께 표시. 작을수록 안정적.
Equity Curve 차트 읽는 법

가로축은 누적 거래 횟수입니다. 차트는 위·아래 두 칸으로 나뉘고 가로축을 공유합니다.

위 칸 — 자본 (USD)

  • 초록 실선 — 결정론 복리: 평균대로 갔을 때의 자본 경로.
  • 파란 점선 — MC 중앙값(p50): 시뮬레이션 결과의 한가운데.
  • 진한 파랑 띠 — p25~p75: 시뮬레이션의 가운데 50%가 이 안에 들어옵니다.
  • 옅은 파랑 띠 — p5~p95: 시뮬레이션의 90%가 이 안에 들어옵니다 (양쪽 극단 5%씩만 벗어남).
  • 노란 점선: 목표 자본. 초록 다이아몬드는 결정론이 처음 목표를 넘는 시점.

띠가 넓을수록 결과의 불확실성(운의 영향)이 크다는 의미입니다.

아래 칸 — 토큰당 베팅 (USD)

  • 같은 시점에 봇이 1포지션에 거는 금액. 공식: floor(min(maxPos, C·(1−r)/N)).
  • 자본이 늘면 베팅도 같이 증가 → 어느 시점부터 노란 점선 maxPos에 막혀 평탄해집니다 (cap binding 구간).
  • 빨간 점선 minPos에 근접하면 곧 엔진이 정지(파산)할 위험.
  • 파란 띠는 MC 베팅의 p25~p75, 초록은 결정론 베팅. 자본 띠와 같은 모양이지만 cap 도달 후 평탄해지는 점이 핵심.

이 서브차트는 유휴 비중 r을 바꿀 때 베팅 곡선이 어떻게 통째로 아래로 내려가는지, 그리고 cap에 도달하는 시점이 어떻게 미뤄지는지를 한눈에 보여줍니다.

표준 지표(Standard Metrics) 설명
  • Expectancy (기대값) — 거래 1건당 기대 수익률. 양수여야 장기적으로 돈을 법니다.
  • Profit Factor — 기대 총이익 ÷ 기대 총손실. 1보다 크면 수익 구조, 보통 1.5 이상이면 양호, 2 이상이면 우수.
  • Payoff Ratio (손익비) — 평균 수익 ÷ 평균 손실. 1.5면 "이길 때 버는 게 질 때 잃는 것의 1.5배".
  • 손익분기 승률 — 딱 본전이 되는 승률. 입력 승률이 이 값보다 높아야 이익이 납니다. 옆의 괄호는 입력 승률이 이보다 얼마나 높은지(여유).
  • Kelly 최적 비율 — 수학적으로 장기 자본 성장이 가장 빠른 이론상 베팅 비율(자본 대비 %). 단, 변동성이 매우 큽니다.
  • 실제 사이징 비율 (1/N) — 봇이 실제로 거는 비율. Kelly보다 작으면 보수적(안전하지만 성장 느림), 크면 과대 베팅(파산 위험).
몬테카를로 분포표 설명

수천 번의 시뮬레이션 최종 자본을 작은 값부터 줄세운 뒤 위치별로 뽑은 값입니다.

  • p5 — 하위 5% 지점. 운이 나빴을 때 이 정도.
  • p25 — 하위 25% 지점.
  • p50 (중앙값) — 정중앙. 가장 대표적인 결과.
  • p75 — 상위 25% 지점.
  • p95 — 상위 5% 지점. 운이 좋았을 때 이 정도.

p5와 p95의 간격이 넓을수록 결과가 운에 크게 좌우된다는 뜻입니다.

유휴 비중 r — 무엇이고, N과 어떻게 다른가

유휴 비중 r은 "총 자본 중 항상 USD 현금으로 남겨둘 비율"입니다. 예: r=20%이면 봇은 자본의 80%만 사용해서 N개 포지션에 나눠 넣고, 나머지 20%는 항상 현금으로 둡니다.

목적은 운영 안정성입니다 — 동시 100% 진입 상태를 피해 다음과 같은 상황의 여력을 확보합니다.

  • 긴급 수동 손절 / 추가 진입 자금
  • 거래소 일시 정지·인출 지연 대비
  • 수수료·슬리피지 흡수 버퍼

N 키우기와 무엇이 다른가? 곡선의 모양만 보면 r을 키우는 것 ≈ N을 키우는 것입니다. 그러나 의미가 다릅니다.

  • N은 "동시에 보유할 종목 수" — 분산도 의도로 고정해야 하는 경우가 많음.
  • r은 "안정성 vs 속도 다이얼" — 분산도는 그대로 두고 노출 강도만 조절.
  • granularity: N은 정수(25%·20%·16.7%…), r은 임의 %.
  • maxPos가 binding되는 구간에선 N을 키워도 비율 효과가 사라지지만, r은 항상 일정.

실제 엔진은 r을 직접 받지 않습니다 (현재 PositionPoolConfig는 max parallel / min·max per-position만 받음). 따라서 본 계산기는 "r을 두면 시간 얼마나 더 걸리는가"를 사전 시뮬레이션 하는 용도입니다. r=20%가 합리적 비용으로 판단되면, 현 NAV 기준 maxPos = NAV·(1−r)/N으로 정적 캡을 걸어 운영하거나, 엔진에 reserve_ratio 필드를 추가해 자동 스케일링하면 됩니다.

목표 자본 & 도달 거래수 해석법

목표 자본은 "이 금액까지 몇 거래 걸리나?"를 측정하기 위한 기준선입니다. 시뮬레이션 자체는 항상 입력한 T번까지 끝까지 돌고, 자본이 처음으로 목표를 넘는 시점만 따로 기록합니다.

  • 결정론 도달 거래수 — 평균대로 갔을 때 목표 도달 시점. "미도달"이면 T를 늘리거나 기대값 개선이 필요.
  • MC 중앙값 도달 거래수 — 도달한 sim들의 도달 시점 중앙값. "절반은 이보다 빠르게 도달, 절반은 더 늦게"라는 뜻.
  • 도달률 — T번 거래 안에 목표를 한 번이라도 찍은 sim 비율. 50% 미만이면 T가 짧거나 목표가 공격적이라는 신호.

분포표 읽는 법: p25/p50/p75/p95는 도달한 sim만 모아 줄세운 값입니다 (미도달 sim은 별도 행에 카운트만 표시). p25는 운 좋은 25%가 이 정도에 도달, p95는 가장 운 나쁜 5%도 이 정도에는 도달했다는 의미.

r과 함께 보는 법: r=0%로 한번 계산 → r=10%, 20%, 30%로 바꿔가며 같은 목표·N에서 도달 거래수가 얼마나 늘어나는지 비교하세요. "안정성 대가가 도달 +X% 거래"라는 정량 답이 나옵니다.

이 모델의 가정과 한계
  • 모든 거래의 수익률/손실률을 고정된 평균값으로 가정합니다. 실제로는 거래마다 수익률이 제각각이므로 실제 변동성은 이보다 클 수 있습니다.
  • 승/패가 서로 독립이라고 가정합니다(연승·연패 군집 효과 미반영).
  • 0.1% 거래 수수료는 입력한 평균 수익률/손실률에 이미 반영된 순(net) 값으로 간주합니다 — 따로 빼지 않습니다.
  • 봇은 실제로 포지션을 연속적으로 여닫지만, 계산은 N개를 묶은 라운드 단위 근사를 사용합니다.

따라서 결과는 정확한 예측이 아니라 입력 가정에 따른 추정으로 받아들이세요.

Summary

평균대로 갔을 때(결정론)와 운에 따른 범위(몬테카를로)를 한눈에 요약합니다.

Equity Curve — 자본 곡선 + 토큰당 베팅금액

위: 자본 변화. 아래: 같은 시점의 토큰당 베팅금액(자본이 늘면 같이 증가하다가 maxPos에 막혀 평탄해짐). 자세한 설명은 위 도움말의 "Equity Curve 차트 읽는 법" 참고.

Time to Target — 목표 자본까지 걸리는 거래 수

유휴 비중 r을 조정해 가며 "안정성을 얻는 대가로 목표까지 얼마나 더 걸리는가"를 비교하세요.

Standard Metrics

전략의 수익 구조와 베팅 적정성을 평가하는 표준 지표입니다. 각 지표 의미는 위 도움말 참고.

Monte Carlo — 최종 자본 분포

시뮬레이션 최종 자본을 줄세운 위치별 값입니다. p5는 운이 나쁜 경우, p95는 운이 좋은 경우.