주가는 왜 움직이는가
어제 72,000원이던 주식이 오늘 69,800원이다. 회사는 하룻밤 사이에 아무것도 바뀌지 않았는데 값은 왜 바뀌었을까. 주가는 회사의 값이 아니라 회사의 미래에 대해 사람들이 지금 합의한 값이고, 그 합의는 새 정보가 들어올 때마다, 그리고 아무 정보가 없어도 조금씩 흔들린다. 이 장에서는 수요와 공급 곡선을 직접 끌고, 뉴스 버튼을 누르고, 동전으로 주가를 만들어 진짜와 겨루면서 "주가의 움직임에서 무엇을 읽을 수 있고 무엇은 읽을 수 없는가"를 손으로 익힌다.
- 가격이 매수·매도 주문이 만나는 균형점이고, 그 주문 뒤에는 미래에 대한 저마다의 기대가 있다는 것을 설명한다.
- 가격을 움직이는 것은 뉴스 자체가 아니라 "기대와 다른 부분(놀람)"이라는 것, 그래서 호재에도 주가가 떨어질 수 있다는 것을 이해한다.
- 효율적 시장 가설의 세 형태(약형·준강형·강형)를 구분하고, 랜덤워크로 만든 가격에서도 추세와 패턴이 보인다는 것을 확인한다.
- 연 변동성을 하루·한 달·1년 변동으로 바꾸고(\(\sigma\sqrt{T}\)), 실제 수익률 분포의 두꺼운 꼬리와 변동성 군집을 읽는다.
- 짧은 기간에는 소음이, 긴 기간에는 신호가 커진다는 것을 보고, 주가를 얼마나 자주 볼지 스스로 정한다.
산 다음 날 −3%
3장에서 한결은 첫 주문으로 가상의 회사 한빛반도체 10주를 약 72,000원에 샀다. 다음 날 아침 증권 앱을 열자 파란 숫자가 보인다. 69,800원, −3.06%. 10주니까 하룻밤 사이에 22,000원이 사라졌다. 뉴스를 찾아봐도 한빛반도체에 대한 특별한 소식은 없다. 무엇이 잘못된 걸까. 팔아야 할까.
이 질문에 답하려면 두 가지를 알아야 한다. 하나는 주가가 왜 움직이는가, 다른 하나는 보통 얼마나 움직이는가다. 첫째는 수요와 공급, 기대와 정보의 이야기다. 둘째는 숫자의 이야기다. 이 장의 끝에서 −3%가 한빛반도체에게 얼마나 흔한 날인지 직접 세어 본다.
ST.market(), 2016~2025년 약 2,600거래일)이다. 회사도, 지수("SB 종합지수")도, 가격도 교육용으로 만든 가짜다. 다만 실제 시장에서 관찰되는 성질(국면, 급락, 두꺼운 꼬리)을 흉내 내도록 만들었다.가격은 주문이 만나는 자리
주식시장의 가격은 누가 정해 주지 않는다. 3장의 호가창에서 보았듯이, "이 값이면 사겠다"는 매수 주문과 "이 값이면 팔겠다"는 매도 주문이 만나는 곳에서 체결이 일어나고, 마지막 체결가가 그 순간의 주가다.
모든 매수 주문을 값이 높은 순서로 줄 세우면 수요 곡선(Demand curve)이 된다. 값이 내려갈수록 사려는 주식 수가 늘어난다. 매도 주문을 값이 낮은 순서로 줄 세우면 공급 곡선(Supply curve)이 된다. 값이 오를수록 팔려는 주식 수가 늘어난다. 두 곡선이 만나는 점이 균형 가격(Equilibrium price)이다. 아래 그림에서 빨간 수요선과 파란 공급선의 손잡이를 끌어 보자.
수요·공급 곡선을 끌어 균형 가격 찾기
곡선을 옮기는 것은 결국 사람들의 마음이다. 회사에 좋은 소식이 들리면 같은 값에 사려는 사람이 늘어 수요선이 오른쪽으로 간다. 대주주가 지분을 팔겠다고 하면 같은 값에 나오는 물량이 늘어 공급선이 아래로 내려간다. 거래량은 "얼마나 많은 사람이 생각을 바꿨는가", 가격은 "어느 쪽으로 바꿨는가"를 보여 준다. 마지막 해볼 것에서처럼 사려는 최고가보다 팔려는 최저가가 높으면 아무 거래도 일어나지 않는다. 호가창에 잔량만 쌓이고 체결이 멈춘 상태다.
가격은 미래에 대한 합의다
그러면 사람들은 왜 72,000원에 사려 하거나 팔려 할까. 주식 한 주는 회사가 앞으로 벌어들일 이익의 몫이다(1장). 그 이익이 얼마일지는 아무도 모른다. 그래서 투자자마다 머릿속에 저마다의 "이 정도면 적당한 값"을 가지고 있다. 어떤 사람은 반도체 경기가 좋아질 거라 보고 9만원도 싸다고 생각하고, 어떤 사람은 6만원도 비싸다고 생각한다. 자기 추정치보다 가격이 낮으면 사고, 높으면 판다.
아래 시뮬레이터에는 가상의 투자자 160명이 있다. 점 하나가 한 사람이고, 가로 위치가 그 사람이 생각하는 한빛반도체의 적정 가치다. 가격선보다 오른쪽(추정치가 더 높은) 사람은 빨갛게 사려 하고, 왼쪽 사람은 파랗게 팔려 한다. 사려는 사람이 많으면 가격이 오르고, 팔려는 사람이 많으면 내린다. 뉴스 버튼을 눌러 사람들의 생각을 바꿔 보자.
투자자 160명의 기대가 가격을 만든다
가격은 결국 "추정치가 이보다 높은 사람과 낮은 사람의 수가 같아지는 곳", 중앙값 근처에서 멈춘다. 그래서 주가는 회사의 진짜 가치가 아니라 지금 시장 참여자들의 기대가 합의된 점이다. 소수가 아무리 열광해도 나머지가 동의하지 않으면 가격은 조금밖에 움직이지 않는다. 반대로 모두의 생각이 한쪽으로 함께 움직이면 회사에 아무 일이 없어도 가격이 크게 움직인다. 이 기대를 숫자로 만드는 방법이 7장의 가치평가다.
뉴스는 얼마나 빨리 반영되나
기대가 바뀌는 가장 흔한 이유는 새 정보, 곧 뉴스다. 실적 발표, 금리 결정, 신제품, 공장 화재. 그런데 뉴스가 나오면 가격이 얼마나, 얼마나 빨리 움직일까. 아래 시세는 1분마다 한 칸씩 흘러간다. 뉴스 버튼을 눌러 보자. 핵심은 "좋은 뉴스냐 나쁜 뉴스냐"가 아니라 "시장이 예상했던 것과 얼마나 다르냐"다. 이 차이를 놀람(Surprise)이라고 부른다.
뉴스 버튼: 놀람만큼 점프한다
실제 시장에서 큰 회사의 실적 발표는 보통 수 초에서 수 분 안에 가격에 반영된다. 사람이 뉴스를 읽고 앱을 열어 주문 버튼을 누를 즈음이면 이미 늦은 경우가 많다. 컴퓨터가 공시를 읽고 주문을 내는 시대다. 한국 시장은 하루에 움직일 수 있는 폭이 전일 종가 대비 ±30%로 묶여 있고(가격제한폭, 2026년 기준), 짧은 시간에 너무 크게 움직이면 거래를 잠시 멈추고 단일가로 바꾸는 변동성 완화장치(VI)가 걸린다. 이런 장치는 반영을 조금 늦출 뿐, 방향을 바꾸지는 않는다.
소문에 사서 뉴스에 판다
증권가에는 "소문에 사서 뉴스에 팔라"는 오래된 말이 있다. 좋은 소식이 공식 발표되면 오히려 주가가 떨어지는 일이 잦다는 뜻이다. 놀람의 원리로 보면 이상한 일이 아니다. 소문이 도는 동안 사람들은 "아마 좋은 일이 있을 것"이라는 기대를 가격에 조금씩 넣는다. 발표 날 시장이 보는 것은 발표 내용이 아니라 발표 내용과 이미 가격에 들어간 기대의 차이다.
아래 시뮬레이터는 소문이 생겨 퍼지고, 발표가 나고, 그 뒤까지를 단계별로 보여 준다. 소문이 맞을 거라는 믿음(확률)이 커질수록 가격에 들어가는 기대도 커진다. "다음 단계"를 눌러 하루씩이 아니라 한 국면씩 넘겨 보자.
소문 → 확산 → 발표: 언제 산 사람이 버나
소문 초기에 산 사람은 기대가 가격에 들어가는 과정 전체를 누렸지만, 발표 직전에 산 사람은 이미 다 오른 값을 내고 놀람의 위험만 떠안았다. 문제는 소문 초기를 알아보는 방법이 없다는 것이다. 대부분의 소문은 사실이 아니고, 사실이라도 이미 다른 누군가가 먼저 샀다. 그리고 회사 내부자가 공개 전의 중요한 정보로 거래하는 것은 미공개정보 이용 행위로 법이 금지한다.
효율적 시장 가설
정보가 빠르게 가격에 반영된다면, 이미 알려진 정보로는 시장보다 더 벌 수 없다. 이것이 효율적 시장 가설(Efficient Market Hypothesis, EMH)이다. 1960~70년대 경제학자 유진 파마가 정리했고, "어떤 정보까지 반영되어 있는가"에 따라 세 형태로 나눈다.
세 형태가 실제로 무슨 차이를 만드는지 보자. 어떤 회사에 가치를 20% 올리는 일이 생겼다. 20일째에 내부자가 그 사실을 알고, 30일째에 공시된다. 세 사람이 산다. 내부자 C는 20일째에, 공시를 읽은 B는 30일째 종가에, 차트에서 상승을 확인한 A는 33일째 종가에 사서 모두 59일째에 판다. 시장의 형태를 바꾸기 전에 누가 벌지 먼저 예상해 보자.
정보가 반영되는 시점과 누가 이득을 보나
실제 시장은 이 넷 중 어디쯤일까. 큰 회사의 공개 정보는 매우 빠르게 반영되어 준강형에 가깝다는 연구가 많다. 그래서 대부분의 개인과 펀드매니저가 비용을 빼고 나면 시장 평균을 이기지 못한다(15장). 하지만 완벽하지는 않다. 버블과 폭락, 몇 년씩 이어지는 팩터의 초과 수익(16장), 사람들의 과잉 반응(24장)처럼 가설과 맞지 않는 현상도 관찰된다. 효율적 시장 가설은 "시장은 늘 옳다"가 아니라 "남들이 다 아는 것으로 남들보다 벌기는 어렵다"는 겸손한 출발점으로 쓰는 것이 좋다.
랜덤워크: 동전 던지기 시장
가격이 새 정보에만 반응하고, 새 정보는 정의상 미리 알 수 없다면, 내일의 가격 변화도 미리 알 수 없다. 오를지 내릴지가 동전 던지기처럼 된다. 이렇게 매 걸음의 방향이 앞의 걸음과 상관없는 경로를 랜덤워크(Random walk)라고 한다. 술 취한 사람의 걸음에 빗대어 "취보"라고도 부른다.
정말 동전으로 주가를 만들어 보자. 앞면이면 +1.5%, 뒷면이면 −1.5%다. 몇 번 던지고 나면 이상한 일이 생긴다. 분명히 무작위인데 "상승 추세", "지지선", "쌍바닥" 같은 것이 보이기 시작한다.
동전 던지기로 만든 주가
사람의 눈은 무작위 속에서도 패턴을 찾도록 만들어져 있다. 그래서 차트에서 본 "추세"가 진짜 정보인지, 동전이 우연히 만든 모양인지 가려내기 어렵다. 직접 시험해 보자. 아래 두 차트 중 하나는 가상 시장의 실제 120거래일 가격이고, 다른 하나는 같은 변동성으로 동전을 던져(기하 브라운 운동, ST.gbm) 만든 가격이다.
어느 쪽이 진짜 시장일까
구분이 쉽지 않았을 것이다. 그렇다면 차트를 보고 내일을 맞히는 것은 어떨까. 아래는 가상의 SB 종합지수 60거래일 차트다. 내일 지수가 오를지 내릴지 20번 맞혀 보자. 가상 시장 10년 동안 지수가 오른 날은 약 52%였다.
내일 오를까? 20번 맞히기
스무 번은 실력을 판단하기에 너무 적은 횟수다. 운만으로 70% 이상을 맞히는 사람이 스무 명 중 한 명꼴로 나온다. 유튜브에서 "적중률 80%"를 말하는 사람을 볼 때 몇 번 중의 80%인지, 틀린 것은 어디로 갔는지 물어야 하는 이유다. 랜덤워크인지 확인하는 더 직접적인 방법은 오늘의 등락과 다음 날의 등락을 짝지어 보는 것이다. 어제 오르면 오늘도 오를까.
어제 오르면 오늘도 오를까
네 종목 모두 상관계수가 0에 가깝다. 어제의 방향은 오늘의 방향을 거의 알려 주지 않는다. 실제 시장에서도 큰 종목과 지수의 하루 수익률 상관은 0에 가깝다고 알려져 있다. 다만 점 구름의 크기는 시기마다 다르다. 방향은 무작위인데 흔들림의 크기에는 기억이 있다. 이 이야기는 아래 변동성 군집에서 다시 본다.
하루에 얼마나 움직이나
방향은 맞힐 수 없어도 크기는 어림할 수 있다. 랜덤워크에서 한 걸음의 크기가 σ이면, T걸음 뒤에 출발점에서 떨어진 거리의 표준편차는 \(\sigma\sqrt{T}\)다. 걸음이 서로 독립이면 분산이 더해지기 때문이다(분산이 T배이니 표준편차는 \(\sqrt{T}\)배). 주식에서는 1년을 252거래일로 보고 이 관계를 거꾸로 쓴다.
먼저 경로 100개를 동시에 출발시켜 퍼지는 모습을 보자. 퍼짐의 폭은 날수에 비례하지 않고 날수의 제곱근에 비례한다. 처음에는 빠르게 퍼지다가 점점 느려진다.
랜덤워크 100개가 퍼지는 속도: √t
이제 이 규칙을 가격에 적용해 보자. 다섯 회사는 변동성이 다르다. 누리식품은 연 20%, 한빛반도체 38%, 모아플랫폼 42%, 별빛바이오 65%다. 아래 부채꼴은 지금 가격에서 출발해 하루, 한 달, 1년 뒤에 가격이 있을 법한 범위다. 그래프 위를 끌어 원하는 날짜의 범위를 읽어 보자.
연 변동성 → 하루·한 달·1년의 변동 범위
한빛반도체의 "보통의 하루"는 ±2.4%다. 정규분포에서 −1.25σ보다 나쁜 날은 약 10.5%, 열흘에 하루꼴이다. 그렇다면 한결이 겪은 −3%는 특별한 날이 아니다. 가상 시장의 10년치 한빛반도체 가격에서 직접 세어 보자. 아래 막대 하나가 하루의 등락이고, 노란 기준선을 끌어 올리고 내릴 수 있다.
한빛반도체 '−3%의 날'은 얼마나 흔한가
−3%의 날은 1년에 약 26번, 한 달에 두 번꼴로 온다. 해마다 적게는 13번, 많게는 36번이었다. 한결이 산 다음 날 겪은 일은 이 주식을 갖고 있으면 매달 겪는 일이다. 그리고 그 대부분의 날에 특별한 뉴스는 없다. 많은 사람의 작은 생각 변화, 다른 종목과 시장 전체의 움직임, 큰 주문 하나가 남기는 흔적이 합쳐진 소음(Noise)이다.
두꺼운 꼬리: 큰 하락은 생각보다 잦다
\(\sigma\sqrt{T}\) 계산은 수익률이 정규분포를 따른다고 가정한다. 정규분포에서는 평균에서 3σ 넘게 벗어나는 날이 0.27%(약 370일에 하루), 4σ는 0.006%(약 63년에 하루), 5σ는 사실상 일어나지 않는다. 그런데 실제 시장의 수익률을 모아 보면 가운데는 정규분포보다 뾰족하고, 양 끝은 더 두껍다. 큰 움직임이 정규분포의 예상보다 훨씬 자주 온다. 이것을 두꺼운 꼬리(Fat tails)라고 한다.
일간 수익률 히스토그램 vs 정규분포
가상 시장의 SB 종합지수에서 4σ를 넘은 날은 8일이다. 정규분포라면 10년 동안 0.16일, 곧 대개 한 번도 없어야 한다. 실제 역사에서도 마찬가지다. 1987년 10월 19일 미국 다우존스 지수는 하루에 약 22.6% 떨어졌는데, 당시 변동성으로 보면 20σ가 넘는 사건이다. 정규분포로는 우주의 나이 동안에도 일어나지 않을 일이다. 2008년 금융위기와 2020년 3월 급락에서도 몇 σ짜리 날이 며칠 사이에 연달아 왔다.
변동성은 몰려 온다
앞의 '−3%의 날' 막대에서 큰 하락이 특정 시기에 몰려 있던 것을 기억하자. 시장은 조용한 시기와 시끄러운 시기를 번갈아 지난다. 큰 움직임 다음에는 큰 움직임이, 작은 움직임 다음에는 작은 움직임이 오는 경향이 있다. 방향은 무작위인데 크기는 이어진다. 이것을 변동성 군집(Volatility clustering)이라고 한다.
이 성질을 담은 대표 모형이 GARCH다. 오늘의 분산은 장기 평균, 어제의 충격 크기, 어제의 분산을 섞어 정한다.
GARCH 경로에서 변동성 군집 보기
ST.garch, 장기 연 변동성 25%, α = 0.1, 3년 756거래일.)세 번째 해볼 것이 중요하다. 매일의 충격은 정규분포에서 뽑았는데, 조용한 날의 작은 σ와 시끄러운 날의 큰 σ가 섞이자 전체 분포의 꼬리가 두꺼워졌다. 두꺼운 꼬리와 변동성 군집은 같은 현상의 두 얼굴인 셈이다. 실전에서 쓸 수 있는 교훈도 있다. 큰 하락이 하루 왔다면 앞으로 며칠은 큰 움직임이 더 올 가능성이 높다. 방향은 몰라도 "지금은 시끄러운 시기"라는 것은 안다. 옵션 가격에 들어가는 변동성(20장)도 그래서 급락 직후에 치솟는다.
신호와 소음: 시간을 늘리면 보이는 것
주식의 수익에는 두 부분이 있다. 오랜 기간 평균적으로 쌓이는 기대수익(신호(Signal))과 매일의 무작위 흔들림(소음)이다. 둘은 시간에 따라 다르게 자란다. 신호는 기간 T에 비례해 커지고(연 6%면 10년에 60%), 소음은 \(\sqrt{T}\)에 비례해 커진다. 그래서 둘의 비율은 \(\sqrt{T}\)에 비례해 커진다.
보는 기간을 늘리면: 1주 · 1년 · 10년
하루 단위에서 주가 변화는 거의 전부 소음이다. 그 안에서 신호를 찾으려는 노력은 대개 소음에 반응하는 것으로 끝난다. 기간을 늘릴수록 회사의 이익과 경제의 성장이라는 신호가 드러난다. 그렇다고 장기가 "안전"한 것은 아니다. 10년 뒤 이익일 확률이 84%라는 것은 6번 중 1번은 10년 뒤에도 손실이라는 뜻이고, 한 회사의 주가는 지수보다 훨씬 소음이 크다. 기간은 신호를 보이게 할 뿐, 신호가 있다는 것까지 보장하지는 않는다.
마지막으로 이 장의 내용을 한 화면에 모아 보자. 같은 10년을 매일 확인하는 사람과 한 달에 한 번, 1년에 한 번 확인하는 사람은 같은 결과를 얻는다. 그런데 그동안 겪는 일은 전혀 다르다. 사람은 같은 크기의 이익보다 손실을 약 두 배 아프게 느낀다고 알려져 있다(24장). 아래 "기분 점수"는 오른 것을 볼 때마다 +1, 내린 것을 볼 때마다 −2로 셈한다.
종합: 얼마나 자주 볼 것인가
자주 볼수록 더 많은 정보를 얻는 것이 아니라, 더 많은 소음을 겪는다. 그리고 소음에 반응해 사고팔 때마다 거래 비용(3장)이 나간다. 이 장에서 얻을 결론은 "주가를 보지 말라"가 아니라 "주가를 볼 때 그것이 신호인지 소음인지 먼저 물어라"다. 하루의 −3%는 한빛반도체에게는 소음이다. 반면 실적 발표에서 이익이 기대보다 크게 줄었다면 그것은 신호일 수 있다. 신호를 읽는 법, 곧 회사의 이익과 가치를 읽는 법이 다음 장부터의 주제다.
−3%의 날은 한 달에 두 번 온다
한빛반도체 10주를 산 다음 날 주가는 72,000원에서 69,800원(−3.06%)이 됐고, 평가손실은 22,000원이었다. 한결은 팔기 전에 이 장의 방법으로 숫자를 확인했다. 한빛반도체의 연 변동성 38%를 하루로 바꾸면 \(0.38/\sqrt{252} \approx 2.4\%\)다. −3%는 약 −1.25σ, 정규분포로 약 10.5%의 날, 열흘에 하루꼴이다. 가상 시장 10년(약 2,600거래일)에서 실제로 세어 보니 −3% 이하로 떨어진 날이 264일, 1년에 약 26번이었다. 그날 회사에 관한 뉴스는 없었다. 신호가 아니라 소음이었다.
한 달 단위로 보면 흔들림은 ±11%, 1년이면 ±38%다. 한결이 정한 감내선 −30%(MoneyBook 12장)는 이 주식 하나만 들고 있으면 1년 안에 충분히 닿을 수 있는 거리다. 그래서 한결은 두 가지를 정했다. 증권 앱의 시세 알림을 끄고, 주가는 매달 월급날 70만원을 넣을 때 한 번만 본다. 매일 보면 절반 가까운 날에 손실을 보지만, 한 달에 한 번 보면 그 비율이 줄고 결과는 같다.
핵심 정리
- 주가는 매수·매도 주문이 만나는 균형점이다. 주문 뒤에는 투자자마다 다른 미래 가치 추정이 있고, 가격은 그 추정들의 합의점(중앙값 근처)에 선다.
- 가격을 움직이는 것은 뉴스가 아니라 놀람(실제 − 기대)이다. 예상된 호재는 가격을 움직이지 않고, 기대에 못 미친 호재는 가격을 내린다("소문에 사서 뉴스에 판다").
- 효율적 시장 가설: 약형(과거 가격), 준강형(공개 정보), 강형(내부 정보까지)이 가격에 반영되어 있다고 본다. 큰 종목의 공개 정보는 매우 빨리 반영된다. 미공개정보 이용은 불법이다.
- 하루 수익률은 서로 거의 상관이 없어 랜덤워크에 가깝다. 동전으로 만든 가격에서도 추세와 패턴이 보이므로, 차트의 모양만으로는 신호인지 우연인지 알기 어렵다.
- 변동의 크기는 \(\sigma\sqrt{T}\)로 어림한다. 한빛반도체(연 38%)는 하루 약 2.4%, 한 달 약 11%다. −3% 이하인 날은 가상 시장 10년에 264일, 1년에 약 26번이었다.
- 실제 수익률은 정규분포보다 꼬리가 두껍고(큰 하락이 잦다), 변동성은 몰려서 온다(GARCH). 두 성질은 연결되어 있다.
- 신호(μT)는 T에, 소음(σ√T)은 √T에 비례한다. 짧게 볼수록 소음이 지배하고, 자주 볼수록 손실을 더 많이 겪지만 결과는 같다.
확인 퀴즈
1. 연 변동성이 38%인 주식의 하루 변동(1 표준편차)은 대략 얼마인가? (1년 = 252거래일)
2. 어떤 회사가 "영업이익 전년 대비 +10%"를 발표했는데 그날 주가가 5% 떨어졌다. 가장 그럴듯한 설명은?
3. 시장이 준강형 효율적 시장이라면 다음 중 시장보다 더 벌 수 있는 근거는 무엇인가?
4. "수익률 분포의 꼬리가 두껍다"는 말의 뜻으로 가장 알맞은 것은?
5. 보는 기간을 1년에서 4년으로 늘리면 신호(기대수익 μT)와 소음(σ√T)의 비율은 어떻게 되는가?