KRX 접근 방식과 사이드 이펙트 통제
상태
승인
후보군
| 방안 | 설명 |
|---|
| MDC 스크래핑 (OTP+getJsonData) | data.krx.co.kr의 generate.cmd로 OTP 발급 → getJsonData.cmd POST로 JSON 수집 |
| 공식 유료 데이터벤더 | KRX 인증 데이터 채널/벤더 API 구독 |
결정
MDC 스크래핑으로 시작하고, 차단·약관 이슈 발생 시 유료 벤더를 재검토한다. 호출은 다음으로 통제한다.
- bld별 OTP 토큰을 매 호출 발급해
getJsonData.cmd에 전달한다.
- 호출 간 간격을 두고, 4xx/5xx·차단 응답에 재시도·지수 백오프를 적용한다.
- 마감 후 1배치로만 호출한다 (ADR-002). 고빈도 폴링 금지.
결정 이유
- 개인 프로젝트 규모에서 유료 벤더는 과투자다. 1일 1배치·전종목 1회 호출은 부하가 작다.
- 데이터가 공개 통계라 1회 배치 스크래핑의 실효 리스크가 낮다.
검토 대안
| 방안 | 기각 이유 |
|---|
| 유료 데이터벤더 | 개인 프로젝트 대비 비용 과다, 현 단계 불필요 |
트레이드 오프
| 구분 | 내용 |
|---|
| 득 | 비용 0, 전종목 데이터 확보, 구현 단순 |
| 실 | 약관 회색지대·차단 가능성 — rate 통제·백오프로 완화, 차단 시 벤더 전환 필요 |