백테스트 실험

『주식시장을 이기는 작은 책』 마법공식을 미국 주식 16년으로 재현했다: SPY를 이겼을까

readtest 2026. 10. 5. 20:45

『주식시장을 이기는 작은 책』에서 저자 조엘 그린블라트는 자본수익률과 이익수익률 순위를 합쳐 상위 30개 종목을 사서 1년 뒤 바꾸는 "마법공식"이 시장을 이겨 왔다고 말한다. 저자는 이 결과가 우연이 아니라는 근거로 종목 풀을 3,500개, 2,500개, 1,000개로 바꿔 가며 확인했다고 한다. 후기 글에서는 이 책을 읽은 감상을 적었고, 평점은 백테스트 결과에 따라 달라질 수 있다고 남겼다. 이번에는 미국 주식 약 1,000개 종목으로 이 공식을 직접 재현했다. 확인하려던 질문은 네 가지다. 공식이 SPY를 이겼는지, 1년마다 교체하는 달에 따라 결과가 달라지는지, 순위가 좋은 그룹일수록 수익률이 높았는지, 그리고 결과가 책과 크게 다르다면 책이 근거로 삼은 시기에는 어땠는지.

결론부터

  • 2010~2026년 미국 주식에서 마법공식 상위 30개는 연평균 10.3~11.2%(교체 달 12개의 평균, 시가총액 하한 5천만·2억·10억 달러 세 가지)로, 같은 기간 SPY(14.4%)와 같은 조건의 종목군 균등가중(12.0~12.8%)에 모두 못 미쳤다. 최대 낙폭도 -42~-44%로 SPY(-34%)보다 깊었다.
  • 12개 교체 달 중 SPY를 이긴 달은 한 번도 없었다. 1년 보유 구간만 놓고 보면 SPY를 이긴 비율은 37~40%였다.
  • 순위를 10개 그룹으로 나눠도 순위가 좋을수록 수익률이 높아지는 모양은 없었다. 1위 그룹은 연 14.6%로 SPY와 비슷했고, 4~5위와 8위 그룹이 더 높았다. 가장 나쁜 9·10위 그룹(약 12%)만 눈에 띄게 낮았다.
  • 교체하는 달에 따라 연 8.2%(12월)에서 12.4%(9월)까지 갈렸지만, 같은 공식을 지수 구성종목에 돌렸을 때 가장 좋았던 달은 4월이었다. 달마다 결과가 일관되지 않아서 "몇 월에 교체하면 유리하다"고 말할 근거는 없었다.
  • 저자가 책에서 말한 "3년 보유하면 95% 확률로 시장 평균을 이긴다"는 이 재현에서 36~46%였다.
  • 다만 이 결과로 책의 주장이 틀렸다고 말할 수는 없다. 이 재현은 2009년 이후 재무 데이터가 있는 기간이라 책이 근거로 삼은 시기와 겹치지 않고, 상장폐지된 기업의 가격 데이터가 없다. 공개된 요인 데이터로 근사해 보면 "싸고 수익성 높은 종목"은 1988~2004년에 시장을 연 9.6%p 이겼고, 이번 재현 기간(2010년 이후)에는 연 9.8%p 졌다. 결과 차이의 상당 부분은 기간일 가능성이 크다.

무엇을 어떻게 돌렸나

  • 종목: 현재 미국에 상장된 기업 중 SEC에 재무제표가 있는 약 4,000개를 모두 모았다. 금융·유틸리티는 뺐다(업종은 SEC 업종 코드 기준). 교체 시점마다 필요한 재무 항목이 모두 있고 주가가 1달러 이상인 종목만 남기고, 책의 사이트처럼 시가총액 5천만·2억·10억 달러 이상 세 가지로 나눠 돌렸다. 시점마다 통과한 종목 수는 평균 약 975개, 814개, 556개다.
  • 재무 데이터: 미국 SEC가 공개하는 연간 재무제표(XBRL). 12월 결산이 아닌 기업도 결산일에 맞는 분기말 재무상태표를 골라 포함했다. 회계연도 말에서 90일이 지난 뒤부터 쓰도록 해서 발표 시점을 근사했다.
  • 자본수익률(ROC) = 영업이익 ÷ (순운전자본 + 순유형자산). 순운전자본은 현금과 이자 부담 부채를 뺀 값이다. 이익수익률(EY) = 영업이익 ÷ (시가총액 + 차입금 − 현금). 영업이익을 EBIT 대용으로 썼다.
  • 두 순위를 합산해 상위 30개를 균등 비중으로 사고, 1년 보유 후 다시 순위를 매겨 교체했다. 순위는 교체일 종가로 만들고 다음 거래일 종가에 체결했다. 교체할 때마다 전량 교체를 가정해 왕복 0.2% 비용을 뺐다. 세금은 반영하지 않았다.
  • 비교 대상: SPY, 그리고 같은 시점의 조건을 통과한 종목 전체를 균등 비중으로 사서 같은 날 교체한 포트폴리오(이하 "종목군 균등가중"). 후자는 이 종목 구성 자체가 가진 편향을 걸러 내기 위한 기준선이다.
  • 교체 달 12가지: 2010년 4월 또는 2011년 1~3월에 시작해, 1월부터 12월까지 각각 같은 달에 1년마다 교체한 12개의 포트폴리오를 따로 돌렸다.
  • 가격 오류 방어: 파산 후 재상장이나 액면병합 때문에 가격 이력이 끊긴 종목이 +17,000% 수익률로 잡히는 오류가 있었다. 그래서 종목별 1년 보유 수익은 +500%까지만 반영했다.

처음에는 현재 S&P 500·400·600 구성종목만으로 돌렸다. 이 경우 조건을 통과하는 종목이 평균 약 500개뿐이었고, 결과도 지금 글과 크게 달랐다. 두 결과의 차이는 아래 "종목군을 바꾸면" 섹션에서 비교한다.

마법공식은 SPY를 이겼나

구분 (12개 교체 달 평균) 연평균 수익률 범위(달별) 최대 낙폭 샤프
마법공식 상위 30 (시총 5천만 달러 이상) 10.3% 8.2~12.4% -44% 0.56
마법공식 상위 30 (시총 2억 달러 이상) 11.2% 8.8~12.8% -43% 0.59
마법공식 상위 30 (시총 10억 달러 이상) 11.1% 9.9~13.7% -42% 0.60
종목군 균등가중 (시총 5천만 달러 이상) 12.0% 11.6~12.7% -41% 0.64
SPY 14.4% 14.0~15.2% -34% 0.88

※ 연평균 수익률은 복리 환산, 최대 낙폭과 샤프는 일간 자산곡선 기준(위험 무보정). 지표 읽는 법은 성과지표 글에 정리했다.

마법공식은 어느 시가총액 하한에서도 같은 종목군을 그냥 균등하게 산 것보다 연 1.2~1.7%p 낮았고, SPY보다는 연 3.2~4.1%p 낮았다. 종목 수가 많은 쪽(5천만 달러 이상)이 오히려 가장 낮았다. 아래 그림은 12개 교체 달 중 중간 수준인 3월에 교체한 경우의 자산곡선이다. 2020년까지는 SPY와 비슷하게 움직이다가 2021년 이후 격차가 벌어졌다.

3월 교체 마법공식 상위 30, 종목군 균등가중, SPY 자산곡선 비교
3월 교체 마법공식 상위 30, 종목군 균등가중, SPY 자산곡선 비교

1년 보유 구간으로 쪼개 보면

12개 교체 달의 1년 보유 구간을 모두 모으면 186개다(같은 달끼리는 서로 안 겹치지만 달이 다르면 겹친다).

구분 평균 중앙값 최악 손실 난 비율 SPY를 이긴 비율
마법공식 (시총 5천만 달러 이상) 12.2% 5.8% -27.9% 31% 38%
마법공식 (시총 2억 달러 이상) 12.9% 8.4% -29.8% 30% 40%
마법공식 (시총 10억 달러 이상) 13.4% 9.7% -25.9% 28% 37%
SPY 14.9% 15.6% -18.3% 10% -

책에서 저자는 공식이 4년에 한 번쯤 시장을 못 이긴다고 했다. 이 재현에서는 10번 중 6번 이상(60~63%) SPY보다 못했다. 평균은 SPY에 가까워도 중앙값이 5.8~9.7%로 크게 낮은 것은, 몇몇 해의 큰 수익이 평균을 끌어올렸다는 뜻이다. 손실이 난 구간도 SPY(10%)보다 세 배가량 많았다.

진입 연도별로 보면 해마다 차이가 컸다(시총 5천만 달러 이상 기준).

진입 연도 마법공식 종목군 균등가중 SPY
2010 21.2% 18.5% 13.5%
2011 -2.3% 5.3% 10.7%
2012 25.6% 28.6% 21.0%
2013 24.8% 26.9% 20.9%
2014 6.4% 5.4% 9.4%
2015 4.7% -2.8% 3.3%
2016 20.3% 24.3% 19.3%
2017 13.7% 19.4% 14.9%
2018 -2.0% -0.3% 6.7%
2019 1.3% 7.6% 13.8%
2020 83.0% 64.7% 34.9%
2021 -8.3% -13.8% 1.3%
2022 -6.9% -4.6% 4.4%
2023 5.4% 11.8% 27.4%
2024 -8.3% 6.1% 17.4%
2025 21.4% 32.1% 21.4%

※ 해당 연도에 진입한 보유 구간들(최대 12개 교체 달)의 1년 수익률 평균. 2010년과 2025년은 각각 9개 달이다(2025년은 보유 기간이 끝까지 간 것만).

16개 진입 연도 중 마법공식이 SPY를 이긴 해는 6번뿐이었다. 2020년 한 해에 +83%가 나오면서 전체 평균을 끌어올렸고, 2021~2024년에는 4년 연속으로 SPY에 졌다. 저자는 "몇 년을 버텨야 한다"고 했지만, 이 구간에서는 버틴 뒤에도 평균 격차가 메워지지 않았다.

"3년만 참으면 95%"는 어땠나

책은 3년 단위로 보면 공식이 시장 평균을 이긴 비율이 95%이고, 3년 구간의 최악이 +11%였다고 주장한다. 같은 방식으로 12개 교체 달의 모든 3년 구간(1개월 간격 1,878개)을 비교했다.

구분 SPY를 이긴 3년 구간 종목군 균등가중을 이긴 구간 3년 수익률 최악 3년 수익률이 마이너스인 구간
마법공식 (5천만 달러 이상) 36% 41% -35.6% 15%
마법공식 (2억 달러 이상) 46% 47% -31.8% 13%
마법공식 (10억 달러 이상) 41% 47% -23.7% 6%
SPY - - +11.7% 0%

3년 구간은 거의 겹치므로 표본이 1,878개라고 해서 독립적인 관측이 아니다. 실제로는 몇 개 안 되는 시기의 결과로 읽어야 한다. 그래도 책이 말한 95%나 "최악 +11%"와는 거리가 멀었다.

몇 월에 교체하느냐가 중요했나

후기 글에서 궁금하다고 적었던 질문이다. 시총 5천만 달러 이상 기준으로 교체 달에 따라 마법공식의 연평균 수익률은 8.2%(12월)부터 12.4%(9월)까지 4.2%p 벌어졌다. 숫자만 보면 큰 차이다. 다만 두 가지 이유로 "이 달에 사라"는 결론은 내릴 수 없었다.

교체하는 달별 마법공식, 종목군 균등가중, SPY 연평균 수익률
교체하는 달별 마법공식, 종목군 균등가중, SPY 연평균 수익률

  • 달마다 순서가 일관되지 않는다. 같은 공식을 지수 구성종목에 돌렸을 때는 4월이 가장 좋았고 2월이 가장 나빴다. 시총 10억 달러 이상으로 보면 4월(13.7%)이 가장 좋았지만, 5천만 달러 이상에서는 9월이 가장 좋았다. 종목군을 바꾸면 순위가 바뀐다.
  • 달마다 보유 구간이 16개뿐이고, 그 안에서 몇 개 종목의 큰 수익이 결과를 좌우한다. 12개 포트폴리오가 서로 대부분 같은 종목을 공유하는 점도 있다.
  • 같은 종목군 균등가중은 달에 따라 11.6~12.7%로 차이가 1.1%p에 그쳤다. 마법공식의 달별 차이(4.2%p)는 30개 종목만 고르는 데서 오는 변동으로 보는 편이 합리적이다.

정리하면 교체 달을 바꾸면 결과가 3~4%p씩 흔들릴 수 있다는 것은 사실이고, 그것이 계절 효과인지 단순한 우연인지는 이 데이터로 가려낼 수 없었다. 우연일 가능성이 더 커 보였다.

순위 그룹별 수익률: 순위가 좋을수록 높았나

책은 2,500개 기업을 순위대로 10개 그룹으로 나눴을 때 상위 그룹일수록 수익률이 높았다고 한다. 같은 방식으로 각 시점의 통과 종목(시총 5천만 달러 이상, 평균 약 975개)을 마법공식 순위대로 10등분하고, 그룹별 1년 보유 평균 수익률(186개 구간)을 구했다.

결과는 위 그림과 같다. 1위 그룹은 14.6%로 SPY(14.9%)와 비슷했고, 2~8위 그룹은 12.9~15.9%에서 들쭉날쭉했다. 4위(15.4%), 5위(15.3%), 8위(15.9%) 그룹이 1위보다 높았다. 순위가 가장 나쁜 9위(12.1%)와 10위(12.0%) 그룹만 낮았다. 이 데이터에서는 "수익성 나쁘고 비싼 종목을 피하는 효과"는 있었지만 상위 그룹이 더 높다는 계단 모양은 나타나지 않았다.

마법공식 순위 10분위별 1년 보유 평균 수익률
마법공식 순위 10분위별 1년 보유 평균 수익률

종목군을 바꾸면 결과가 얼마나 달라지나

처음에 돌렸던 지수 구성종목 버전과 이번 확장 버전을 같이 보면 이렇다(12개 교체 달 평균).

종목군 시점당 통과 종목 마법공식 종목군 균등가중 SPY
현재 S&P 1500 구성종목, 시총 10억 달러 이상 약 500개 13.7% 15.4% 14.4%
현재 상장 전체, 시총 10억 달러 이상 약 556개 11.1% 12.8% 14.4%
현재 상장 전체, 시총 2억 달러 이상 약 814개 11.2% 12.4% 14.4%
현재 상장 전체, 시총 5천만 달러 이상 약 975개 10.3% 12.0% 14.4%

같은 "시총 10억 달러 이상"이어도 지수 구성종목만 쓰면 마법공식이 연 13.7%, 현재 상장 전체를 쓰면 11.1%였다. 2.6%p 차이다. "지금 S&P 1500에 들어 있는 종목"은 나중에 크게 성장한 회사가 포함된 집합이라, 그 안에서 고르면 과거 성과가 부풀려진다. 비슷한 편향은 같은 균등가중 기준선(15.4% 대 12.8%)에도 똑같이 나타났다. 종목을 늘릴수록 마법공식 수익률이 오른 것이 아니라 오히려 내려간 것도 이 때문이다. 더 큰 풀이 더 정직한 결과였다.

풀을 이렇게 넓혀도 책이 말한 1,000~3,500개에는 못 미친다. 2009년 이후 재무가 있는 회사는 약 9,100개인데, 이 중 약 5,100개는 지금 상장폐지됐거나 티커가 바뀌어서 무료 데이터로는 주가를 구할 수 없다. 이 데이터에 없는 종목에는 파산하거나 인수된 회사가 많고, 싸 보이는 부실 기업이 마법공식이 고르는 종목과 겹치는 경우가 많다. 이들을 넣으면 공식 성과는 지금보다 더 낮게 나올 가능성이 크다.

책의 기간에는 어땠나: 대용 실험

결과가 책과 이렇게 다르면 데이터나 방법이 틀렸을 가능성부터 의심하게 된다. 그래서 책이 근거로 삼은 시기(노트에는 "17년"이라고만 적었고, 1988~2004년 전후로 알고 있다)를 직접 돌려 보려고 했다. 하지만 마법공식을 그 시기에 그대로 재현하는 것은 이 블로그가 쓰는 무료 데이터로는 불가능하다. 종목별 재무제표를 발표 시점 기준으로 갖춘 유료 데이터가 필요하고, 무료로 쓸 수 있는 SEC 재무는 2009년부터 시작하기 때문이다.

대신 같은 방향의 요인을 공개 자료로 근사했다. 미국 케네스 프렌치 교수가 공개하는 5×5 포트폴리오 자료(1963년부터, 상장폐지된 종목 포함)를 썼다. 모든 미국 주식을 장부가 대비 시가총액(싼 정도)과 영업이익 대비 자기자본(수익성)으로 5×5로 나누고, 매년 6월 말에 다시 구성한 수익률이다. 이 중 가장 싸고 가장 수익성이 높은 칸을 균등 비중으로 산 경우를 시장, 전체 25칸의 균등 평균과 비교했다.

이 칸은 마법공식과 같지 않다. 수익성 지표가 자기자본 기준이고 싼 정도도 장부가 기준이라 자본수익률(ROC)·이익수익률(EY)과 정의가 다르다. 30개 종목이 아니라 수백 개 종목이고, 소형주 비중이 크다. 그래서 "마법공식의 결과"가 아니라 "싸고 수익성 높은 종목이라는 같은 아이디어가 기간별로 어땠는지"를 보는 용도다.

기간 싸고 수익성 높은 칸(균등) 전체 25칸 평균(균등) 시장 시장 대비 차이
1964~1987 17.1% 15.2% 9.5% +7.5%p
1988~2004 (책의 기간 근처) 21.9% 17.7% 12.4% +9.6%p
2005~2009 11.6% 2.8% 1.1% +10.5%p
2010-04~2026-08 (이번 재현 기간) 4.3% 11.3% 14.1% -9.8%p
2015~2026-08 -1.6% 9.7% 13.7% -15.2%p

※ 연평균 수익률(복리). 시장은 프렌치 자료의 시장 초과수익에 무위험 수익률을 더한 값. 수익성은 영업이익/자기자본, 싼 정도는 장부가/시가총액 기준 상·하위 20%.

싸고 수익성 높은 종목의 기간별 연평균 수익률, 1964년부터 2026년까지 시장과 비교
싸고 수익성 높은 종목의 기간별 연평균 수익률, 1964년부터 2026년까지 시장과 비교

같은 아이디어가 책의 기간 근처에서는 시장을 연 9.6%p 앞섰고, 이번 재현 기간에는 연 9.8%p 뒤졌다. 연도별로 보면 1988~2004년에는 17년 중 11년(65%) 시장을 이겼고 연평균 +11.4%p였다. 2010~2025년에는 16년 중 7년(44%)만 이겼고 연평균 -5.6%p였다. 값싼 전체 25칸 평균 대비로 줄여 봐도 방향은 같다(책의 기간 +4.2%p, 이번 재현 기간 -7.0%p). 소형주가 많이 섞인 균등가중이라는 점을 감안해도 기간에 따라 부호가 바뀐 셈이다.

이 실험에서 읽을 수 있는 것은 세 가지다. 첫째, 이번 재현에서 수익률이 낮았던 이유의 상당 부분은 종목 선정 방법이 아니라 시기였을 가능성이 크다. 같은 요인이 2010년대 이후 미국 시장에서는 시장보다 뒤졌다. 둘째, 이 자료는 상장폐지 종목을 포함하는데도 같은 결과가 나왔으므로 앞서 걱정한 생존편향이 차이의 주된 원인은 아니다. 셋째, 요인이 약해진 것이 일시적인지, 책이 널리 알려진 뒤 효과가 줄어든 것인지는 이 자료로 가를 수 없다.

한계

  • 생존편향: 현재 상장된 기업만 쓴 데이터다. 상장폐지된 기업의 주가가 없다. 이 편향은 싸고 부실한 종목을 사는 방식에 유리하게 작용하므로 실제 결과는 이 글보다 나쁠 가능성이 크다. 크기는 측정하지 못했다.
  • 기간이 다르다: SEC 연간 재무가 정리된 것은 2009년 이후라서 이 재현은 2010~2026년이다. 책이 근거로 삼은 것은 2000년대 초반까지의 과거 자료이고, 이 기간은 겹치지 않는다. 공식이 작동했다는 책의 기간 자체를 검증한 것이 아니다. 위 대용 실험은 다른 정의의 요인 포트폴리오라서 마법공식의 결과로 읽으면 안 된다. 공식이 널리 알려진 뒤 효과가 약해졌을 가능성도 구분할 수 없다.
  • 종목 수: 통과 종목이 시점당 평균 약 975개(최대 약 1,350개)로, 책이 말한 2,500~3,500개 풀보다 작다.
  • 재무 데이터: 연간 재무만 썼고, 공시 시점은 회계연도 말 + 90일로 근사했다. 재공시된 수정값이 섞일 수 있어서 엄밀한 발표 시점 데이터가 아니다. 필요한 계정이 없는 기업과 주식 수 이상치로 보이는 종목-연도(전체의 약 8%)는 제외했다.
  • 지표 근사: 영업이익을 EBIT로, 차입금은 장·단기 차입 합산으로 근사했다. 리스 부채와 일부 계정 누락은 반영하지 못했다. 책의 정의와 완전히 같지 않다.
  • 가격 데이터: 무료 일봉 데이터의 오류를 완전히 걸러 내지 못했다. 진입가 1달러 미만 종목을 제외하고 종목별 1년 수익을 +500%로 제한한 것은 임의 기준이다.
  • 세금, 배당소득 과세, 시장 충격 비용은 넣지 않았고 비용은 왕복 0.2% 고정이다. 책이 권하는 세금 계좌 매도 요령(1년 전후 매도 시점 조정)도 반영하지 않았다.
  • 교체 달 12가지는 서로 대부분 같은 종목을 공유하므로 독립적인 12번의 실험이 아니다.

정리

이 데이터에서 마법공식은 SPY를 이기지 못했다. 시가총액 하한 세 가지, 12개 교체 달 모두에서 그랬고, 책이 말한 "순위가 좋을수록 수익이 높다"와 "3년이면 95%"도 재현되지 않았다. 처음에는 지수 구성종목만 썼더니 결과가 훨씬 좋아 보였지만(13.7%), 현재 상장 전체로 넓히자 10~11%로 내려왔다. 이 차이가 이번 실험에서 가장 크게 배운 점이다. 종목을 늘려도 상장폐지 종목과 시기라는 한계는 풀리지 않았다. 그래서 이 결과를 "마법공식이 틀렸다"로 읽을 수는 없고, 2010년대 이후 미국 시장에서 이 공식을 그대로 따라 했다면 SPY를 이기기 어려웠을 가능성이 있다 정도로 읽는 것이 맞다고 본다. 책의 기간 근처에서는 같은 아이디어가 시장을 크게 이겼다는 점이 대용 자료로 확인되므로, 책과 이 재현의 수익률 차이는 오류라기보다 시기 차이로 설명되는 부분이 크다. 책 속 저자의 말대로 이 공식의 가장 큰 관문이 수익률보다 규칙을 지키는 일이라면, 4년 연속 지는 구간을 버텨야 했던 이 결과는 그 말에 오히려 가까웠다. 후기의 평점 3.5점은 그대로 둔다. 이 결과만으로 점수를 올리거나 내릴 근거는 부족했다. 데이터 오류가 결과를 얼마나 바꾸는지는 백테스트 데이터 오류 글, 비슷한 가치 지표 비교는 가치 지표 글과 린치 PEG 글에 있다. 같은 규칙을 국내 주식에 적용한 결과는 『주식시장을 이기는 작은 책』 마법공식을 국내 주식에 적용했다에 정리했다.


※ 본 글은 과거 데이터로 책의 주장을 검증한 학습 기록이며 투자 권유가 아닙니다. 과거 성과가 미래를 보장하지 않으며, 투자 판단과 책임은 투자자 본인에게 있습니다.

반응형