가격의 표준편차를 구하면 변동성이 계산된다고 생각하기 쉽지만, 실무에서 말하는 히스토리컬 변동성은 보통 가격 자체가 아니라 과거 수익률의 표준편차를 연율화한 값입니다. 즉 100원, 110원, 120원이라는 가격 수준의 흔들림보다, 하루 동안 몇 퍼센트씩 움직였는지가 핵심입니다. 이 글에서는 일별 종가만 준비해도 따라 할 수 있는 히스토리컬 변동성 계산법을 공식, 엑셀 흐름, 해석 방법 순서로 정리합니다.

히스토리컬 변동성이 실제로 측정하는 것
히스토리컬 변동성은 과거 가격 시계열에서 계산한 수익률의 산포입니다. 변동성이 높다는 말은 가격이 많이 올랐다는 뜻이 아니라, 수익률이 평균 주변에서 크게 흔들렸다는 뜻입니다. 같은 기간 최종 수익률이 비슷해도 매일 안정적으로 오른 자산과 급등락을 반복한 자산의 변동성은 다르게 나옵니다.
그래서 히스토리컬 변동성 계산법의 출발점은 가격이 아니라 수익률입니다. 가격이 1,000원에서 1,010원 오른 것과 100,000원에서 100,010원 오른 것은 같은 10원 변화지만 투자자에게 의미하는 비율 변화는 전혀 다릅니다. 수익률로 바꿔야 서로 다른 가격 수준의 자산도 비교할 수 있습니다. 표준편차와 분산의 기본 관계가 헷갈린다면 표준편차와 분산의 관계를 함께 보면 계산 구조를 이해하기 쉽습니다.
참고로 히스토리컬 변동성은 과거 데이터에서 나온 후행 지표이고, 내재 변동성은 옵션 가격에 반영된 시장의 기대 변동성입니다. 둘은 모두 변동성이라는 이름을 쓰지만, 계산에 쓰는 데이터와 해석 목적이 다릅니다.
히스토리컬 변동성 계산법 한 줄 공식
일별 종가를 기준으로 가장 많이 쓰는 공식은 다음과 같습니다.
rt = ln(Pt / Pt-1)
HV = sdaily × √252
여기서 Pt는 오늘 종가, Pt-1은 전일 종가, rt는 오늘의 로그수익률입니다. sdaily는 일정 기간 동안 계산한 일별 로그수익률의 표본 표준편차입니다. 마지막으로 √252를 곱하면 일별 변동성을 연간 변동성으로 환산합니다. 252는 1년의 대략적인 거래일 수로 실무에서 자주 쓰입니다. 같은 방식은 Macroption의 historical volatility 계산 설명에서도 확인할 수 있습니다.
로그수익률을 쓰는 이유는 기간을 더하기 쉽기 때문입니다. 오늘 2% 오르고 내일 2% 내렸다고 해서 단순하게 0%가 되는 것은 아닙니다. 로그수익률은 연속복리 관점에서 여러 기간의 수익률을 합산하기 쉬워 표준편차와 연율화 계산에 자주 사용됩니다.
일별 종가로 계산하는 단계
종가 데이터와 관측 기간을 정한다
먼저 날짜별 종가를 준비합니다. 20일, 21일, 60일, 252일처럼 관측 기간을 정해야 합니다. 종가가 21개 있으면 로그수익률은 20개가 나옵니다. 첫날은 비교할 전일 종가가 없기 때문입니다. 여기서 n은 보통 수익률 관측치 개수를 뜻한다고 보면 됩니다.
로그수익률을 계산한다
각 날짜마다 오늘 종가를 전일 종가로 나눈 뒤 자연로그를 취합니다. 예를 들어 어제 종가가 100, 오늘 종가가 102라면 로그수익률은 ln(102/100)입니다. 이 값은 대략 0.0198, 즉 약 1.98%입니다.
평균과 표본 표준편차를 구한다
로그수익률들이 준비되면 평균을 구하고, 각 수익률이 평균에서 얼마나 떨어져 있는지 계산합니다. 그 차이를 제곱해 더한 뒤 n-1로 나누고 제곱근을 취하면 표본 표준편차입니다. n이 아니라 n-1을 쓰는 이유는 우리가 전체 가능한 수익률을 모두 아는 것이 아니라, 선택한 기간의 표본으로 전체적인 변동성을 추정하기 때문입니다. 이 n-1 보정은 표본에서 모집단의 분산을 추정할 때 흔히 쓰는 자유도 보정입니다.
√252를 곱해 연율화한다
일별 표준편차가 1.2%라면 이를 그대로 연간 변동성이라고 부를 수 없습니다. 일별 수익률 기준의 흔들림이기 때문입니다. 일별 변동성을 연간 척도로 바꾸려면 1.2% × √252를 계산합니다. √252는 약 15.87이므로 연율화 변동성은 약 19.0%가 됩니다.

간단한 숫자 예시로 보는 계산 흐름
종가가 100, 102, 101, 103, 104라고 가정해 보겠습니다. 로그수익률은 네 개가 나옵니다.
- ln(102/100) ≈ 1.98%
- ln(101/102) ≈ -0.99%
- ln(103/101) ≈ 1.96%
- ln(104/103) ≈ 0.97%
이 네 개 로그수익률의 평균은 약 0.98%입니다. 각 값이 평균에서 얼마나 떨어졌는지로 표본 표준편차를 계산하면 일별 변동성은 대략 1.39% 수준입니다. 여기에 √252를 곱하면 약 22%가 됩니다. 이 예시에서 연율화 히스토리컬 변동성이 22%라는 말은, 이 짧은 기간의 일별 수익률 흔들림을 연간 척도로 환산했을 때 표준편차가 약 22%라는 뜻입니다.
중요한 점은 이것이 앞으로 1년에 22% 오른다는 뜻도, 22% 손실이 반드시 난다는 뜻도 아니라는 것입니다. 변동성은 방향이 아니라 퍼짐을 말합니다. 평균 수익률과 결과 분포를 함께 봐야 하는 이유는 기대값과 결과 분포 관점에서도 이해할 수 있습니다.
왜 √252를 곱할까
수익률의 분산은 시간에 대략 비례한다고 가정할 수 있지만, 표준편차는 분산의 제곱근입니다. 그래서 변동성을 기간 변환할 때는 시간 배수를 그대로 곱하지 않고 제곱근을 곱합니다. 일별 분산을 252일로 늘리면 분산은 252배, 표준편차는 √252배가 되는 구조입니다.
다만 이 제곱근 시간 법칙은 수익률이 서로 독립적이고 분산이 안정적이라는 단순화된 가정 아래에서 쓰는 실무적 근사입니다. 실제 시장에는 변동성이 한동안 높거나 낮게 이어지는 변동성 군집, 극단값이 더 자주 나타나는 두꺼운 꼬리, 비정규성이 존재할 수 있습니다. 따라서 √252 연율화는 편리한 표준화 방식이지 절대적인 예측 공식은 아닙니다. 월간 단순수익률 표준편차에 √12를 곱할 때 생길 수 있는 편향 문제는 CFA Institute의 관련 요약처럼 주의해서 해석해야 합니다.
주간 수익률을 사용했다면 √52, 월간 수익률을 사용했다면 √12를 곱하는 식으로 데이터 단위와 연율화 배수를 맞춥니다. 단, 서로 다른 단위의 결과를 비교할 때는 계산 기준이 같은지 반드시 확인해야 합니다. 이 부분은 변동성과 시간 척도를 이해하는 데도 중요합니다.
20일, 60일, 252일 중 어떤 기간을 쓸까
관측 기간은 히스토리컬 변동성 계산법에서 결과를 크게 바꾸는 요소입니다. 20일 또는 21일은 최근 한 달 정도의 시장 상태를 빠르게 반영합니다. 단기 트레이딩, 옵션 만기 근처의 리스크 점검, 최근 급변 구간 확인에 유용하지만 일시적 충격에 민감합니다.
60일은 약 3개월 기준으로 단기 노이즈를 조금 줄이면서도 최근 흐름을 반영하려는 절충안입니다. 252일은 약 1년 거래일 기준이므로 장기 리스크 비교나 자산 간 변동성 수준을 볼 때 자주 사용됩니다. 하지만 오래된 변동 구간이 현재 시장 상황과 다를 수 있다는 한계가 있습니다.
정답은 목적에 따라 달라집니다. 중요한 것은 같은 기준으로 비교하는 것입니다. A 자산은 20일 HV, B 자산은 252일 HV로 놓고 어느 쪽이 더 위험하다고 말하면 비교가 왜곡될 수 있습니다.

엑셀과 스프레드시트에서 바로 쓰는 수식
B열에 종가가 있고, B2부터 첫 종가가 있다고 가정합니다. C3 셀에는 다음 수식을 입력합니다.
=LN(B3/B2)
이 수식을 아래로 복사하면 일별 로그수익률이 만들어집니다. 예를 들어 C3:C23에 로그수익률 21개가 있다면 일별 표준편차는 다음과 같습니다.
=STDEV.S(C3:C23)
연율화 히스토리컬 변동성은 아래처럼 계산합니다.
=STDEV.S(C3:C23)*SQRT(252)
마지막 셀 서식을 퍼센트로 바꾸면 0.20은 20%로 표시됩니다. 종가 개수와 수익률 개수를 혼동하지 않는 것도 중요합니다. 종가 22개를 넣으면 로그수익률은 21개입니다.
계산 결과를 해석할 때 자주 하는 실수
첫째, 가격의 표준편차를 그대로 변동성으로 쓰는 실수입니다. 가격 수준이 다른 자산끼리는 가격 표준편차가 비교 지표로 적합하지 않습니다. 일반적으로는 수익률 표준편차를 사용합니다.
둘째, 단순수익률과 로그수익률을 섞는 실수입니다. 하나의 분석에서는 계산 기준을 일관되게 유지해야 합니다. 단기 일별 데이터에서는 차이가 작아 보일 수 있지만, 누적과 연율화에서는 차이가 커질 수 있습니다.
셋째, 관측 기간이 다른 값을 직접 비교하는 실수입니다. 20일 HV 30%와 252일 HV 20%는 서로 다른 질문에 답하는 숫자입니다. 최근 한 달이 크게 흔들렸다는 뜻일 수도 있고, 장기 평균 변동성은 낮다는 뜻일 수도 있습니다.
넷째, 히스토리컬 변동성을 미래 예측값처럼 해석하는 실수입니다. 히스토리컬 변동성은 과거 변동의 요약값입니다. 미래 리스크 판단의 참고자료로 쓸 수는 있지만, 미래 수익률의 크기나 방향을 보장하지 않습니다. 포지션 크기와 자본 배분에 활용할 때도 변동성 하나만 보지 말고 손실 한도, 유동성, 전략의 기대값을 함께 봐야 합니다. 관련 관점은 켈리 기준과 포지션 사이징에서도 이어집니다.
히스토리컬 변동성 계산법 핵심 정리
- 히스토리컬 변동성은 가격이 아니라 과거 수익률의 표준편차를 보는 지표입니다.
- 일별 기준 공식은 로그수익률 rt = ln(Pt/Pt-1)를 계산한 뒤 표본 표준편차를 구하는 것입니다.
- 표본 표준편차는 보통 n-1로 나누어 모집단 변동성을 추정합니다.
- 일별 변동성은 √252를 곱해 연율화하고, 결과는 퍼센트로 표시합니다.
- 계산된 20%, 30%는 과거 수익률의 퍼짐을 연간 척도로 표현한 값이지 미래 수익률 보장이 아닙니다.
결국 좋은 히스토리컬 변동성 계산법은 복잡한 공식을 외우는 것이 아니라, 데이터 단위와 관측 기간, 표준편차의 의미를 일관되게 관리하는 데서 시작합니다. 더 많은 주제는 변동성 분석 글 모음에서 이어서 확인할 수 있습니다.