데이터셋 안내 2026.09.01
기계 독자용 안내는 셋으로 갈립니다 — 무엇이 있나 · AI 에이전트가 쓰는 법 MCP 커넥터·프롬프트 · 사람이 받아 가는 법 CSV·JSON 파일
5분이면 됩니다
- 1부른다 — 카탈로그부터입니다. 나머지 파일의 주소가 전부 여기 있습니다.curl -s https://aikstockdata.com/data/public/index.json
- 2이렇게 옵니다 — 아래는 꾸며 낸 예시가 아니라 이 페이지를 발행할 때 그 파일에서 그대로 읽은 앞 12줄입니다.
{ "schema_version": "1.1", "site": "한국주식데이터 (aikstockdata.com)", "@type": "DataCatalog", "name": "한국주식데이터 — 공개 데이터 카탈로그", "description": "이 사이트가 공개하는 모든 JSON·CSV 의 목차입니다. 파일 크기(file_bytes)·소형 대체본(fetch_guide)· …(줄 잘림) "generated_kst": "2026-09-01 18:10", "generated_at": "2026-09-01T18:10:00+09:00", "code_rev": "b092b86", "as_of": "2026.09.01", "published_date_iso": "2026-09-01", "quote_basis_date": "20260831", …전체 1,094줄 · 이 파일은 우리가 공개하는 모든 JSON·CSV 의 목차입니다 (크기·신선도·소형 대체본 포함). 전문 보기
- 3아니면 한 줄로 — 이 주소를 Claude·ChatGPT 설정에 한 번 넣으면 됩니다. 넣는 법은 바로 아래에 있습니다.https://mcp.aikstockdata.com/mcp
① 시세 (quotes)
전 영업일 확정 종가. 종목 하나만 필요하면 /data/public/s/종목코드.json(영문 키 병기)을 쓰세요.
다운로드: JSON · CSV · 종목별 소형 JSON
| 필드 | 정의 |
|---|---|
| basDt | 시세 기준일(YYYYMMDD, 전 영업일 확정) |
| 종목코드 / itmsNm | 종목코드 / 종목명 |
| mrktCtg | 시장(KOSPI/KOSDAQ/KONEX) |
| clpr | 종가(원) |
| mkp/hipr/lopr | 시가/고가/저가(원) |
| vs | 전일대비(원) |
| fltRt | 등락률(%) |
| trqu | 거래량(주) |
| trPrc | 거래대금(원) |
| lstgStCnt | 상장주식수 |
| mrktTotAmt | 시가총액(원) |
이 데이터로 할 수 없는 것
- T+1 확정 종가다 — 실시간 시세가 아니다.
- 장중 고저가가 없다(원천에 없다). 종가 기준 값만 신뢰할 것.
- 파일이 크다 — 잘림이 걱정되면 quotes_slim.json 또는 quotes_top300.json 을 쓸 것.
수집 방법: 금융위원회 공공데이터(getStockPriceInfo)에서 T+1 확정 종가를 매 거래일 18:10 KST 수집. 실패하면 그날 수집을 건너뛰고 직전 성공본을 그대로 내보낸다 — 그 사실은 index.json 의 pipeline 블록과 notices.json 에 남는다.
값이 바뀐 이력: 정정 피드 · 공지 원장
인용 예시: 한국주식데이터(aikstockdata.com), quotes.json, snapshot_id={snapshot_id}
② 공시 브리핑 (disclosures)
최근 7일 주요 공시 + 쉬운 말 풀이 + 중요도 점수 + 접수 시각(HH:MM)·장 구분. 원문은 DART 링크가 우선입니다.
| 필드 | 정의 |
|---|---|
| rcept_no | DART 접수번호(원문 식별) |
| rcept_dt | 접수일(YYYYMMDD) |
| receipt_time | 접수 시각 HH:MM(KST) — 공개 API 에 없어 따로 수집합니다. 못 얻으면 null |
| session | pre_open(~09:00) / intraday(09:00~15:30) / after_close(15:30~) / unknown — 마감 후 접수면 그날 종가 움직임은 통째로 공시보다 앞선 것입니다 |
| name / code | 종목명 / 종목코드 |
| label | 공시 유형(한글) |
| fact | 공시에서 추출한 주요 수치 |
| meaning | 일반 투자자용 쉬운 말 풀이 |
| score | 중요도 점수(시총 대비 규모 등 기계 산정) |
| url | DART 원문 링크 |
이 데이터로 할 수 없는 것
- 접수일 기준 최근 7일 롤링이다 — 그보다 오래된 건은 없다.
- as_of 는 시세가 아니라 수록된 마지막 공시 접수일이다.
- 접수 시각(HH:MM)은 DART 최근공시 화면에만 있는 값이라 확보 못 한 건은 session=unknown 이다.
- 유형(label)은 우리 22유형 분류다 — 해당 없으면 null 이고, 그때는 title 을 쓸 것.
- 각 항목의 type_impact 는 그 공시 유형의 과거 경로 집계이지 이 건의 예측이 아니다.
수집 방법: DART OpenAPI 로 공시 목록·재무를 받고, 접수 시각(HH:MM)은 공개 API 에 없어 DART 최근공시 화면에서 따로 회수한다. 유형 분류는 저장소의 22유형 사전으로 제목을 매칭한다(해당 없으면 label=null — 그때는 title 을 쓸 것).
값이 바뀐 이력: 정정 피드 · 공지 원장
인용 예시: 한국주식데이터(aikstockdata.com), disclosures.json, snapshot_id={snapshot_id}
③ 랭킹 (rankings)
DART 공시 재무 기반 자체 산식 결과. 점수는 기계 산정이며 투자 추천·등급이 아닙니다.
다운로드: JSON
| 필드 | 정의 |
|---|---|
| growth_top8 | 성장 TOP8(성분 b1 증가율·b2 규모·b3 마진개선·b4 이익률) |
| quiet_top | 조용한 실적주(성장·무관심·미반응·재무 백분위) |
| hi52 / movers | 52주 신고저 / 등락 상위·하위 |
| breadth | 상승·하락·보합 종목 수·비율 |
| fin_basis | ★성장·조용한 실적주가 어느 기수 재무로 계산됐는지 (latest_expected=달력상 있을 법한 최신 기수, n_at_latest=그 기수를 실제로 보유한 종목 수, periods=기수별 종목 수). 이 랭킹은 시세를 안 써서 새 정기보고서가 들어오기 전까지 매일 같다 |
이 데이터로 할 수 없는 것
- ★기계적 계산이지 종목 추천이 아니다.
- ★성장 TOP8·조용한 실적주는 시세를 쓰지 않는다 — DART 공시 재무만 쓴다. 그래서 새 정기보고서가 들어오기 전까지 순위는 매일 같다. 어느 기수로 계산했는지는 각 항목의 financial_period 와 파일의 fin_basis 를 볼 것(fin_basis.latest_expected 와 n_at_latest 가 벌어져 있으면 그만큼 과거를 말하는 순위다).
- 공개 재무·시세만 쓴다 — 컨센서스(시장 기대치) 데이터가 없다.
- 52주 신고가·신저가 목록은 상위 30건으로 잘린다. 전수 판정이 필요하면 screen.json 의 week52_high 와 close 를 직접 비교할 것.
- 어닝 스코어보드는 파일 크기(AI 잘림) 때문에 earnings.json 으로 분리했다.
수집 방법: 공개 재무(DART)와 확정 시세(금융위)에서 산식으로 계산한다. 산식 버전은 formula_version, 모집단 크기는 growth_universe_n 에 실린다.
값이 바뀐 이력: 정정 피드 · 공지 원장
인용 예시: 한국주식데이터(aikstockdata.com), rankings.json, snapshot_id={snapshot_id}