이 사이트의 데이터를 어떻게 검증했나

기준일 2026-07-12감사 6항목행출처 KRX · DART · ECOS 원천 실측

요약

  • 과거 시세로 뭔가를 계산하기 전에 데이터 자체를 먼저 뜯어봤어요. 여섯 항목 전부 통과했지만, 통과가 곧 “문제가 없었다”는 뜻은 아니에요.
  • 일별 시세 테이블에는 중복된 줄이 1,776만 건 있었어요. 값이 실제로 다른 키는 0건이라 손실 없이 접을 수 있었고요.
  • 재무 데이터의 공시 시점을 하나의 규칙으로 뭉뚱그려 추정하면 12월 결산이 아닌 기업에서 크게 틀려요. 실제 접수일을 쓰기로 못박은 이유예요.

무엇을 어떻게 돌렸나

감사 대상은 이 사이트의 모든 표가 딛고 서 있는 다섯 개 원본이에요. 일별 시세, 수정주가 계수, 재무제표와 그 접수일, 배당·밸류 스냅샷, 지수와 금리. 항목마다 “이 데이터를 그대로 쓰면 어떤 계산이 틀리는가”를 먼저 정해 두고, 그 일이 실제로 일어나는지 쿼리로 세어 봤어요.

감사한 날은 2026년 7월 12일이고, 모든 수치는 감사 쿼리를 다시 돌리면 그대로 나와요. 감사에서 나온 결정은 엔진 규칙으로 못박아서, 이후 모든 계산이 같은 방식을 쓰게 했어요.

감사가 필요한 이유는 단순해요. 데이터가 틀리면 그 위에서 아무리 정교하게 계산해도 결과는 틀리니까요. 게다가 데이터 오류는 대개 계산을 멈춰 세우지 않아요. 조용히 그럴듯한 숫자를 내놓고, 그 숫자가 발행되고 나서야 드러나죠. 계산 전에 데이터를 의심하는 절차를 따로 둔 이유예요.

통한 것

수정주가 계수. 액면분할·병합·감자가 있으면 그 전후 주가를 그대로 견줄 수 없어요. 이벤트 4,216건, 종목 1,928곳을 확인했고 이미 알려진 사례로 맞춰 봤어요. 삼성전자 2018-05-04 = 50.000, NAVER 2018-10-12 = 4.993, 카카오 2021-04-15 = 4.982. 5대 1 분할이 5.000이 아니라 4.98~4.99로 나오는 건 기준가 호가단위 반올림 때문이에요. 실제로 관측된 비율을 그대로 써야 하루하루의 수익률이 끊기지 않아서, 정수로 반올림하지 않아요.

중복 행. 일별 시세 테이블에서 같은 (종목, 날짜) 키가 490만 개, 중복된 줄이 1,776만 건 있었어요. 네이버 테마·업종 정보를 붙이면서 줄이 불어난 게 원인이고요. 같은 키 안에서 가격·수급 8개 항목의 값이 실제로 다른 경우가 몇 건인지 전부 확인했더니 0건이었어요. 그래서 테마·업종 항목을 빼고 중복을 접으면 잃는 정보가 없어요.

벤치마크와 무위험수익률. 거래일 4,067일 가운데 코스피 지수, 코스닥 지수, CD 91일물 금리에 빠진 날이 하나도 없었어요. 배당·밸류 스냅샷은 2010년 1월부터의 월말 212개 일자고요. 이 스냅샷이 “그 시점에 시장이 알고 있던, 가장 최근에 확정된 값”이라는 걸 98.5% 교차검증으로 확인했고, 언제나 기준일 이전의 가장 가까운 스냅샷만 써요.

통하지 않은 것

여섯 항목이 전부 통과했지만, 그 과정에서 하나의 규칙으로 뭉뚱그리면 틀리는 지점이 세 군데 드러났어요.

재무 공시 시점을 날짜 규칙으로 추정하면 틀려요. 사업보고서가 결산일로부터 접수되기까지 걸린 날은 중앙값 82일이지만 상위 5%는 242일이에요. 게다가 결산일 이전에 접수된 보고서가 275건 있어요. 정체는 12월 결산이 아닌 기업(3월·6월 결산 등)이에요. “사업보고서는 결산 후 90일”처럼 일률적으로 잡으면 이런 기업에서 아직 공시되지도 않은 재무를 미리 쓰게 돼요. 그래서 실제 접수일이 기준일 이전인 보고서만 쓰기로 못박았어요.

보고서건수지연 중앙값상위 5%법정기한 내결산일 이전 접수
사업21,78082일242일77.2%275건
반기19,74645일60일74.5%60건
1분기22,06745일57일72.0%0건
3분기19,96645일48일81.8%151건
보고서 종류별 접수 지연 (결산일 대비)

상장폐지를 어떻게 처리하느냐가 결과를 좌우해요. 3,472개 종목 가운데 810곳이 상장폐지됐어요. 폐지된 종목의 마지막 20거래일 누적 등락률은 중앙값 −9.1%p이고, 아래쪽 25%는 −162%p예요. 폐지 전 하락은 대부분 데이터에 이미 찍혀 있어요(정리매매·연속 하한가). 그래서 들고 있는 도중에 데이터가 사라지면 마지막 종가에서 −10%로 강제 청산하는 규칙을 써요. 중앙값 근처의 보수적인 어림이고, 실제 분포의 꼬리가 더 나쁘니 결과를 좋은 쪽으로 밀지 않아요.

이 세 지점의 공통점은 평균이나 통념으로 규칙을 세우면 예외에서 크게 틀린다는 거예요. 사업보고서 지연의 중앙값 82일은 맞는 값이지만, 그 값으로 규칙을 만들면 3월 결산 기업에서 아직 나오지도 않은 재무를 쓰게 돼요. 상장폐지 손실의 중앙값 −9.1%p도 맞지만 아래쪽 25%는 −162%p고요. 대표값 하나로 데이터를 요약하는 순간 꼬리가 사라지고, 사라진 꼬리는 결과를 좋은 쪽으로 밀어요.

재무 데이터가 언제부터 있느냐가 계산 시작 시점을 묶어요. 재무제표 계정은 2015년 이후만 있어요. 그래서 재무 지표를 쓰는 계산은 2016년 1월 이후에 시작해야 첫 해에 빈 값과 미래 정보가 섞여 들어오지 않아요. 배당·시세만 쓰는 계산은 2010년부터 할 수 있고요. 이 사이트의 페이지마다 데이터가 덮는 기간이 다른 이유가 여기 있어요.

감사에서 나온 결정은 개별 계산에 맡기지 않고 로더 계약으로 못박았어요. 같은 데이터를 계산마다 다르게 읽으면, 두 결과가 어긋났을 때 어느 쪽이 맞는지 가릴 수 없으니까요.

감사가 확정한 규칙

대상규칙
가격일별 시세를 중복 제거해 읽고, 수정주가 계수를 누적 적용
유니버스기준일 당일 시세가 존재하는 종목 (생존편향 차단)
재무접수일이 기준일 이전인 보고서만
밸류·배당기준일 직전 스냅샷 (미래 정보 차단)
상장폐지마지막 종가 −10% 강제 청산
무위험·벤치마크CD 91일물 일별 실측, 코스피·코스닥 지수
감사 결과로 못박은 데이터 처리 규칙

이 표가 말하지 않는 것

  • 감사는 2026년 7월 12일 시점의 데이터를 본 거예요. 그 뒤에 쌓인 데이터는 같은 감사를 다시 거쳐야 해요.
  • 여섯 항목은 이 데이터로 계산할 때 틀리기 쉬운 곳을 고른 거지, 데이터의 모든 성질을 확인한 게 아니에요.
  • 생존편향은 규칙으로 줄였을 뿐 없앤 게 아니에요. 대상 종목을 기준일 시점으로 잡고 폐지 종목을 −10%로 청산해도, 정리매매 체결가는 실제로 팔 수 있는 가격과 다를 수 있어요.
  • 상장폐지 −10% 청산은 중앙값 기준의 어림이에요. 아래쪽 25%가 −162%p라는 건 개별 사례에서 이 어림이 크게 빗나갈 수 있다는 뜻이고요.
  • 배당·밸류 스냅샷은 2010년부터 2025년까지 월말 기준이에요. 월 중간의 값은 없어요.
  • 재무 계정이 2015년부터라서 그 이전 구간의 재무 지표는 낼 수 없어요.

데이터 출처

  1. 데이터 감사 기록 DATA_AUDIT.md — 2026-07-12 실측. 감사 쿼리 재실행으로 재현 가능
  2. 한국거래소 일별 시세·수정주가 계수·지수 — 2010-01-04 이후
  3. 금융감독원 DART 정기보고서 및 접수 이력 — 2015년 이후
  4. 한국은행 ECOS CD 91일물 금리

이 글은 공개된 데이터를 정리한 자료이며 투자 권유가 아닙니다. 표의 숫자는 위에 적힌 기준일 시점의 값입니다. 계산식과 데이터 출처는 데이터·계산식에 있습니다. 투자 판단과 그 결과에 대한 책임은 투자자 본인에게 있습니다.