백테스트 실험

『주식시장을 이기는 작은 책』 마법공식을 국내 주식에 적용했다: KOSPI를 이겼을까 (DART·KRX 2005~2026)

readtest 2026. 10. 6. 19:26

『주식시장을 이기는 작은 책』의 마법공식은 미국 주식을 대상으로 한 이야기다. 앞선 글에서 미국 주식 약 1,000개로 재현했더니 연 10~11%로 SPY(14.4%)에 못 미쳤다. 같은 규칙을 한국 주식에 적용하면 어떻게 될까. 저자도 인터뷰에서 미국 밖에서도 효과가 있다고 했다고 하니(후기 글의 노트 기준), 이번에는 국내 시장으로 확인했다. 데이터가 서로 다른 두 가지 방법으로 돌렸다. A는 DART 재무제표로 2016~2026년을, B는 한국거래소(KRX)가 그날그날 공표한 값으로 2005~2026년을 본다. B는 나중에 상장폐지된 종목까지 포함한다.

결론부터

  • 두 방법 모두에서 마법공식 상위 30개는 KOSPI에 못 미쳤다. A(2016~2026)는 연 3.2~4.7%로 KOSPI 12.8%에, B(2005~2026)는 연 -0.8~3.7%로 KOSPI 9.1%에 졌다. 교체하는 달 12가지 중 KOSPI를 이긴 달은 A와 B 모두 한 번도 없었다.
  • 같은 종목군을 그냥 균등하게 산 것(A 4.1~5.8%, B 4.2~4.7%)과 비교해도 마법공식은 비슷하거나 더 낮았다. 공식이 종목군 평균보다 낫다는 근거는 없었다.
  • 다만 국내 시장 자체가 KOSPI에 못 미쳤다. KOSPI는 시가총액 가중 지수라 삼성전자 같은 초대형주 비중이 크다. 시총 상위 200개를 균등하게 산 것도 B에서 연 5.0%로 KOSPI(9.1%)에 4%p 이상 뒤졌다. 격차의 상당 부분은 공식이 아니라 "대형주 쏠림 지수와 균등가중의 차이"였다.
  • 시기를 나눠 보면 B의 2005~2010년 진입 구간에서는 시총 2,000억·1조 원 이상의 마법공식이 연 16~17.5%로 KOSPI(14.1%)보다 높았다. 2011년 이후에는 이 우위가 사라졌다. 이 구간의 보유 기간이 71개뿐이고 2008년 폭락을 포함하므로 우연일 가능성도 크다.
  • 순위 10분위는 A에서는 상위 그룹이 하위 그룹보다 높은 편이었지만(1~4위 8~11%, 8~10위 2~6%), B에서는 순위와 수익률의 관계가 거의 없었다. 일관된 순위 효과는 확인되지 않았다.
  • 이 결과는 마법공식 원형이 아니라 근사 지표로 얻은 것이다. 한국 시장에서 원형 공식이 안 통했다고 단정할 수는 없다.

무엇을 어떻게 돌렸나

미국 재현과 같은 규칙을 썼다. 두 지표의 순위를 합쳐 상위 30개를 균등 비중으로 사고, 1년 뒤 다시 순위를 매겨 교체한다. 교체 달은 12가지로 나눠 각각 돌렸다. 순위는 교체 직전 데이터로 만들고 체결은 다음 거래일(B는 월초) 종가로 했다. 비용은 교체 1회당 왕복 0.5%(수수료·거래세·슬리피지 근사)를 뺐다. 가격 수익률만 쓰고 배당은 넣지 않았다. 비교 대상인 KOSPI도 가격지수다. 종목은 보통주만 쓰고, 금융·전기가스는 뺐다. 시가총액 하한은 책의 사이트처럼 단계를 나눠 500억·2,000억·1조 원 이상 세 가지로 했다.

  • A. DART 재무 (2016-04~2026-09): 사업보고서 주요 계정(영업이익, 자산총계, 유동부채, 부채총계). 우리 수집분에는 유형자산·현금·차입금이 없어서 지표를 근사했다. 자본수익률은 영업이익 ÷ (자산총계 − 유동부채)(ROCE), 이익수익률은 영업이익 ÷ (시가총액 + 부채총계). 시가총액은 월말 스냅샷을 썼고, 공시일 다음날부터 재무를 반영했다. 시총 500억 원 이상 통과 종목은 시점당 약 680~1,440개다. 가격 데이터에는 상장폐지 종목이 일부(248개)만 있어서 생존편향이 남는다.
  • B. KRX 시점 스냅샷 (2005-02~2026-09): pykrx로 매월 마지막 거래일에 KRX가 공표한 PER·PBR·EPS·BPS와 시가총액, 월초 종가를 전 종목에 대해 받았다. 그날 상장된 종목 전체가 들어 있어서 나중에 상장폐지된 종목도 포함한다. 영업이익이 없어서 마법공식을 "ROE(EPS÷BPS) + 이익수익률(EPS÷주가)" 변형으로 바꿨다. KRX가 적자 기업의 EPS를 0으로 공표하므로 흑자 종목만 순위를 매긴다. 통과 종목은 시총 500억 원 이상 평균 약 950개(2005년에는 약 250개, 이후 1,000개 이상), 2,000억 원 이상 약 410개, 1조 원 이상 약 130개다.
  • 상장폐지 처리(B): 다음 월초 스냅샷에서 사라진 종목은 수익률을 -100%로 두었다(보수적). 0%로 둔 낙관적 시나리오도 돌렸고, 결과 차이는 연 1%p 안팎이었다. 아래 B 수치는 -100% 기준이다.
  • 월간 수익률은 종가 비율로 계산하고 상장주식수가 크게 바뀌면 분할·병합으로 보고 보정했다. 종목별 월간 수익률은 +300%로 제한했다.

KOSPI를 이겼나

A. DART 재무 (2016~2026), 교체 달 12가지 평균

구분 연평균 수익률 범위(달별) 최대 낙폭 샤프
마법공식 상위 30 (시총 500억 원 이상) 4.4% 1.4~8.6% -50% 0.30
마법공식 상위 30 (2,000억 원 이상) 3.2% 0.7~5.3% -53% 0.26
마법공식 상위 30 (1조 원 이상) 4.7% 3.0~6.6% -48% 0.33
균등가중 (500억 / 2,000억 / 1조 원 이상) 4.1% / 4.3% / 5.8% - -52~-54% 0.29~0.37
이익수익률 순위만 상위 30 (500억 이상) 8.3% 6.5~11.2% -46% 0.47
자본수익률(ROCE) 순위만 상위 30 (500억 이상) -0.7% -3.4~2.1% -55% 0.11
KOSPI 12.8% 12.4~13.4% -44% 0.64

B. KRX 시점 스냅샷 (2005~2026, ROE + 이익수익률), 교체 달 12가지 평균

구분 연평균 수익률 범위(달별) 최대 낙폭 샤프
마법공식 상위 30 (시총 500억 원 이상) -0.8% -3.7~2.5% -65% 0.09
마법공식 상위 30 (2,000억 원 이상) 0.0% -3.3~2.0% -65% 0.12
마법공식 상위 30 (1조 원 이상) 3.7% 1.0~7.0% -61% 0.28
균등가중 (500억 / 2,000억 / 1조 원 이상) 4.4% / 4.2% / 4.7% - -54% 0.31~0.33
시총 상위 200개 균등가중 5.0% 3.7~6.0% -56% 0.33
이익수익률 순위만 상위 30 (500억 이상) 4.9% 2.4~7.5% -61% 0.32
ROE 순위만 상위 30 (500억 이상) -5.2% -7.7~-1.8% -81% -0.08
KOSPI 9.1% 8.0~9.9% -47% 0.51

※ 연평균 수익률은 복리 환산, 최대 낙폭과 샤프는 월간(B) 또는 일간(A) 자산곡선 기준. 1조 원 이상 마법공식은 대상 종목이 60개 이상이 되는 2005년 9월 이후 시작이라 다른 구간보다 몇 달 늦다. 상장폐지를 0%로 가정하면 B의 마법공식은 0.2% / 1.1% / 4.6%였다. 지표 읽는 법은 성과지표 글.

국내 마법공식 상위 30, 균등가중, KOSPI 연평균 수익률 비교, DART 재무와 KRX 스냅샷
국내 마법공식 상위 30, 균등가중, KOSPI 연평균 수익률 비교, DART 재무와 KRX 스냅샷

A와 B 모두 마법공식은 균등가중 종목군과 같은 수준이거나 더 낮았다. 이익수익률만 쓴 경우가 A에서는 가장 좋았고(8.3%) 자본수익률(근사)이나 ROE만 쓴 경우가 가장 나빴다. 두 지표를 합친 효과가 한쪽만 쓴 경우보다 낫다는 근거는 없었다. ROE 순위만으로 상위 30개를 사면 B에서 -5.2%, 최대 낙폭 -81%였다. 자본이 아주 작은 종목이 ROE 상위에 몰렸을 가능성이 있지만 원인은 확인하지 못했다.

아래 그림은 B에서 12개 교체 달 중 중간 수준인 코호트의 자산곡선이다. 균등가중 종목군과 KOSPI는 2008년 이후 비슷하게 움직이다가 2025년 이후 KOSPI만 크게 올랐다. 마법공식(1조 원 이상)은 2008년 폭락 후에도 회복이 더뎠다.

국내 마법공식 1조 원 이상, 균등가중, 시총 상위 200, KOSPI 자산곡선
국내 마법공식 1조 원 이상, 균등가중, 시총 상위 200, KOSPI 자산곡선

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

구분 평균 중앙값 최악 손실 난 비율 KOSPI를 이긴 비율
A 마법공식 (500억 원 이상) 8.0% 1.9% -33.3% 47% 39%
A 마법공식 (1조 원 이상) 6.4% 2.2% -26.7% 49% 31%
A KOSPI 16.3% 7.0% -29.9% 40% -
B 마법공식 (500억 원 이상) 2.4% -0.3% -60.0% 50% 32%
B 마법공식 (1조 원 이상) 6.3% -0.7% -45.9% 49% 34%
B 시총 상위 200 균등가중 7.8% 3.5% -52.5% 40% 40%
B KOSPI 11.7% 4.8% -45.3% 39% -

※ 12개 교체 달의 1년 보유 구간을 모두 모은 것(A 114개, B 248개). 같은 달끼리는 겹치지 않지만 달이 다르면 서로 겹친다.

마법공식은 1년 보유의 절반 정도(47~50%)에서 손실이 났다. KOSPI(39~40%)보다 손실 비율이 높았고, 평균은 상승 구간 몇 개가 끌어올린 것이어서 중앙값은 0% 안팎에 불과했다. KOSPI를 이긴 해는 3분의 1 정도였다.

시기별로 보면 (B, 2005~2026)

미국 재현에서는 2010년대 이후 효과가 사라진 것으로 보였다. 국내 B는 2005년까지 거슬러 올라가므로 시기를 나눠 볼 수 있다(진입 연도별 1년 보유 평균 수익률).

진입 연도 마법공식(500억 이상) 마법공식(2,000억 이상) 마법공식(1조 이상) 균등가중(500억 이상) KOSPI
2005~2010 (71개 구간) 7.1% 16.1% 17.5% 8.7% 14.1%
2011~2015 (60개 구간) -0.6% -5.4% -5.8% 8.8% -0.1%
2016~2025 (117개 구간) 1.3% 0.5% 6.7% 5.0% 16.4%

시기별 국내 마법공식과 균등가중, KOSPI 1년 보유 평균 수익률
시기별 국내 마법공식과 균등가중, KOSPI 1년 보유 평균 수익률

2005~2010년 진입에서는 시총이 큰 쪽(2,000억·1조 원 이상)의 마법공식이 KOSPI를 앞섰다. 책이 말한 효과와 방향이 같다. 하지만 시총이 작은 쪽(500억 원 이상)은 같은 기간에도 KOSPI에 못 미쳤고, 이 구간의 표본(71개)이 작은 데다 2008년 폭락 이후 반등기를 포함한다. 2011년 이후에는 모든 단계에서 우위가 사라졌다. 같은 방식으로 보면 미국에서처럼 한국에서도 "초반에는 괜찮았고 이후에는 안 통했다"는 모양이지만, 이것을 요인 소멸로 해석하려면 더 많은 근거가 필요하다.

진입 연도별 전체 결과는 다음과 같다(1년 보유 평균, %). 2005년과 2025년은 일부 달만 포함된다.

진입 연도 마법공식 500억+ 마법공식 1조+ 균등가중 500억+ 시총 상위 200 균등 KOSPI
2005 12.6 13.5 25.6 28.1 28.7
2006 33.6 41.1 28.6 38.0 24.9
2007 -14.2 -5.2 -11.5 -6.1 -4.5
2008 -30.3 -22.8 -24.8 -8.6 -6.9
2009 19.1 31.1 18.2 18.5 27.1
2010 9.9 31.4 6.2 18.5 16.6
2011 -3.5 -7.9 1.0 -9.9 -4.0
2012 8.0 -4.9 11.5 0.7 2.5
2013 1.2 1.1 8.3 1.9 0.7
2014 1.5 -5.8 21.9 13.2 1.5
2015 -10.3 -11.4 1.3 -5.0 -1.5
2016 -0.7 5.9 0.1 0.6 15.7
2017 -2.3 -2.1 3.6 5.2 3.3
2018 -2.2 -11.4 -8.9 -15.0 -10.3
2019 2.0 -7.1 4.6 -3.3 3.2
2020 57.6 40.6 44.3 40.7 44.9
2021 -8.0 -15.1 -9.1 -16.5 -17.1
2022 -15.4 -3.6 -4.0 -3.5 -2.4
2023 -14.0 -5.3 -1.2 6.5 7.3
2024 -6.2 12.8 -0.1 13.5 14.1
2025 2.8 67.0 25.3 62.3 134.6

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

미국 재현과 같이 통과 종목(시총 500억 원 이상)을 마법공식 순위대로 10등분해 그룹별 1년 보유 평균 수익률을 구했다. A에서는 1위 9.5%, 2위 8.7%, 3위 11.2%, 4위 8.2%로 상위 그룹이 높고, 8위(2.0%)부터 10위(5.2%)까지는 낮은 편이었다. 약하게나마 순위가 좋을수록 높은 모양이다. 반면 B에서는 1위 5.3%, 5위 8.9%, 10위 8.0%로 순위와 수익률의 관계가 거의 없었다. 상위 그룹과 하위 그룹 수익률의 차이가 뚜렷하지 않아서 "순위 효과"로 읽기는 어려웠다.

국내 마법공식 순위 10분위별 1년 보유 평균 수익률, DART와 KRX 스냅샷
국내 마법공식 순위 10분위별 1년 보유 평균 수익률, DART와 KRX 스냅샷

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

A에서 마법공식(500억 원 이상)의 교체 달별 수익률은 1.4%(8월)부터 8.6%(5월)까지, B에서는 -3.7%(11월)부터 2.5%(4월)까지 갈렸다. 하지만 A와 B에서 좋았던 달이 서로 달랐다. 달마다 보유 구간이 10~21개뿐이어서 결과 대부분은 몇 개 종목의 우연으로 보인다. "몇 월에 교체하라"는 결론은 낼 수 없었다.

"3년만 참으면"은 어땠나

B의 모든 3년 구간(2,574개, 서로 많이 겹침)에서 마법공식이 KOSPI를 이긴 비율은 500억 원 이상 31%, 1조 원 이상 20%였다. 같은 종목군 균등가중을 이긴 비율은 25%, 39%였다. 3년 수익률이 마이너스인 구간이 57%(500억 이상)와 54%(1조 이상)나 됐다. 가장 나쁜 3년은 -60.6%와 -42.1%로, KOSPI의 최악(-26.2%)보다 훨씬 나빴다. 책이 말한 "3년이면 시장을 이길 확률 95%"와는 거리가 멀었다.

왜 KOSPI에 못 미쳤나

  • 지수의 대형주 쏠림. KOSPI는 시총 가중이라 삼성전자 같은 초대형주가 지수를 끌고 간다. 시총 상위 200개를 균등가중하면 B에서 연 5.0%로, KOSPI(9.1%)보다 4.1%p 낮았다. 균등가중 종목군(4.4%)과 KOSPI의 격차(약 4.7%p)에 대부분이 포함된다. 그래서 공식과 KOSPI의 격차를 곧바로 "공식이 나쁘다"로 읽으면 안 된다.
  • 공식이 종목군 평균을 못 넘었다. 같은 조건의 균등가중 종목군(B 4.2~4.7%)과 비교하면 마법공식은 -5.2~-1.0%p 차이다. 두 지표를 합친 순위가 평균 종목보다 낫다는 증거는 없었다.
  • 국내 소형주의 부진. 시총 500억 원 이상 균등가중 종목군도 A·B 모두 연 4%대에 그쳤다. 국내 중소형주 전반이 부진했던 시기라는 점이 영향을 줬을 가능성이 있다.
  • 지표 근사. 원형의 영업이익 기반 자본수익률(ROC)과 EV 기반 이익수익률을 쓰지 못했다. 이 차이가 결과를 얼마나 바꾸는지는 확인하지 못했다.

미국 결과와 비교하면

미국 재현(앞선 글)에서는 마법공식이 SPY보다 연 3~4%p 낮았다. 국내는 A에서 KOSPI보다 8~9.6%p, B에서 5.4~9.9%p 낮아서 격차가 더 컸다. 지수 구성이 대형주에 쏠려 있고, 우리가 쓴 국내 지표가 근사라는 점을 감안하면 직접 비교는 조심해야 한다. 그래도 방향은 같다. 두 나라 모두에서 2010년대 이후 마법공식으로 시장 지수를 이기기는 어려웠다. 미국 대용 실험에서 확인했듯 같은 아이디어가 책의 기간 근처에는 잘 통했을 가능성이 있고, 국내 B의 2005~2010년 구간이 이 흐름과 맞는 점은 흥미롭지만 표본이 작다.

한계

  • 지표가 원형이 아니다. A는 ROCE와 총부채 기반 EV 근사, B는 ROE와 EPS 기반 이익수익률 변형이다. 영업이익 대신 순이익 기반 EPS를 쓴 B는 금융비용·세금·일회성 손익의 영향을 받는다. 책의 정의를 그대로 재현한 것이 아니다.
  • B는 흑자 종목만 순위를 매겼다. KRX가 적자 기업의 EPS를 0으로 공표하므로 적자 종목은 순위에서 빠졌다. 10분위의 하위 그룹도 흑자 종목끼리의 순위다. 2005년에는 통과 종목이 약 250개뿐이어서 초기 구간 해석에 주의가 필요하다.
  • 상장폐지 종목 수익률은 가정이다. 사라진 종목을 -100% 또는 0%로 두었다. 실제는 인수합병, 우회상장, 파산이 섞여 있다. 두 시나리오의 차이는 연 1%p 안팎이었지만, 분할·병합을 주식수 변화로 추정하는 방식에도 오차가 있다.
  • A의 데이터 한계. DART 재무가 수집된 종목(약 1,760개)에 한정되고, 시총 500억 원 이상 종목 중 약 2/3 안팎만 포함된다. 가격 데이터에 상장폐지 종목이 일부만 있어 생존편향이 남는다.
  • 월간 단위. B는 월초 종가로 수익률을 이어 붙여서 월 중 변동이나 최대 낙폭이 실제보다 작게 나온다. 체결은 월초 종가로 가정했다.
  • 가격 수익률만 쓰고 배당은 넣지 않았다. KOSPI도 가격지수다. 시가총액 하한은 명목 금액이라 시기에 따라 같은 하한이 가리키는 종목의 성격이 다르다.
  • 교체 달 12가지는 서로 대부분 같은 종목을 공유하므로 독립적인 12번의 실험이 아니다. 3년 구간도 많이 겹친다.
  • 금융·전기가스 제외는 반기 업종 분류 스냅샷으로 했고, 우선주와 스팩은 보통주 코드와 시총 하한으로 걸렀다. 분류가 불완전할 수 있다.

정리

한국 주식에서도 마법공식 상위 30개는 KOSPI를 이기지 못했다. DART 재무로 본 2016~2026년과, 상장폐지 종목까지 포함한 2005~2026년 모두 같은 결론이었다. 다만 이 결론에는 두 가지 단서가 붙는다. 첫째, 격차의 상당 부분은 "시총 가중 KOSPI 대 균등가중 종목군"의 차이에서 나온다. 둘째, 우리가 쓴 지표는 책의 공식을 근사한 것이다. 그래도 같은 종목군 평균을 못 넘었다는 점, 순위와 수익률의 관계가 일관되지 않았다는 점은 두 방법에서 공통이었다. 시기를 나눠 보면 2005~2010년에는 시총이 큰 구간에서 KOSPI를 앞서기도 했지만 이후에는 사라졌다. 후기의 평점 3.5점은 그대로 둔다. 미국과 한국 두 시장의 재현은 모두 "공식 자체의 한계"보다 "시기와 데이터의 한계"가 크다는 결론으로 이어졌다. 데이터 오류가 결과를 바꾸는 사례는 백테스트 데이터 오류 글, 국내 가치지표 백테스트는 국내 PEG 글에 있다.


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

반응형