시간에 흩어진 현금흐름의 값은 어떻게 매길까?
누군가는 10년 동안 매년 $100을 주겠다고 한다. 다른 누군가는 당장 $1,000을 주겠다고 한다. 어느 쪽이 더 값나갈까? “둘 다 $1,000 아닌가?”라는 순진한 답은 틀렸다. 이유는 하나다 — 1년 뒤의 $100은 오늘의 $100보다 작기 때문이다. 오늘 1달러를 굴렸다면 1년 뒤에는 그보다 더 많아졌을 테니까. 이 흐름을 거꾸로 돌리는 일 — 할인 — 이 미래 금액을 오늘의 등가물로 바꿔준다. 그렇게 할인된 금액을 모두 더하면 끝. 적분은 시간에 걸쳐 돈을 더한다. 할인은 더하기 전에 미래의 돈을 작게 만든다.
미래의 돈은 더하기 전에 할인되어야 한다.
미래 1달러는 오늘 1달러가 아니다
오늘 1달러를 이율 r로 굴려 1년 뒤에 이 된다면 (로그 모듈에서 본 연속 복리라면 ), 1년 뒤의 $1은 오늘 기준으로 과 같다. 이것이 가장 단순한 $1은 오늘 , t년 뒤의 $1은 오늘 .
이 곱셈 인자 — 또는 연속판 짝꿍인 — 가 바로 t가 커지면 작아지고 (시간이 길면 더 깎이고), r이 커지면 더 빠르게 작아진다 (이자율이 높을수록 더 가파르게 깎인다). 이 페이지 전체가 결국 곱셈 한 번과 합 한 번이다 — 미래 현금 × 할인계수를, 돈이 도착하는 모든 미래 시점에 걸쳐 합산.
이산 스트림 — 쿠폰, 급여, 월세
실제 $100씩, 급여는 격주마다, 월세는 매달. 각 조각의 현재가치를 따로 계산해서 다 더하면 된다 —
이율 r로 N년 동안 매년 일정 금액 C가 들어온다면, 이 등비급수의 합은 깔끔한 닫힌 형식이 된다 — . 하지만 개념 자체는 별것 아니다 — “하나씩 할인하고, 다 더한다.” 그 일은 스프레드시트가 알아서 해준다. 식은 종이에 쓰려고 만든 것일 뿐.
위젯에 $1/년 스트림이 나온다. r = 5%라면 처음 10년이 기여하는 PV가 약 $7.72. 다음 10년은 약 $4.74만 더 얹힌다 (훨씬 적다). 30년을 넘어가면 추가 지급은 거의 의미가 없다. 먼 미래의 돈은 할인되어 사라진다 — 모기지, 연금, 영구채처럼 긴 스트림을 평가할 때 핵심이 되는 사실이다.
import math
# Discrete: pay $C every year for N years, discount at rate r per year.
# PV = sum_{i=1..N} C / (1 + r)^i
def pv_discrete(C, r, N):
return sum(C / (1 + r)**i for i in range(1, N + 1))
# At r = 5%, $1/year for 10 years is worth less than $10 today.
[pv_discrete(1, 0.05, N) for N in (1, 5, 10, 20)]
# → [0.95, 4.33, 7.72, 12.46]
# Past 20 years, additional payments contribute almost nothing — distant
# money discounts away, no matter the cash flow's nominal size.연속복리 — 지수가 자리를 잡는다
지급 간격이 더 짧아지면 — 매월, 매일, 매초 — 이산 합은 연속 적분으로 넘어가고, 할인계수 는 로 매끄럽게 풀린다. 왜 하필 지수일까? 복리 빈도 n이 커질 때 에 로그를 씌워 보자 — , 따라서 . 로그 모듈의 항등식이 그대로 다시 등장한다 — 연속 성장과 연속 할인은 서로의 역연산이고, 둘 다 지수의 세계에 살고 있다.
연속 할인계수 는 n이 커지면 이산 계수와 일치한다. 다만 합을 구하기보다 적분하는 쪽이 훨씬 편하다 — 지수의 원시함수가 닫힌 형식이라서다 (적분 모듈 참고). 실제 상품(채권, 배당, 모기지)의 가격을 매길 때는 두 버전이 다 쓰인다. 어느 쪽을 쓸지는 지급이 덩어리로 들어오는지, 매끄럽게 흐르는지에 따라 갈린다.
# Continuous version: discount factor is e^(-r*t), which is what
# 'continuous compounding' gives in the limit of (1 + r/n)^(n*t) as n → ∞.
# Why exponential? log of (1 + r/n)^(n*t) = n*t * log(1 + r/n) → r*t,
# so (1 + r/n)^(n*t) → e^(r*t). The log module's identity surfaces here
# directly: continuous discount = inverse of continuous growth.
def discount_continuous(t, r):
return math.exp(-r * t)
[(t, round(discount_continuous(t, 0.05), 4)) for t in (0, 1, 5, 10, 30)]
# → [(0, 1.0), (1, 0.9512), (5, 0.7788), (10, 0.6065), (30, 0.2231)]
# 30 years out at 5% — a future dollar is worth ~22 cents today.연속 현금흐름 — 적분이 자리를 잡는다
현금흐름률 는 시간 부근의 작은 시간 조각 동안 달러가 들어온다는 뜻이다. [0, T] 구간의 미할인 합계는 적분 이 된다. 현재 가치를 구하려면, 각 조각이 도착하는 시점에 맞춰 먼저 할인한 뒤 더해야(적분해야) 한다 — 미래의 돈은 합쳐지기 전에 먼저 작아져야 한다 —
가장 단순한 경우, [0, T]에서 현금흐름률 c도 이율 r도 일정하다면, 적분은 닫힌 형식으로 떨어진다 — . 위젯이 이 면적을 그래프에 음영으로 칠해 보여준다. 과 를 끌어보면서 답이 어떻게 움직이는지 살펴보자. 양 끝의 두 극한이 흥미롭다. 이면 할인이 없으니 , 그냥 미할인 합계가 된다. 면 영구채가 되어 — 어떤 금융 교과서를 펴도 가장 먼저 마주치는 그 유명한 식이다.
# Continuous cash flow at rate c (dollars/year) over [0, T]:
# PV = ∫_0^T c · e^(-r*t) dt = (c/r) * (1 - e^(-r*T))
# For r → 0, the limit is c*T (no discount). For T → ∞, the limit is
# c/r — the perpetuity formula. Both are readable from the closed form.
def pv_continuous(c, r, T):
if abs(r) < 1e-9:
return c * T
return (c / r) * (1 - math.exp(-r * T))
# Compare a $1/year stream's PV under different (r, T):
[(r, T, round(pv_continuous(1, r, T), 2))
for r in (0.02, 0.05, 0.10) for T in (10, 30, 100)]
# → [(0.02, 10, 9.06), (0.02, 30, 22.55), (0.02, 100, 43.23),
# (0.05, 10, 7.87), (0.05, 30, 15.54), (0.05, 100, 19.87),
# (0.10, 10, 6.32), (0.10, 30, 9.50), (0.10, 100, 9.99)]
# At 10% the perpetuity limit is c/r = 10. At 100 years we're already
# at $9.99 — basically the limit. *5/r is roughly when extending
# matters less than the next decimal place.*5/r 규칙 — 먼 미래의 돈은 거의 의미 없음
닫힌 형식 안에는 금융에서 가장 쓸모 있는 경험칙 하나가 숨어 있다. 인자 는 , 즉 대략 에서 영구채 한계의 99%에 도달한다. 그래서 r = 10%라면 사실상 50년이면 영구채 한계에 닿고, r = 5%면 100년, r = 2%면 250년이 걸린다. 5/r을 넘어서면 기간을 더 늘려봐야 거의 보태지지 않는다.
영구채·부동산·국채 같은 무한 수명 평가가, 보험 적립금·기후 피해·다세대 프로젝트 같은 매우 긴 수명 평가와 흔히 쓰이는 할인율에서는 그리 차이 나지 않는 이유가 여기 있다. 미래의 돈은 현재가치로 환산하면 그렇게까지 값나가지 않는다. 세대 간 경제학 논쟁이 결국 세대마다 r이 달라야 하는가로 수렴하는 까닭도 그래서다 — “200년 뒤의 이익이 오늘로 치면 얼마인가?”라는 질문의 답은, c를 어떻게 잡는지가 아니라 거의 전적으로 r을 어떻게 잡는지에서 갈린다.
명목 총액이 같아도 현재가치는 천차만별이다. 세 가지 스트림, 모두 합계가 $120,000 — (a) 10년 동안 매달 $1,000; (b) 10년째에 한꺼번에 $120,000; (c) 오늘 한꺼번에 $120,000. 로 따져보면 — (c)의 PV는 $120,000, (a)는 $94,281, (b)는 $72,786이다. 같은 명목 총액에 가격은 세 가지. 돈의 시점이 액수만큼이나 중요하고, 할인율이 그 차이를 증폭시킨다. 로또 당첨자가 “$10M 당첨”이라고 들을 때, 그 숫자는 보통 20~30년에 걸쳐 분할 지급되는 미할인 합계다. 일시불 옵션은 언제나 그보다 작게 나온다. 로또가 속이는 게 아니라, 현재가치 계산이 정직한 것이다.
민감도 — r이 움직이면 PV는 얼마나 움직이는가
여기까지는 이 당신이 정한 수였다. 실제로는 움직이는 수다 — 중앙은행이 바꾸고, 시장이 다시 매기고, 당신의 관점이 바뀐다. 자연스럽게 따라오는 질문 — 이 작은 양 만큼 움직이면 PV는 얼마나 움직이는가? 이건 미분 질문이다 — 정확히는 , 의 함수로 본 PV의 기울기.
연속 경우 를 적분 안에서 미분하면
— PV와 같은 적분인데, 각 현금흐름 조각에 가 한 번 더 곱해진다. 더 먼 미래의 돈이 민감도에 더 크게 기여한다. 수정 듀레이션 로 정의하면, 작은 금리 변동에 대한 가격 변동은 선형화로 예측된다 —
10년 만기 무이표채는 — 금리 1%p 상승이 가격 약 10% 하락을 예측한다. 2년 만기 채권은 — 같은 변동이 약 2% 하락만 예측한다. 듀레이션은 정규화된, 금리에 대한 가격의 미분이고, 채권 시장이 매일 금리 위험을 가격으로 옮길 때 쓰는 도구다.
같은 모양이 옵션의 그릭스 (Greeks) 를 돌린다 — 는 , 는 그 2계 도함수, 는 , 는 . 모든 금융 상품은 민감도의 가족을 갖는다 — 가격을 각 입력에 대해 편미분한 것. “금융 derivative”의 derivative와 미적분의 미분 (derivative) 이 글자 그대로 같은 단어인 건 깊은 이유가 있어서다 — 상품의 가격이 다른 어떤 것의 도함수이고, 그 위험은 자신의 도함수들로 포착된다.
적분은 시간에 걸쳐 돈을 더한다. 할인은 더하기 전에 미래의 돈을 작게 만든다. 미래 현금
에 할인계수 를 곱해 지금부터 만기까지 적분하면, 어떤
현금흐름 스트림이든 오늘 얼마짜리인지가 나온다. 채권 가격에서 모기지 분할 상환, 영구채에 이르기까지 —
같은 항등식에 c(t)만 갈아 끼울 뿐이다.
할인율이 일 때, 정확히 1년 뒤에 받는 $100의 현재가치는 얼마인가? 이산 식 를 써서 풀어보자.
10년 뒤 받는 $100의 현재가치를 , , 에서 각각 계산해 보자. 같은 미래 금액이 r이 커질수록 왜 이렇게 작아지는가?
친구가 10년 동안 $1,000/년을 연속으로 지급한다. 할인율은 . 적분을 정확히 풀지는 말고 — [0, 10] 구간에서 할인된 현금흐름 곡선 를 스케치한 뒤, 그 곡선 아래 면적을 PV로 잡아보자. (위젯이 $1/년일 때 면적이 $7.87이라고 알려준다. 거기서 스케일만 키우면 된다.)
두 제안, 명목 총액은 $10,000으로 동일하다 — (a) 10년 동안 매년 $1,000; (b) 10년째에 한꺼번에 $10,000. 일 때 어느 쪽의 현재가치가 더 큰가? 계산하기 전에 먼저 짐작해 보자. 그다음 두 값을 모두 구하고 설명해 보자.
금융 강의는 현재가치를 외워야 할 식 목록 — 연금(annuity), 영구채(perpetuity), 채권 가격, 모기지
지급액 — 으로 들이민다. 학생이 정작 무언가를 적분해보기도 전에 말이다. 미적분 강의는 적분을
곡선 아래 면적으로 소개한다. 역시 학생이 무언가를 할인해보기도 전에. 그런데 둘은 같은 산수다.
Lemma는 적분 를 이산 합 옆에 나란히 놓아, 독자가
교과서 속 그 식들이 무엇이었는지 직접 보게 한다 — 결국은 하나의 항등식의 특수한 경우들이다.
연금 식은 c 일정, T 유한, 이산; 영구채 식은 c 일정, T → ∞, 연속; 채권 가격은
쿠폰 시점에서 계단 모양인 c, T 유한. 어느 하나도 자기만의 정리가 필요하지 않다 — 같은
항등식에 c(t)만 다르게 끼워 넣으면 그만이다.