수익률 옆에 붙은 기간부터 읽기

누적수익률·연평균수익률(CAGR) 차이와 계산법

처음 넣은 100만 원이 5년 뒤 150만 원이 됐습니다. 더 넣거나 꺼낸 돈이 없다면 번 돈은 50만 원입니다. 처음 금액의 50%가 늘어난 이 결과를 누적수익률이라고 합니다. 그렇다면 해마다 10%씩 번 것일까요? 다음 해에는 이미 불어난 돈에도 수익률이 적용되므로, 전체 비율을 5로 나눈 값과 해마다 같은 비율을 적용한 결과는 다릅니다.

· 게시: · 최종 수정:

ETF와 분산투자

5년 전체의 변화와 해마다 같은 비율을 구하는 계산

처음 한 번 돈을 넣고 끝까지 추가 입금이나 출금이 없는 가상 예제입니다. 주식을 가진 사람에게 회사가 나눠 주는 배당금처럼 중간에 받아 별도로 꺼내 쓴 돈도 없습니다. 세금과 수수료를 제외하고, 기간은 완결된 연 단위로 셉니다. 이런 조건이어야 처음과 마지막 금액만으로 아래 계산을 할 수 있습니다.

누적수익률은 처음 금액에 비해 마지막 금액이 얼마나 달라졌는지 나타냅니다. (마지막 금액 ÷ 처음 금액 − 1) × 100으로 구합니다. 처음 100만 원, 마지막 150만 원이면 (1,500,000 ÷ 1,000,000 − 1) × 100 = 50%입니다. 1년에 벌었는지 5년에 벌었는지는 이 숫자 하나에 드러나지 않습니다.

매년 똑같은 비율을 적용해 같은 마지막 금액에 도달하려면 그 비율은 얼마일까요? 그 답을 연복리 수익률, 또는 CAGR이라고 합니다. CAGR은 연평균 성장률이라는 영어 이름의 약자입니다. 복리는 매년 처음의 100만 원만 쓰는 대신 이전까지 늘거나 줄어든 잔액에 다음 비율을 적용하는 방식입니다.

처음과 마지막이 모두 플러스일 때 식은 CAGR = (마지막 금액 ÷ 처음 금액)^(1 ÷ 연수) − 1입니다. ^는 거듭제곱을 뜻하며, 전체 증가 배수를 해마다 곱할 같은 배수로 나누어 찾는 부분입니다. 끝에 100을 곱하면 %로 표시할 수 있습니다.

5년 예제에서는 (1.5^(1 ÷ 5) − 1) × 100 ≈ 8.45%입니다. 반올림 전 연율을 쓰면 1,000,000 × (1 + 연율)^5 = 1,500,000이 됩니다. 반대로 정말 매년 10%씩 5년 동안 불렸다면 1,000,000 × 1.1^5 = 1,610,510원입니다. 150만 원과는 110,510원 차이가 납니다.

자료에 ‘연평균수익률’이라고만 쓰여 있으면 계산 방법도 보세요. 매년의 비율을 더해 해 수로 나누는 단순한 평균을 산술평균이라고 합니다. 처음과 마지막 금액을 잇는 복리 연율인 CAGR과 다른 질문입니다. 이름만 보고 두 방식을 바꿔 쓰면 실제 마지막 금액과 맞지 않을 수 있습니다.

똑같이 50% 늘어도 1년과 5년의 연율은 다릅니다

100만 원이 150만 원이 된다는 금액은 같게 두고 걸린 시간만 바꿔 보겠습니다. 세 행은 각각 따로 시작하는 가정이며 추가 입출금은 없습니다. 같은 50% 증가를 1년 만에 얻었는지, 여러 해에 걸쳐 얻었는지에 따라 그 결과에 대응하는 매년의 같은 비율은 달라집니다.

작은 화면에서는 표 안을 좌우로 움직여 모든 열을 읽을 수 있습니다. 비율은 반올림 전 값으로 계산하고 소수 둘째 자리까지 표시했습니다.

추가 입출금 없이 100만 원이 150만 원이 되는 세 가지 기간, 금액 단위: 원
기간(년)처음 금액마지막 금액누적수익률CAGR
11,000,0001,500,00050.00%50.00%
31,000,0001,500,00050.00%14.47%
51,000,0001,500,00050.00%8.45%

세 경우 모두 50만 원을 벌었습니다. 차이는 그 결과를 얻는 데 걸린 시간입니다. 누적수익률만 나란히 놓으면 그 시간을 놓칠 수 있습니다.

CAGR은 걸린 시간을 연 단위로 맞춰 줍니다. 하지만 서로 다른 시기에 투자했다면 겪은 시장 상황과 조건까지 같아지지는 않습니다. 두 상품을 비교할 때는 가능하면 시작일과 종료일도 함께 맞춰야 합니다.

몇 달의 성과를 1년 단위로 바꿔 적을 수도 있습니다. 다만 3개월에 10% 오른 속도가 네 번 이어진다고 놓는 계산과 실제 1년 동안 그 결과를 얻은 일은 다릅니다. 이 글의 표는 그런 단기 환산을 하지 않았습니다. 실제 날짜로 계산할 때는 며칠을 1년으로 세는지 등 연수·일수 기준도 확인해야 합니다.

20%, −10%, 20%의 평균은 10%지만 CAGR은 약 9.03%입니다

가상의 투자금이 첫해 20% 오르고, 둘째 해 10% 내린 뒤 셋째 해 20% 올랐다고 합시다. 첫해 비율은 100만 원에 적용하지만 둘째 해 비율은 이미 늘어난 첫해 말 잔액에 적용합니다. 셋째 해도 직전 연말 금액으로 계산합니다. 그래서 연간 비율을 그냥 더한 값과 실제 잔액의 변화는 다릅니다.

추가 입출금 없는 가상 3년 경로, 금액 단위: 원
연도연초 금액그해 수익률연말 금액
11,000,00020.00%1,200,000
21,200,000−10.00%1,080,000
31,080,00020.00%1,296,000

연간 수익률의 산술평균은 (20 − 10 + 20) ÷ 3으로 10.00%입니다. 하지만 실제 금액의 증가 배수는 1.2 × 0.9 × 1.2 = 1.296이므로 누적수익률은 29.60%입니다. 이를 3년으로 연복리 환산한 CAGR은 9.03%입니다.

산술평균은 세 해의 비율이 평균 얼마였는지에 대한 올바른 답입니다. 하지만 해마다 계산에 쓰인 금액이 달랐다는 정보는 담지 않습니다. 그 평균을 같은 투자금에 해마다 곱하면 실제 마지막 금액이 나오지 않는 이유입니다. 처음과 끝 잔액을 같은 연율로 연결하고 싶다면 각 해의 증가·감소 배수를 곱하는 복리 계산이 필요합니다.

반대로 CAGR이 9.03%였다고 세 해 내내 계좌가 매년 9.03%씩 늘었던 것도 아닙니다. 표에는 손실을 본 해가 있습니다.

처음과 끝이 같은 다른 경로를 넣어도 CAGR은 같습니다. 중간 손실의 크기 같은 위험이나 급히 돈을 꺼내야 할 때의 가격까지 보여 주는 지표는 아닙니다. 일일 수익률이 이어지는 구조는 레버리지 ETF의 일일 재설정 글에서도 볼 수 있습니다.

100만 원이 110만 원이 됐어도 10만 원을 더 넣었다면 수익은 0원입니다

앞의 계산에는 추가 입출금이 없었습니다. 추가 입출금이 있으면 계좌 잔액의 증가를 그대로 투자수익으로 볼 수 없습니다. 아래 첫 행에서는 100만 원을 보유하다가, 가격 변동 없이 1년이 끝나는 바로 그 시점에 10만 원을 더 넣었습니다. 둘째 행은 추가 납입 없이 투자금 자체가 10% 오른 별개의 경우입니다.

같은 연말 110만 원, 서로 다른 돈의 출처, 금액 단위: 원
독립적인 경우처음 금액연말 추가 납입납입 후 잔액투자손익그해 투자수익률
시장 변동 없이 추가 납입1,000,000100,0001,100,00000.00%
추가 납입 없이 가격 상승1,000,00001,100,000100,00010.00%

첫 행의 투자손익은 1,100,000 − 1,000,000 − 100,000으로 0원, 투자수익률도 0.00%입니다. 마지막 잔액을 처음 금액으로만 나눠 얻는 10%는 이 경우 투자 성과가 아닙니다.

추가 입금 총액만 빼면 언제나 CAGR을 구할 수 있는 것은 아닙니다. 연초에 더 넣은 돈은 한 해 동안 가격 변화에 영향을 받지만 연말에 막 넣은 돈은 그렇지 않습니다. 실제로 여러 번 넣고 꺼낸 계좌라면 각각의 날짜와 금액을 알아야 잔액 증가와 투자 성과를 구별할 수 있습니다.

이때 쓰는 계산에도 두 질문이 있습니다. 시간가중수익률은 입출금 전후로 구간을 나누고 각 구간의 수익률을 이어, 입금 규모의 영향을 덜고 상품 자체가 어떻게 움직였는지 봅니다. 금액가중수익률은 내가 언제 얼마를 넣거나 꺼냈는지까지 반영해 내 돈의 성과를 봅니다. 둘은 서로 다른 답이므로 단순 CAGR로 대신하지 않습니다. 적립식 투자와 일시 투자 글에서는 돈을 나눠 넣는 시점의 차이를 별도 가상 가격으로 비교합니다.

손실의 연환산과 처음 금액이 0원인 경우

CAGR은 이익이 난 경우에만 쓰는 식이 아닙니다. 처음 100만 원이 추가 입출금 없이 2년 뒤 80만 원이 됐다면 누적수익률은 −20.00%입니다. 이를 두 해에 같은 비율로 나누어 적용하는 CAGR은 (0.8^(1 ÷ 2) − 1) × 100으로 −10.56%입니다. −20%를 2로 나눈 −10%와 다릅니다.

추가 입출금 없는 가상 2년 손실, 금액 단위: 원
독립적인 경우처음 금액마지막 금액기간(년)누적수익률CAGR
일부 손실1,000,000800,0002−20.00%−10.56%
전액 손실1,000,00002−100.00%−100.00%

처음 금액이 양수이고 마지막 금액이 0원이면 식의 결과는 −100%입니다. 이 역시 손실이 실제로 어느 해에 발생했는지는 말해 주지 않습니다.

처음 금액이 0원이면 애초에 증가 배수를 나눌 수 없습니다. 투자 기간도 0보다 커야 합니다.

빌린 돈이나 갚아야 할 금액까지 포함한 계좌에서 마지막에 남는 순자산이 음수가 된 경우는 이 단순 식의 범위를 벗어납니다. 순자산은 가진 것에서 갚을 것을 뺀 나머지입니다. 계산기가 특정 연수에 음수의 근을 계산해 주더라도 플러스 투자금에 해마다 같은 비율을 곱한다는 일반 CAGR 해석으로 읽으면 안 됩니다. 실제 입출금과 빚의 구조를 따로 살펴야 합니다.

연율을 비교할 때 맞춰야 할 배당과 비용

가격이 100에서 110이 됐다면 가격만으로 10이 늘었습니다. 가격은 그대로이고 회사나 펀드가 현금 10을 나눠 줬다면 돈이 들어온 곳이 다릅니다. 가격 변화만 본 것은 가격수익률, 나눠 받은 배당·분배금까지 넣은 것은 총수익률입니다. 받은 돈을 그때마다 다시 투자했다면 그 돈이 이후 늘거나 줄어든 결과도 마지막 금액에 포함해야 합니다.

반대로 배당을 계좌 밖으로 꺼냈다면 마지막 보유금액만으로 전체 수익을 계산할 수 없습니다. 여러 해에 걸쳐 꺼낸 배당금을 마지막 금액에 단순히 더하는 것만으로 재투자 총수익률이 되는 것도 아닙니다. 각 지급 시점과 이후 운용 조건이 빠져 있기 때문입니다. ETF 분배금과 총손익 글에서 지급과 재투자를 나누어 읽을 수 있습니다.

수수료·세금을 빼기 전후도 맞춰야 합니다. 외화 금액을 원화로 바꾸는 환율이 움직이면 외화 수익률과 원화 수익률은 다를 수 있습니다. 또 물가 변화를 빼지 않은 비율을 명목수익률이라고 합니다. 돈이 늘어난 비율이 같아도 물건값이 올랐다면 같은 돈으로 살 수 있는 양, 즉 구매력은 그만큼 늘지 않습니다. CAGR 자체가 배당·비용·환율·물가의 차이를 알아서 조정해 주는 것은 아닙니다.

마지막으로 CAGR은 과거의 시작과 끝을 압축한 숫자입니다. 높은 CAGR 옆에는 짧은 관측 기간이나 큰 중간 손실이 있을 수 있고, 좋은 기간만 잘라 보여 줄 수도 있습니다. 기간·입출금·배당·비용과 실제 연도별 기록을 함께 봐야 이 요약값의 의미가 분명해집니다. 과거의 연복리 수익률을 앞으로 받을 약정 금리처럼 읽지는 않아야 합니다.

예제의 가정

모든 금액·기간·연간 수익률은 설명을 위해 직접 만든 가상 사례이며 실제 상품의 성과나 전망이 아닙니다. 한글·영문은 같은 원화 금액을 사용합니다. 일반적인 누적 변화율과 복리 계산을 독립적으로 설명했으며 외부의 문장·도표·실제 기업 자료를 옮기지 않았습니다.

각 표는 독립적인 사례입니다. 연도별 경로 표만 세 해가 이어집니다. 추가 납입 표를 제외하면 중간 입출금은 없고, 별도 배당 지급·수수료·세금·환율·물가 변화도 없습니다. 연수는 완결된 연 단위이고, 반올림 전 값으로 계산한 뒤 수익률을 소수 둘째 자리까지 표시했습니다. 반올림된 연율을 다시 거듭제곱하면 끝 금액에 작은 차이가 날 수 있습니다. 편집·검증 기준을 따릅니다.

ETF와 분산투자 글 모아보기 →