효율적 시장 가설 정의와 세 가지 형태
효율적 시장 가설은 가격에 정보가 반영된다는 이론입니다. 약형·준강형·강형 세 가지 형태를 설명하고 약형을 5년간 미국 주식 데이터로 측정합니다.
효율적 시장 가설(efficient market hypothesis)은 증권 가격에 이미 해당 증권에 대해 이용 가능한 정보가 반영되어 있다는 주장이다. 이로 인해 남은 패턴은 너무 작고 수명이 짧아 거래 비용을 고려하면 수익을 내기 어렵다. 유진 파마(Eugene Fama)는 1970년 리뷰 논문에서 이 개념을 약형(weak), 준강형(semi-strong), 강형(strong)의 세 가지 형태로 정리했다. 각 형태는 가격에 이미 포함된 서로 다른 정보 집합을 지칭하며, 각각은 돈을 버는 서로 다른 방식을 배제한다. 이 페이지는 세 가지 형태가 금지하는 사항을 설명한 후, 가장 약한 형태를 5년간의 일간 가격 데이터를 사용해 잘 알려진 종목들에 대해 측정한다.
시장 효율성의 세 가지 형태는 무엇인가?
세 가지 형태는 서로 중첩된다. 약형이 주장하는 모든 것은 준강형도 주장하며, 그 이상도 포함한다.
- 약형(Weak form): 과거 가격과 과거 거래량이 이미 가격에 반영되어 있다. 가격 이력만으로 구성된 차트 패턴, 추세 규칙, 모멘텀 필터는 이 버전에서 신뢰할 수 있는 우위를 제공하지 않는다.
- 준강형(Semi-strong form): 공시 자료, 가이던스, 애널리스트 보고서, 경제 지표 발표를 포함한 모든 공개 정보가 이미 가격에 반영되어 있다. 공개 문서가 발행된 후에 읽는 것은 이 버전에서 우위를 제공하지 않는데, 이는 다른 모든 사람이 같은 문서를 읽는 동안 가격이 이미 조정되었기 때문이다.
- 강형(Strong form): 미공개 정보를 포함한 모든 정보가 가격에 반영되어 있다. 이 버전을 옹호하는 사람은 거의 없다. 내부자 거래 법은 비공개 정보가 실질적인 금전적 가치가 있다는 전제에 기반한다.
이 가설은 완벽함이 아닌 신뢰성에 관한 진술이다. 가격이 항상 옳다고 주장하는 사람은 아무도 없다. 주장은 오류를 사전에 식별하기 어렵고 거래 비용을 고려하면 이를 활용하기 어렵다는 것이다.
약형: 어제의 움직임이 오늘을 예측하는가?
약형에 대한 가장 명확한 테스트는 하루 수익률과 다음 날 수익률 간의 상관관계이다. 강한 양의 값은 지속되는 추세를 나타낸다. 강한 음의 값은 신뢰할 수 있는 반전을 나타낸다. 둘 중 하나라도 거래 가능할 것이다. 아래 패널은 2021년 7월부터 2026년 6월까지 5년간 12개 잘 알려진 종목의 일간 수익률에 대한 시차 1 자기상관(lag-one autocorrelation)을 측정한다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY','AAPL','MSFT','KO','JNJ','XOM','JPM','WMT','NVDA','TSLA','PG','HD')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2021-07-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, dt
),
returns AS (
SELECT ticker, dt,
close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
FROM daily
),
paired AS (
SELECT ticker, ret,
lagInFrame(ret) OVER (PARTITION BY ticker ORDER BY dt) AS prev_ret
FROM returns
WHERE ret IS NOT NULL AND ret > -0.5 AND ret < 0.5
)
SELECT ticker,
count() AS trading_days,
round(corr(ret, prev_ret), 3) AS lag1_autocorrelation,
round(abs(corr(ret, prev_ret)), 3) AS abs_autocorrelation
FROM paired
WHERE prev_ret IS NOT NULL
GROUP BY ticker
ORDER BY abs_autocorrelation DESC절대값 기준 가장 큰 수치는 WMT에서 0.057이며, 가장 작은 수치는 KO에서 -0.005이다. 이 집합의 모든 종목은 각각 약 1252 거래일 동안 0에서 수백 분의 1 포인트 이내에 위치한다. 이 정도 크기의 상관관계는 다음 날 수익률 변동의 1% 미만을 설명한다. 12개 종목에 걸쳐 부호가 번갈아 나타나며 검토해도 살아남는 패턴이 없는데, 이는 약형이 정확히 예상대로 작동하고 있음을 보여준다.
큰 폭의 단일 일간 움직임 이후에는 어떤 일이 발생하는가?
상관관계는 모든 거래 세션의 평균이며, 평균은 극단적인 경우의 행동을 숨길 수 있다. 동일한 표본에서 각 날짜를 이전 날짜의 움직임에 따라 분류한 후 다음 날의 움직임을 측정하면 극단적인 거래 세션이 일반적인 세션과 다르게 행동하는지 확인할 수 있다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY','AAPL','MSFT','KO','JNJ','XOM','JPM','WMT','NVDA','TSLA','PG','HD')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2021-07-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, dt
),
returns AS (
SELECT ticker, dt,
close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY dt) - 1 AS ret
FROM daily
),
paired AS (
SELECT ticker, ret * 100 AS ret_pct,
lagInFrame(ret) OVER (PARTITION BY ticker ORDER BY dt) * 100 AS prev_pct
FROM returns
WHERE ret IS NOT NULL AND ret > -0.5 AND ret < 0.5
)
SELECT multiIf(prev_pct <= -3, '1. down 3% or more',
prev_pct <= -1, '2. down 1 to 3%',
prev_pct < 1, '3. flat, within 1%',
prev_pct < 3, '4. up 1 to 3%',
'5. up 3% or more') AS prior_day_move,
count() AS observations,
round(median(ret_pct), 3) AS next_day_median_pct,
round(100 * countIf(ret_pct > 0) / count(), 1) AS next_day_up_share_pct
FROM paired
WHERE prev_pct IS NOT NULL
GROUP BY prior_day_move
ORDER BY prior_day_move1. down 3% or more의 움직임 이후에 발생한 세션인 최하위 버킷(bottom bucket)은 664개의 관측치 중 52.9%의 확률로 상승일이 뒤따랐다. 5. up 3% or more의 움직임 이후에 발생한 최상위 버킷(top bucket)은 53.9%의 확률로 상승일이 뒤따랐다. 일반적인 중간 버킷인 3. flat, within 1%은 53.1%를 기록했다. 다섯 개의 버킷 모두 동전 던지기 확률에서 몇 포인트 차이 내에 있으며, 모든 버킷의 중앙값 다음 날 수익률은 1%의 일부에 불과하다: 가장 급격한 하락 이후 0.175%, 가장 급격한 상승 이후 0.186%.
3% 하락 후 매수하는 규칙과 3% 급등 후 매수하는 규칙은 거의 동일한 다음 날 분포를 만났을 것이다. 버킷 간의 차이는 일반적인 매수-호가 스프레드(bid-ask spread)와 소매 규모 주문의 수수료를 합친 것보다 작다. 이것이 약형이 취하는 실질적인 형태이다. 패턴은 그것이 우위가 되기 위해서는 거래 비용보다 커야 한다.
준강형: 선별 기록이 보여주는 것
준강형에 대해 가장 자주 인용되는 증거는 상관관계가 아니다. 이는 다년간의 기간 동안 대부분의 능동적 포트폴리오(active portfolio)가 단순 지수에 뒤처진다는 오랜 연구 결과이다. 이 산술의 간단한 버전은 대형이고 널리 분석되는 미국 기업들로 구성된 바스켓(basket)을 S&P 500 추종자와 연도별로 비교한 것에 포함되어 있다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY','AAPL','MSFT','NVDA','AMZN','GOOGL','META','TSLA','JPM','XOM','JNJ','WMT','PG','KO','PEP','HD','MRK','LLY','COST','CVX','ORCL','CSCO','INTC','VZ','MCD','NKE','DIS','CAT','HON','TXN','AMD','NFLX','MO','LMT','UNH')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2021-01-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2025-12-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, dt
),
per_year AS (
SELECT ticker, toYear(dt) AS yr,
argMin(close_px, dt) AS first_px,
argMax(close_px, dt) AS last_px
FROM daily
GROUP BY ticker, yr
),
perf AS (
SELECT yr, ticker, (last_px / first_px - 1) * 100 AS ret_pct FROM per_year
),
bench AS (
SELECT yr, ret_pct AS index_pct FROM perf WHERE ticker = 'SPY'
)
SELECT toString(perf.yr) AS year,
round(any(bench.index_pct), 1) AS index_return_pct,
round(median(perf.ret_pct), 1) AS median_stock_return_pct,
countIf(perf.ticker != 'SPY') AS stocks_measured,
round(100 * countIf(perf.ticker != 'SPY' AND perf.ret_pct > bench.index_pct)
/ countIf(perf.ticker != 'SPY'), 1) AS pct_beating_index
FROM perf
INNER JOIN bench ON perf.yr = bench.yr
GROUP BY perf.yr
ORDER BY perf.yr측정된 5개 역년(calendar year) 동안, 34개 종목 중 절반 미만이 4개 연도에서 지수를 이겼다. 그 비율은 2024의 32.4%에서 2022의 58.8%까지 범위를 보였는데, 2022는 해당 기간의 유일한 하락장 해로, 지수 수익률이 -20%인 반면 중간값 종목은 -13.3%였다. 2024에는 지수 수익률이 24%인 반면 바스켓 내 중간값 종목 수익률은 12.7%였다.
이 중 어느 것도 준강형을 증명하지는 않는다. 대형주 바스켓은 전체 시장이 아니며, 하나의 추종자가 모든 벤치마크는 아니며, 5년은 짧은 표본이다. 이것이 보여주는 것은 가설을 쉽게 무시하기 어렵게 만드는 산술이다. 지수는 자체 구성 종목들의 가중 평균이므로, 지수를 이기는 것은 구조적으로 소수 결과이며, 이를 시도하는 연구 및 거래 비용은 그 소수의 몫에서 나온다. 이러한 구성 종목 수익률이 얼마나 고르지 않은지에 대한 관련 관점은 위의 지수 열과 중간값 열 사이의 연도별 차이에서 나타난다.
중심에 있는 역설
샌포드 그로스만(Sanford Grossman)과 조셉 스티글리츠(Joseph Stiglitz)는 1980년에 가장 날카로운 반론을 제시했으며, 이는 정직하게 언급할 가치가 있는 반론이다. 정보를 수집하는 데는 비용이 든다. 만약 가격이 이미 모든 정보를 담고 있다면, 아무도 정보를 수집하는 데 비용을 지불하지 않을 것이며, 바로 그 수집이 정보를 가격에 반영하는 메커니즘이다. 완벽하게 효율적인 시장은 균형 상태에 있을 수 없다. 존재할 수 있는 것은 연구 이익이 연구 비용을 대략적으로 충당할 만큼 충분히 효율적인 시장이다.
이 약한 버전이 대부분의 실무자들이 작업하는 버전이며, 위의 데이터에 절대적 버전보다 더 잘 맞는다. 이는 우위가 존재하고, 작게 유지되며, 이를 추구하는 자금의 속도에 따라 경쟁에 의해 사라지는 시장을 설명한다.
문서화된 이상 현상(anomalies)은 가설을 파괴하기보다는 가설과 공존한다. 저변동성 이상 현상(the low-volatility anomaly)은 가장 잘 측정된 것 중 하나이다: 안정적인 주식은 역사적으로 위험의 극히 일부만으로 변동성이 큰 주식과 보조를 맞춰왔으며, 이는 표준 위험-수익 모델이 수용하지 못하는 패턴이다. 모멘텀(momentum), 가치(value), 소형주 효과(small-company effects)도 유사한 역사를 가지고 있다. 각각 수십 년에 걸쳐 측정되었으며, 각각 오랫동안 사라지는 구간이 있으며, 여러 가지는 발표 이후에 좁혀진다.
가설이 독자에게 의미하는 바
실용적인 해석은 좁으며, 어떤 시장에 대한 예측이 아니다. 가설의 어떤 버전에서든 투자자가 실제로 통제할 수 있는 투입 요소는 비용, 세금, 분산 투자, 그리고 행동이며, 이 네 가지 중 어느 것도 예측을 필요로 하지 않는다. 수수료는 수익률이 포트폴리오에 복리로 작용하는 것과 동일한 산술로 포트폴리오에 복리로 작용한다.
두 가지 습관은 누구에게도 예측을 요구하지 않으면서 이 프레임워크에 적합하다. 달러-코스트 평균법(Dollar-cost averaging)은 예측이 아닌 일정 규칙으로, 이것이 예측이 어려운 시장에서 살아남는 이유 중 하나이다. 그리고 다른 사람들이 두려워할 때 매수하는(buying when others are fearful) 배후의 기질은 가격이 다음에 어디로 갈지에 대한 주장이 아니라 투자자 자신의 행동에 관한 규칙이다.
가설은 또한 전략 주장을 판단하는 기준을 제공한다. 종이 위에서 수익성 있어 보이는 모든 패턴은 우위로 간주되기 전에 거래 비용, 세금, 그리고 백테스트(backtest)에 내재된 생존 편향(survivorship bias)을 극복해야 한다. 대부분은 그 기준을 통과하지 못한다. 통과하는 것들은 작은 경향이 있으며, 더 많은 자본이 유입됨에 따라 줄어드는 경향이 있다.
FAQ
효율적 시장 가설의 세 가지 형태는 무엇인가?
약형은 과거 가격과 거래량이 이미 가격에 반영되어 있어 차트 이력만으로는 우위를 얻을 수 없다고 본다. 준강형은 모든 공개 정보가 이미 가격에 반영되어 있다고 본다. 강형은 사적 정보도 가격에 반영되어 있다고 보며, 거의 아무도 옹호하지 않는 버전이다.
효율적 시장 가설이 주식 가격이 항상 옳다는 것을 의미하는가?
아니다. 이는 잘못된 가격 책정(mispricings)이 사전에 식별하기 어렵고 비용을 고려하면 포착하기 어렵다는 것을 주장할 뿐, 결코 발생하지 않는다는 것은 아니다. 거품과 붕괴는 투자자가 당시에 이를 신뢰성 있게 이용할 수 없었다면 가설과 양립 가능하다.
효율적 시장 가설을 만든 사람은 누구인가?
유진 파마(Eugene Fama)는 1970년 리뷰 논문에서 세 가지 형태의 프레임워크를 제시했으며 2013년 노벨 경제학상을 공동 수상했다. 수학적 뿌리는 더 거슬러 올라가 루이 바슐리에(Louis Bachelier)의 1900년 가격 무작위성 연구와 폴 새뮤얼슨(Paul Samuelson)의 1965년 적절히 예상된 가격에 관한 논문에 있다.
효율적 시장 가설에 대한 가장 강력한 비판은 무엇인가?
1980년의 그로스만-스티글리츠 역설(Grossman-Stiglitz paradox): 만약 가격이 이미 모든 정보를 담고 있다면, 아무도 정보 수집에 대한 대가를 받지 않을 것이며, 수집이 바로 정보를 가격에 반영하는 과정이다. 행동 재무 연구(Behavioural research)는 문서화되고 지속적인 투자자 오류에 대한 두 번째 비판 라인을 추가한다.
누구든 시장을 이길 수 있는가?
일부 투자자와 펀드는 벤치마크를 상회하는 장기 기록을 보여주었다. 가설은 그 결과를 금지하지 않는다. 이는 기술과 운을 분리하는 데 대부분의 트랙 레코드가 포함하는 것보다 훨씬 더 많은 데이터가 필요하며, 능동적 운용(active management)에 투자된 평균적인 1달러는 여전히 수수료 후에 뒤처진다고 주장한다.
위의 모든 패널은 SQL이 첨부된 저장된 쿼리(stored query)이다. 하나를 열어 산술을 확인하거나, Strasmore 터미널에서 관심 있는 종목에 대해 동일한 자기상관 테스트를 실행하라.