분류
성과
난이도
중급
사용 상황
EA 평가백테스트

연평균 성장률(CAGR)

CAGR는 복리를 반영해 여러 해에 걸친 수익률을 연 단위로 환산한 값으로, 길이가 서로 다른 백테스트의 결과를 같은 기준으로 맞춰 서로 다른 기간에 검증한 두 전략을 비교할 수 있게 해준다.

다른 표현: CAGR, 연환산 수익률, 연평균 성장률

업데이트일

쉽게 말하면

계좌가 해마다 똑같은 비율로 불어나 정확히 지금 자리에서 끝났다면, 그 연간 비율은 몇 퍼센트였을까. 이는 평탄하게 고른 평균일 뿐, 전략이 실제로 지나온 어느 한 해를 설명하는 값이 아니다.

왜 중요한가

총수익은 그것이 얼마나 걸렸는지 알기 전까지 아무 의미가 없는데, 백테스트 기간은 거의 언제나 제각각이다. CAGR는 두 결과를 비교 가능하게 만드는 환산이자, 두 끝점 사이의 여정이 얼마나 울퉁불퉁했는지를 가려버리는 환산이기도 하다.

  • 검증 기간을 비교에서 걷어낸다. 10년에 걸친 100% 수익과 3년에 걸친 100% 수익은 다른 상품이며, 어느 쪽이 어느 쪽인지는 연환산 수치만이 말해준다.
  • 최대 드로다운과 짝을 이루는 것이 자연스럽다. 연간 수익을 최악의 하락으로 나눈 값은 가장 거친 위험조정 판단이며, 두 숫자가 같은 구간에서 나와야 한다.
  • 짧은 구간을 쓴 마케팅을 드러낸다. 9개월 검증에서 뽑은 퍼센트를 인용하는 사람은 연환산하면 대개 줄어들 숫자를 인용하는 셈이다. 좋았던 구간이 1년보다 짧은 기간으로 나뉘기 때문이다.
  • 대부분의 리테일 EA가 하지 않는 복리를 전제한다. 고정 랏 EA는 잔고를 직선으로 불리므로, 실제 곡선과 CAGR는 서로 다른 계좌를 설명한다.

계산 방법

CAGR = (종료 잔고 ÷ 시작 잔고)^(1 ÷ 연수) − 1
시작 잔고
검증 구간 첫 봉에서의 계좌 잔고. 테스터의 초기 입금액이며, 첫 수익 거래 이후의 잔고가 아니다.
종료 잔고
같은 구간의 마지막 청산 거래 시점 잔고. 미결제 포지션은 제외한다. 자산과 잔고는 다르며, CAGR는 관례상 잔고 기준으로 계산한다.
연수
해당 구간의 경과 달력 시간을 소수로 나타낸 값. 일수 ÷ 365.25면 실무상 어떤 용도로도 충분하다.

지수는 표본이 실제로 포괄하는 연수이며 소수점까지 포함한다. 2019-01-01부터 2026-04-01까지의 실행은 7년이 아니라 7.25년이다. 정수 연수로 계산하면 수치가 부풀려진다. 두 잔고는 같은 통화여야 하고 같은 실행에서 나와야 한다. 백테스트에 포워드 기록을 이어 붙이면 둘 중 어느 것도 설명하지 못하는 숫자가 나온다.

어느 정도면 높고 낮은가

  • 5% 미만 무위험 수익률보다 낮다 — 감수한 위험이 아무것도 사지 못했다
  • 5–15% 소박하지만 얕은 드로다운 옆이라면 변호할 수 있다
  • 15–35% 비용을 현실적으로 반영한 신뢰할 만한 리테일 EA가 성장에 맞춰 사이징되었을 때 도달하는 구간
  • 35–80% 설명이 필요하다 — 랏 크기, 레버리지, 그리고 검증이 복리였는지 확인할 것
  • 80% 초과 거의 항상 복리이거나 과최적화이거나 둘 다다. 포워드 테스트가 재현하기 전까지는 미검증으로 취급할 것

함께 봐야 할 지표

숫자 하나로 전략을 설명할 수 없습니다. 다음 지표들이 이 숫자의 해석을 바꿉니다.

예시

어느 EA를 10,000달러 입금액으로 검증했더니 18,000달러로 실행을 마쳤다. 구간은 정확히 5년이다. CAGR가 답하는 질문은, 어떤 일정한 연간 비율이 그와 똑같은 종료 잔고를 만들어냈겠는가 하는 것이다.

시작 잔고
10,000달러
종료 잔고
18,000달러
총 +80% — 그러나 총액은 걸린 시간으로 나누기 전까지 아무것도 말해주지 않는다.
구간 길이
5.00년
CAGR
12.5%

똑같은 8,000달러 수익을 10년에 걸쳐 냈다면 CAGR는 6.1%가 된다. 이익은 동일하지만 전혀 다른 전략을 설명하는 숫자다.

계산 (18,000 ÷ 10,000)^(1 ÷ 5) − 1 = 1.8^0.2 − 1 = 0.125

결과 연평균 성장률 12.5%

해석하는 법

CAGR는 두 끝점과 기간 하나를 요약한 값이다. 그 사이에 벌어진 일은 전부 다른 숫자에서 읽어야 하므로, 결코 단독으로 인용하지 말 것.

구간 의미
1년 미만 구간 온전하지 않은 한 해를 연환산하면 표본이 우연히 낸 결과가 그대로 증폭된다. 넉 달의 좋은 흐름이 전략이 한 번도 유지하지 못한 수치로 외삽된다.
1년에서 3년 읽을 만하지만 시장 국면 하나만 담고 있을 가능성이 크다. 다른 국면이 표본에 들어오는 순간 수치가 움직일 것을 예상해야 한다.
비용을 포함한 5년 이상 인용할 가치가 있는 구간. 국면을 둘 이상 담고 비용이 정직하게 쌓일 만큼 길다.
같은 실행의 드로다운 없이 인용된 경우 구조적으로 불완전하다. 드로다운 15% 옆의 CAGR 30%와 드로다운 55% 옆의 CAGR 30%는 비교 가능한 주장이 아니다.
  • 두 EA를 비교하기 전에 CAGR를 최대 드로다운으로 나눠 보라. 그 비율은 고통 한 단위가 수익을 얼마나 사들였는지를 답해주며, 이는 맨 퍼센트로는 알 수 없다.
  • 검증이 복리였는지 확인하고, 오차가 어느 방향인지도 함께 보라. 고정 랏 계좌는 직선으로 자라며, 여러 해에 걸친 구간에서는 복리 공식이 소박한 연 단위 수치보다 위가 아니라 아래에 놓인다. 여기 공개한 열네 건의 실행에서 열네 건 모두 더 낮았다. lattice-weave는 7.16년 동안 99.4%를 벌었는데, 이는 연 13.9%의 입금액에 해당하지만 CAGR로는 10.12%다. 둘 다 계좌가 실제로 겪은 한 해가 아니다. 랏이 일정하면 같은 달러 수익이라도 작은 잔고에서는 더 큰 몫이고 불어난 잔고에서는 더 작은 몫이 된다.
  • 인용된 수치를 믿는 대신 직접 다시 계산하라. 시작 잔고, 종료 잔고, 구간 길이 이렇게 세 숫자면 되고, 계산은 몇 초면 끝나며 헤드라인과 어긋나는 일이 잦다.
  • 음수 CAGR도 산술적으로 멀쩡하며 읽을 가치가 있다. 계좌가 어떤 복리 속도로 파괴되었는지를 알려주므로 '백테스트가 손실이었다'보다 훨씬 유용하다.

mt5depot의 EA 페이지는 검증 구간을 시작일과 종료일과 함께 밝히고 전체 거래 원장을 공개하므로, 연환산 수치를 헤드라인에서 가져오는 대신 원본에서 다시 도출할 수 있다. 열네 건을 모두 다시 계산하면 0.48%에서 32.08%, 중앙값 4.0%가 나온다. 여덟은 5% 아래이고, 위 표의 15–35% 구간에 도달한 것은 정확히 하나다. 그 하나는 다른 실행과 똑같은 10,000 USD 입금액 위에서 0.1랏짜리 다리 스물넷을 동시에 열어 두는 바스켓이다. 그래서 이 구간은 전략에 대한 평결이 아니라 사이징에 대한 진술이 된다. 퍼센트가 따라가는 것은 우위의 질이 아니라 한 번에 얼마나 열려 있느냐다. 실행이 사용한 입금액 대 랏 비율과 함께 이 구간을 읽어야 하며, 그러지 않으면 우위가 아니라 자금 관리를 재는 셈이 된다.

흔한 오해

CAGR를 내년 예측으로 읽기

이는 하나의 역사적 경로를 평탄하게 고른 설명이다. 예외적인 한 해와 밋밋한 네 해로 만들어진 CAGR 20% 전략은 어느 한 해에도 20%를 낸 적이 없으며, 그 수치의 어떤 부분도 앞으로 낼 것이라 암시하지 않는다.

짧은 백테스트를 연환산하기

석 달을 1년으로 늘리면 우위와 운이 함께 네 배가 된다. 평범한 결과가 마케팅 숫자로 둔갑하는 가장 흔한 경로이며, 수치 옆에 구간 길이가 적히지 않는 한 눈에 띄지 않는다.

복리 CAGR와 고정 랏 결과를 비교하기

복리와 고정 랏은 동일한 거래 순서에서도 서로 다른 곡선을 만든다. 한쪽의 연환산 수치를 다른 쪽과 맞세우는 것은 전략이 아니라 자금 관리 설정에 점수를 주는 일이다.

그 수치를 계산한 입금액을 무시하기

퍼센트는 그것을 만들어낸 잔고에 대해서만 의미가 있다. 같은 EA를 같은 랏으로 1,000달러 계좌에서 돌리면 상대 위험은 열 배가 되며, 그 퍼센트 수익률은 같은 주장이 아니다.

자주 묻는 질문

MT5 EA의 CAGR는 어느 정도면 좋은가요?
비용을 현실적으로 반영한 여러 해짜리 검증에서 대략 15%에서 35% 정도면 리테일 EA로서 믿을 만한 범위입니다. 단, 같은 실행의 최대 드로다운이 함께 표기되어야 합니다. 80%를 넘는 수치는 지속적인 우위보다는 복리, 공격적인 랏 사이징, 과최적화된 구간에서 나오는 경우가 거의 전부입니다.
MetaTrader 5가 CAGR를 알려주나요?
아닙니다. 전략 테스터는 총 순이익과 드로다운, 여러 비율을 보여주지만 연환산 성장률은 제공하지 않습니다. 초기 입금액과 최종 잔고, 검증 구간의 길이로 직접 계산해야 합니다.
제 EA의 실제 연 수익률이 백테스트 CAGR보다 낮은 이유는 무엇인가요?
대개 백테스트는 복리로 돌았는데 실계좌는 그렇지 않거나, 스프레드와 수수료, 슬리피지를 지나치게 낙관적으로 잡았기 때문입니다. 두 경우 모두 종료 잔고를 낮추며, 공식의 지수 때문에 작은 감소도 연환산 수치에서 뚜렷하게 드러납니다.
CAGR와 연평균 수익률의 차이는 무엇인가요?
평균은 각 해의 수익률을 더해 햇수로 나누므로 결과의 순서를 무시합니다. CAGR는 기하 평균 성격의 비율이라 50% 손실을 회복하려면 100% 수익이 필요하다는 점을 반영하며, 그래서 수익률이 들쭉날쭉할 때는 언제나 산술 평균보다 낮게 나옵니다.

관련 글