이 데이터는 어떻게 만들어지나요?
KOSPI·KOSDAQ 시가총액 상위 종목입니다(2026.07.17 기준 1,500종목 — KOSPI 671 · KOSDAQ 829). 시가총액 순위라는 기계적 기준만 사용하며, 운영자의 판단으로 종목을 넣거나 빼지 않습니다.
- 수집 — 한국투자증권(KIS) OpenAPI에서 매 거래일 10:00(장중)·16:00(종가 확정) 자동 수집. 실패 시 11:00·12:00 / 17:00에 자동 재시도합니다.
- 정화 게이트(단일 관문) — 원천이 결측을 0으로 반환하는 지표의 0→null 정규화, 지주회사 업종 병기, 자체 검증 플래그 부여. CSV·JSON·HTML 세 게시 경로가 같은 정화본 하나만 사용합니다(삼면 등가).
- 무결성·시점 검증 — 기준일·수집시각·스냅샷종류 등 시점 메타 5요소 기록, 주말·휴장 가드. 시세 결측이 5%를 넘으면 그날 게시를 중단하고 직전 정상본을 유지합니다(last-good).
- 배포 — Cloudflare 정적 배포 + GitHub 저장소 자동 미러.
모든 수치는 실시간이 아닌 수집 시점의 스냅샷입니다. 전 페이지 상단 배지와 latest.json 메타에 기준일·수집시각(KST)·스냅샷종류(장중|종가확정)를 기계가독으로 기록하므로, 인용·분석 전 기준시각을 확인할 수 있습니다.
아래 표는 게시 코드의 필드정의에서 자동 생성됩니다 — 필드가 늘면 이 표도 자동 갱신됩니다.
| 필드 (영문 별칭) | 단위 | 정의·산식 |
|---|---|---|
| 종목코드 code | - | 식별 정보 — 원천(KIS)이 제공하는 값 그대로 |
| 종목명 name | - | 식별 정보 — 원천(KIS)이 제공하는 값 그대로 |
| 시장구분 market | - | 식별 정보 — 원천(KIS)이 제공하는 값 그대로 |
| 업종 sector | - | 식별 정보 — 원천(KIS)이 제공하는 값 그대로 |
| 현재가 price | 원(마지막 갱신 시점 시세) | 마지막 갱신 시점 시세 — 시점은 최상위 메타의 '스냅샷종류'(장중|종가확정)와 '수집시각_KST'가 확정값(매 거래일 10시·16시 2회 갱신) |
| 시가총액 market_cap_100M_KRW | 억원 | 상장주식수×시세(억원) |
| 가격기준일 price_as_of_yyyymmdd | YYYYMMDD | 현재가·시가총액의 실제 수집일(데이터 나이). 기준일과 다르면 당일 수집 실패로 마지막 정상값을 승계한 값 |
| 상장주식수 shares_outstanding | 주 | 상장주식수(주) — 자사주 소각·증자 등 주식수 변동 추적용 |
| W52고가 week52_high | 원 | 최근 52주 최고가(원) — 현재가 타당성 검증 범위의 상단(anti-stale 앵커) |
| W52저가 week52_low | 원 | 최근 52주 최저가(원) — 범위 하단. 현재가가 52주 범위 밖으로 보이면 데이터 오류가 아니라 조회 시점(기준일)부터 확인 |
| PER per | 배 | 식별 정보 — 원천(KIS)이 제공하는 값 그대로 |
| PBR pbr | 배 | 식별 정보 — 원천(KIS)이 제공하는 값 그대로 |
| 선행EPS forward_eps | 원 | 차기 추정 주당순이익(컨센서스) |
| 선행PER forward_per | 배 | 종가÷선행EPS |
| 추정영업이익YoY est_op_income_yoy_pct | % | 추정 영업이익 전년대비 증가율(%, 증권사 추정) |
| 분기영업이익YoY q_op_income_yoy_pct | % | 최근 확정 분기 영업이익의 전년동기대비 증가율(%, 실측) |
| 투자의견 analyst_rating | - | 애널리스트 컨센서스 투자의견 |
| 추정이상 flagged_for_review | bool | 검증 대상 플래그(true=발동 룰 1개 이상 — 어떤 룰인지는 '추정이상사유' 참조). 종목에 대한 평가가 아니라 해당 수치가 검증 대상이라는 표시 |
| 추정이상사유 flag_rule_ids | 룰ID 배열 | 추정이상 발동 룰ID 목록(R1/R2/R3 — 각 룰 정의는 최상위 '플래그룰정의' 참조). CSV에서는 'R1;R2' 형식 문자열, 빈 값이면 미발동 |
| YoY라벨 yoy_sign_flip_label | 문자열|null | 직전(기저) 영업이익이 0 이하이거나 부호가 반전되면 YoY%가 산술적으로 무의미 — % 대신 쓰는 중립 라벨(흑자전환(추정)·적자전환(추정)·적자지속(추정)). null이면 % 그대로 유효 |
값이 null이면 '데이터 미제공'(애널리스트 미커버 등)이며 0과 다릅니다. 원천(KIS)이 결측을 0으로 반환하는 현재가·시가총액·PER·PBR·EPS·BPS·선행PER은 0을 결측(null)으로 정규화했습니다. 따라서 이 데이터셋에서 현재가 0원·PER 0배 같은 값은 존재하지 않습니다. 이 정규화·검증은 CSV·latest.json·HTML 세 경로 모두에 동일하게 적용됩니다(단일 게시 관문).
플래그는 종목에 대한 평가가 아니라 해당 수치가 검증 대상이라는 표시입니다. 아래 목록은 플래그 사유 원장에서 자동 생성되어 데이터(JSON '플래그룰정의'·CSV '추정이상사유')와 항상 일치합니다.
| 룰ID | 정의 |
|---|---|
| R1 | 시세·추정 격차 — 추정 매출·영업이익이 직전 실적의 1.8배를 초과해 수치를 검증 대상으로 표시 |
| R2 | 극단 YoY — 전년 대비 증가율 절대값이 400%를 초과(저기저 왜곡 가능성)해 수치를 검증 대상으로 표시 |
| R3 | 시총 검증 — 종가×상장주식수와 시가총액의 불일치·급변으로 수치를 검증 대상으로 표시 |
투자의견이 존재하는 205종목 중 매수 계열 85%(175종목) · 중립 계열 15%(30종목) · 매도 계열 0종목입니다. 국내 증권사는 매도 의견을 사실상 내지 않는 관례가 있으므로, 의견 분포는 이 배경을 감안해 읽어야 합니다. 이 수치는 매 빌드 게시 정화본에서 자동 집계되며, 홈 범례·관찰 종목·종목 페이지의 분포 설명과 같은 값을 공유합니다.
증권사 추정 지표(선행EPS 등)는 애널리스트가 커버하는 184종목에만 존재합니다. 빈칸(null)은 오류가 아니라 애널리스트 커버리지 없음(중소형주 다수 해당)입니다.