
도입
“Sell in May and go away.” 5월에 팔고 떠나라는 격언은 미국·유럽 시장에서 유래했다. 국내에서도 이 이야기가 자주 인용되지만, 실제 국내 데이터로 직접 확인한 결과는 드물다.
“5월에 팔고, 11월에 다시 사라”
코스피(KS11)와 코스닥(KQ11) 가격지수의 약 6.5년치 데이터(2020~2026, 월당 약 6~7개 표본)로 월별 수익률을 집계하고, 무작위 시뮬레이션으로 우연 여부를 확인했다.
분석 대상:
- 코스피(KS11), 코스닥(KQ11) 가격지수
- 기간: 2020~2026 (월당 표본 6~7개)
확인한 것:
- 12개월 중 수익률이 가장 높은 달과 낮은 달의 차이
- 그 차이가 우연으로 설명 가능한지 (무작위 시뮬레이션)
- “Sell in May” — 5~10월 vs 11~4월 승패 기록
- 연도별 순위 안정성
시뮬레이션 결과, 코스피에서 관측된 월별 차이는 무작위로 월 라벨을 섞어도 약 88%에서 나타나는 수준이었다.
핵심 요약
- 코스피 월별 수익률 1위 5월(약 +5.3%), 12위 3월(약 -2.8%). 차이 약 8.2%p
- 무작위 시뮬레이션에서 이 정도 차이가 코스피 약 88%, 코스닥 약 96%에서 나타났다. 우연으로 충분히 설명 가능하다
- Sell in May: 5~10월 2승 vs 11~4월 4승 (6쌍). 표본이 적어 판단할 수 없다
- 2026년 한 해를 추가하자 7월의 순위가 8계단 변동했다. 월당 표본이 6~7개뿐이기 때문이다
어떻게 계산했나
월별 수익률은 각 월의 첫 거래일 종가에서 마지막 거래일 종가까지의 변화율이다. 미완결 월(데이터의 마지막 달)은 제외했다.
12개월 중 1위와 12위의 차이는, 관계가 전혀 없더라도 반드시 크게 나온다. 12개 중 하나를 골라 “이 달이 특별하다”고 발표하는 것은 사후 선택이다. 이 함정을 확인하기 위해 무작위 시뮬레이션(10,000회)을 실시했다.
시뮬레이션 방법: 각 연도 안에서 12개 월 라벨을 무작위로 섞었다. 이렇게 하면 “좋은 해/나쁜 해”라는 연도별 성격은 유지되고, “3월이라는 이름이 특별한가”만 검정된다.
이 분석은 실제 전략의 재현이 아니다. 거래비용, 세금, 재진입 시점 등이 반영되지 않았다.
분석 결과
코스피
| 월 | 평균 수익률 | 표본 |
|---|---|---|
| 5월 (1위) | 약 +5.3% | 약 7개 |
| 3월 (12위) | 약 -2.8% | 약 7개 |
| 차이 | 약 8.2%p |
무작위 시뮬레이션에서 이 정도 차이가 약 88%에서 발생했다. 월 라벨을 섞어도 대부분 이 정도 차이는 우연히 나타난다.
코스닥
| 월 | 평균 수익률 | 표본 |
|---|---|---|
| 11월 (1위) | 약 +2.8% | 약 6개 |
| 9월 (12위) | 약 -3.6% | 약 6개 |
무작위 시뮬레이션에서 약 96%에서 이 정도 차이가 발생했다. 코스닥의 월별 차이는 거의 전적으로 우연으로 설명된다.
Sell in May (5~10월 vs 11~4월)
6쌍을 비교한 결과, 5~10월 2승, 11~4월 4승이었다. 표본이 6쌍에 불과해서 이 승패로 어떤 판단도 내릴 수 없다.
반대 관점
같은 데이터로 반대 주장이 모두 가능하다.
- “5월 수익률이 1위”를 강조하면: “오히려 5월에 사야 한다”
- “11~4월이 4승”을 강조하면: “역시 Sell in May가 맞다”
- 시뮬레이션 결과를 강조하면: “월별 계절성은 없다”
셋 중 어느 것을 강조하느냐에 따라 결론이 달라진다. 공통점은 모두 표본 6~7개에 기반한 사후적 관측이라는 것이다.
진짜 궁금했던 것
연도별로 월 순위가 얼마나 안정적인지 확인했다. 만약 특정 월이 매년 꾸준히 1위라면 표본이 적더라도 의미가 있을 수 있다.
결과: 순위는 해마다 크게 뒤바뀌었다. 2026년 한 해를 추가하자 7월의 순위가 8계단이나 변동했다(코스피 기준). 월당 표본이 6~7개이기 때문에, 한 해의 결과가 전체 평균을 크게 흔든다.
요일 분석(q31)과 비교하면 이 문제가 더 뚜렷하다. 요일 분석은 요일당 표본이 약 320개였지만, 월별 분석은 월당 약 6~7개에 불과하다. 비교 대상은 12개(요일은 5개)로 더 많다. 우연히 튀어나올 여지가 훨씬 크다.
이 결과를 어떻게 해석해야 할까
1. 월별 차이는 우연으로 설명 가능하다
무작위 시뮬레이션에서 코스피 약 88%, 코스닥 약 96%의 경우에 관측된 수준의 차이가 나타났다. 특정 월이 특별히 좋거나 나쁘다는 증거는 없었다.
2. 표본이 적어서 안정적인 결론을 낼 수 없다
월당 6~7개는 통계적으로 매우 적은 표본이다. 연도 하나가 추가되면 순위가 크게 흔들린다. 10년 뒤에 같은 분석을 하면 결과가 달라질 가능성이 높다.
이 분석의 한계
가격지수
배당 미반영. 12월 배당락이 12월 수익률에 하방 압력을 줄 수 있지만, 표본 6~7개로는 확인할 수 없다.
기간 의존성
2020~2026 약 6.5년. 코로나, 2026년 급락 등 특수한 기간이 포함되어 있다.
표본 수
월당 6~7개는 백분율(%)로 표기하면 실제보다 정밀해 보인다. “7번 중 4번” 수준이다.
국내 특수 요인
12월 배당락, 4월 결산, 1월 효과 등 국내 시장 고유의 요인이 있을 수 있지만, 표본 6~7개로는 검증할 수 없다.
인과관계 아님
설령 차이가 통계적으로 유의했더라도, 그 원인을 이 데이터만으로 알 수 없다.
마무리
월별 수익률에 차이가 있는 것은 사실이다. 그러나 무작위 시뮬레이션에서 대부분의 경우 같은 수준의 차이가 나타났다. 특정 월이 특별히 좋거나 나쁘다고 결론 낼 수 없고, Sell in May가 국내에서 유효하다고 말할 수도 없다.
월당 표본이 6~7개라는 점이 이 분석의 근본적 한계다. 데이터는 이랬다.
분석 정보
- 분석 대상: 코스피(KS11), 코스닥(KQ11) 가격지수
- 분석 기간: 2020~2026 (월당 표본 6~7개)
- 데이터 수집일: 2026-07-27
- 수집 도구: FinanceDataReader
- 사용 데이터: 일별 종가
- 표본 수: 약 78개월
- 지수 유형: 가격지수
- 배당 반영 여부: 미반영
- 세금·거래비용 반영 여부: 미반영
- 분석 도구: Python, SQLite
- 시뮬레이션: 10,000회 (연도 내 셔플)
소스코드는 정리 후 공개할 예정이다.
※ 이 글은 공개된 과거 시장 데이터를 바탕으로 작성한 정보성 콘텐츠입니다. 특정 금융상품의 매수·매도 또는 투자전략을 권유하지 않으며, 과거의 분석 결과는 미래의 수익을 보장하지 않습니다.