1 분 분량

“시장에서 가장 좋은 며칠만 놓쳐도 수익이 크게 줄어든다”는 이야기는 장기 보유를 권할 때 자주 나옵니다. 코스피 일별 종가(1995년 5월 ~ 2026년 10월 14일, 7,921거래일)로 직접 확인해 봤습니다. 놓친 날은 그날 수익률을 0으로 바꿔 계산했고, 가격 지수라 배당은 빠져 있습니다.

import FinanceDataReader as fdr

r = fdr.DataReader('KS11', '1995-01-01', '2026-10-14')['Close'].pct_change().dropna()
years = (r.index[-1] - r.index[0]).days / 365.25
cagr = lambda x: (1 + x).prod() ** (1 / years) - 1

best10 = r.nlargest(10).index
print(f'그대로 보유: {cagr(r):.2%}')
print(f'최고의 날 10일 놓침: {cagr(r.where(~r.index.isin(best10), 0)):.2%}')
  연복리 31년 누적
그대로 보유 6.20% 6.63배
최고의 날 10일 놓침 3.12% 2.63배
최고의 날 20일 놓침 0.81% 1.29배
최고의 날 30일 놓침 -1.25% 0.67배
최악의 날 10일 피함 9.93% 19.61배
최고·최악 10일 모두 빠짐 6.74% 7.77배

7,921일 중 10일, 0.13%만 빠져도 연 수익률이 반으로 줄었습니다. 30일을 놓치면 31년을 들고도 원금을 잃습니다. 여기까지는 흔히 듣는 이야기 그대로입니다.

그런데 표 아래 두 줄도 같이 봐야 합니다. 최악의 날 10일을 피했다면 연 9.93%였고, 최고와 최악을 함께 놓쳤다면 오히려 그냥 들고 있을 때보다 조금 나았습니다. “최고의 날을 놓치면 안 된다”는 논리는 반대 방향으로도 똑같이 성립합니다. 문제는 그 둘을 따로 고를 수 있느냐입니다.

두 날은 붙어 다닌다

코스피 최고의 날과 최악의 날

최고의 날 10일 중 6일은 최악의 날 10일 중 하나와 20거래일 안에 있었습니다. 2008년 10월 30일(+11.95%)은 10월 24일(-10.57%)의 4거래일 뒤였고, 2020년 3월 24일(+8.60%)은 3월 19일(-8.39%)의 3거래일 뒤였습니다. 2026년에는 3월 4일 -12.06% 다음 날 +9.63%가 나왔습니다. 2026년 한 해에만 최고의 날 5일과 최악의 날 4일이 몰려 있습니다.

변동성으로 봐도 같습니다. 최고의 날 10일 중 7일은 직전 60거래일 변동성이 전체 기간 상위 10%에 들던 시기에 나왔습니다. 가장 좋은 날은 평온한 상승장이 아니라 가장 무서운 장의 한가운데에서 나옵니다.

그래서 현실에서 최고의 날을 놓치는 사람은 운이 나쁜 사람이 아니라, 큰 하락에 놀라 팔고 나온 사람인 경우가 많습니다. 폭락 직후에 빠져 있으면 바로 이어지는 반등을 놓치기 쉽습니다. 손절 규칙 글에서 좁은 손절이 박스권에서 오히려 손실을 키웠던 것도 같은 구조입니다. 극단적인 날만 골라 피하는 것은 사후에나 가능하고, 실제로 할 수 있는 선택은 “그 구간 전체에 있느냐, 없느냐”에 가깝습니다.

전체 코드는 best_worst_days.py에 있습니다.

2026-10-22 수정: 본문 코드와 전체 코드(best_worst_days.py)에 데이터 종료일(2026-10-14)을 넣어 언제 실행해도 표의 수치가 그대로 나오게 했습니다.


이 글은 학습과 정보 공유 목적으로 작성되었으며, 특정 종목이나 상품에 대한 투자 권유가 아닙니다. 과거 데이터로 계산한 결과는 미래 성과를 보장하지 않습니다. 투자의 판단과 책임은 투자자 본인에게 있습니다.

최종 수정: