본문 바로가기
ETC/ETC

금융위원회 주식시세정보 API란?

by eplus 2026. 6. 20.

KRX 직접 조회 대신 사용할 수 있는 공공데이터 기반 주식시세 조회 방법

주식 데이터를 활용하는 프로그램을 만들다 보면 가장 먼저 필요한 정보가 있습니다. 바로 종목별 일자 시세 정보입니다.

예를 들어 다음과 같은 정보입니다.

종목코드
종목명
기준일자
시가
고가
저가
종가
전일대비
등락률
거래량
거래대금
시가총액
상장주식수
 

기존에는 KRX 사이트에 직접 접속해서 전체 종목 정보를 조회한 뒤 DB에 저장하는 방식으로 Batch 프로그램을 많이 만들었습니다. 하지만 KRX 화면 구조나 요청 방식이 변경되면 기존 프로그램이 갑자기 동작하지 않는 문제가 발생할 수 있습니다.

이럴 때 대체 수단으로 사용할 수 있는 것이 공공데이터포털의 금융위원회_주식시세정보 API입니다.


1. 금융위원회_주식시세정보 API 개요

금융위원회_주식시세정보 API는 공공데이터포털에서 제공하는 OpenAPI입니다.

공공데이터포털 설명에 따르면 이 API는 한국거래소에서 제공하는 상장 주식 및 관련 증권의 시세 정보를 제공하며, 시가, 종가, 고가, 저가, 거래량 등 주요 시세 항목을 포함합니다. 또한 주식뿐 아니라 수익증권, 신주인수권증권, 신주인수권증서 관련 시세 조회 기능도 제공됩니다.

쉽게 말하면, 개발자가 직접 KRX 사이트 화면을 분석해서 데이터를 가져오는 대신, 공공데이터포털을 통해 표준화된 API 형태로 주식시세 데이터를 조회할 수 있는 서비스입니다.


2. 왜 KRX 직접 조회 대신 API를 쓰는가?

KRX 사이트 직접 조회 방식은 빠르게 구현할 수 있다는 장점이 있습니다. 하지만 운영 프로그램에서는 다음 문제가 자주 발생합니다.

KRX 요청 주소 변경
요청 파라미터 변경
Referer, Header 조건 변경
응답 구조 변경
접속 차단 또는 제한
HTML/JSON 구조 변경
 

이런 변경이 발생하면 기존 Batch 프로그램이 갑자기 조회 실패를 일으킬 수 있습니다.

반면 공공데이터 API 방식은 정해진 요청 URL, 인증키, 파라미터, 응답 구조를 사용하기 때문에 운영 Batch 프로그램에 더 적합합니다.

특히 매일 장 마감 이후 전체 종목의 일자별 시세를 저장하는 용도라면 공공데이터포털 API 방식이 안정적입니다.


3. 제공되는 주요 데이터

금융위원회 주식시세정보 API를 사용하면 일반적으로 다음과 같은 정보를 조회할 수 있습니다.

기준일자
단축코드
종목명
시장구분
종가
전일대비
등락률
시가
고가
저가
거래량
거래대금
상장주식수
시가총액
 

이 데이터는 주식 분석, 일별 주가 저장, 종목별 추세 분석, 이동평균 계산, 거래량 분석 등에 사용할 수 있습니다.

예를 들어 DB에 매일 저장해 두면 다음과 같은 기능을 만들 수 있습니다.

일자별 전체 종목 시세 저장
종목별 주가 추이 조회
20일 이동평균 계산
60일 이동평균 계산
거래량 급증 종목 조회
등락률 상위 종목 조회
시가총액 순위 조회
 

4. API 활용 절차

API 사용 절차는 다음과 같습니다.

1. 공공데이터포털 회원가입
2. 금융위원회_주식시세정보 API 검색
3. 활용신청
4. 서비스 인증키 발급
5. 프로그램에서 API 호출
6. JSON 또는 XML 응답 파싱
7. DB 저장
 

공공데이터포털 OpenAPI는 일반적으로 회원가입과 활용신청이 필요하며, REST API 기반으로 JSON 또는 XML 형태의 데이터를 사용할 수 있습니다.


5. Batch 프로그램 처리 흐름

주식시세 저장 Batch 프로그램에서는 보통 다음 구조로 처리합니다.

프로그램 실행
→ 기준일자 설정
→ API 호출
→ 전체 종목 시세 조회
→ 데이터 존재 여부 확인
→ DB 저장
→ 이동평균 계산
→ 완료 로그 저장
 

예를 들어 2026년 1월 1일부터 오늘까지 데이터를 저장한다면 아래와 같이 처리할 수 있습니다.

2026-01-01 조회
→ 데이터 없음
→ 저장 안 함

2026-01-02 조회
→ 데이터 있음
→ DB 저장

2026-01-03 조회
→ 주말
→ 데이터 없음
→ 저장 안 함

2026-01-05 조회
→ 데이터 있음
→ DB 저장
 

이런 식으로 주말, 공휴일, 데이터 미반영일은 자동으로 건너뛰고, 실제 주식시세가 있는 날만 저장하면 됩니다.


6. 프로그램 구성 예시

C# WinForms Batch 프로그램 기준으로 보면 구조는 다음과 같이 만들 수 있습니다.

StockSecuritiesInfoClient
→ API 호출 전담 클래스

frmStock2
→ 조회 화면 및 버튼 처리

Save2Async()
→ DB 저장 처리

UpdateMovingAverage()
→ MA20, MA60 이동평균 계산
 

API 호출 클래스는 다음 역할을 담당합니다.

인증키 설정
조회일자 설정
페이지 번호 설정
한 페이지 조회 건수 설정
API 호출
JSON/XML 응답 파싱
StockPriceItem 리스트 반환
 

조회 화면에서는 반환받은 데이터를 그리드에 표시하거나 DB 저장 로직으로 넘기면 됩니다.


7. C# 호출 구조 예시

개념적으로는 다음과 같은 방식입니다.

 
var client = new StockSecuritiesInfoClient(httpClient, serviceKey);

var list = await client.GetAllByDateAsync("20260620", 1000);

foreach (var item in list)
{
    Console.WriteLine($"{item.srtnCd} {item.itmsNm} {item.clpr}");
}
 

실제 운영에서는 한 번에 모든 데이터를 가져오기 위해 페이지 처리를 같이 해야 합니다.

1페이지 조회
→ 데이터 수신
→ 다음 페이지 조회
→ 데이터 수신
→ 마지막 페이지까지 반복
 

이렇게 하면 기준일자에 해당하는 전체 종목 시세를 가져올 수 있습니다.


8. DB 저장 시 고려할 점

주식시세를 DB에 저장할 때는 중복 저장을 막는 것이 중요합니다.

보통은 다음 기준으로 중복 여부를 판단합니다.

기준일자 + 종목코드
 

즉, 같은 날짜의 같은 종목 데이터가 이미 있으면 신규 Insert가 아니라 Update를 해야 합니다.

예시 구조는 다음과 같습니다.

데이터 없음
→ Insert

데이터 있음
→ Update
 

이렇게 처리하면 Batch를 여러 번 실행해도 데이터가 중복으로 쌓이지 않습니다.


9. 이동평균 계산 활용

일자별 주가가 DB에 저장되면 다양한 분석을 할 수 있습니다.

대표적으로 많이 사용하는 것이 이동평균입니다.

MA5   : 최근 5거래일 평균 종가
MA20  : 최근 20거래일 평균 종가
MA60  : 최근 60거래일 평균 종가
MA120 : 최근 120거래일 평균 종가
 

이동평균을 저장해두면 종목별 추세를 쉽게 확인할 수 있습니다.

예를 들어 다음과 같은 조건 검색이 가능합니다.

종가가 MA20 위에 있는 종목
MA20이 MA60을 돌파한 종목
최근 거래량이 평균 거래량보다 급증한 종목
시가총액 상위 종목 중 상승률이 높은 종목
 

10. 장점

금융위원회 주식시세정보 API를 사용하면 다음과 같은 장점이 있습니다.

공식 공공데이터 기반
KRX 화면 변경 영향 감소
일자별 전체 종목 Batch 저장에 적합
JSON/XML 형태로 프로그램 연동 가능
DB 저장 후 자체 분석 시스템 구축 가능
 

특히 운영용 프로그램에서는 화면 크롤링보다 API 방식이 유지보수에 유리합니다.


11. 주의할 점

다만 주의할 점도 있습니다.

첫째, 실시간 매매용 데이터로 사용하기에는 적합하지 않을 수 있습니다. 공공데이터포털의 해당 API 설명에는 갱신주기가 일 1회로 표시되어 있습니다.

둘째, 인증키가 필요합니다. 프로그램 배포 시 인증키를 소스에 직접 넣기보다는 app.config, 환경변수, 별도 설정 파일 등에 분리하는 것이 좋습니다.

셋째, 호출량 제한을 고려해야 합니다. 전체 기간을 한 번에 조회하는 Batch라면 날짜별 호출이 많아질 수 있으므로, 중간에 지연 시간을 두거나 오류 발생 시 재시도 로직을 넣는 것이 좋습니다.

넷째, 데이터가 없는 날은 오류가 아닙니다. 주말, 공휴일, 아직 데이터가 반영되지 않은 날짜는 0건으로 조회될 수 있습니다.


12. 마무리

KRX 사이트 직접 조회 방식은 간단하지만, 사이트 구조가 바뀌면 프로그램이 멈출 수 있습니다. 반면 금융위원회_주식시세정보 API는 공공데이터포털에서 제공하는 표준 API이기 때문에 Batch 프로그램의 데이터 수집용으로 더 안정적인 선택이 될 수 있습니다.

특히 다음과 같은 프로그램을 만들 때 유용합니다.

일자별 전체 주식시세 저장 Batch
종목별 주가 이력 관리 프로그램
주식 분석용 DB 구축
이동평균 계산 시스템
관심종목 자동 분석 프로그램
거래량/등락률 기반 조건 검색 프로그램
 

결론적으로, 매일 전체 주식정보를 조회해서 DB에 저장하는 프로그램이라면 KRX 직접 접속 방식보다 공공데이터포털의 금융위원회 주식시세정보 API를 사용하는 것이 더 안정적이고 유지보수에도 유리합니다.

반응형

'ETC > ETC' 카테고리의 다른 글

아무것도 안하기?!  (0) 2026.06.22
신뢰는 작은 약속에서 시작된다  (0) 2026.06.16
통신판매업?!  (0) 2026.06.02
차 오래 된  (0) 2025.06.23