[공공데이터포털] 일별 주식시장 종가 정보 가져오기
개인적으로 우리나라 주식시장 데이터를 이용해 해보고 싶은 일이 있어서 종가 정보를 어디서 취득할까 고민하다가, 정부에서 운영하는 공공데이터포털 에서 오픈API 를 이용해 주가 정보를 취득해 이용할 수 있다는 소식을 듣고 실제로 해보았습니다.
공공데이터포털에서 오픈API 를 이용하는 방법은 아래와 같이 생각보다 간단했습니다.
- 공공데이터포털 회원가입하기
- 찾고자 하는 데이터 찾기
- 활용신청
- 파라미터 넣기
- 결과물 확인
아래에서 위 목록의 각 단계를 하나씩 확인해봅시다.
공공데이터포털 회원가입
당연한 이야기지만 공공데이터포털에 회원가입이 되어 있어야 합니다.
메인화면 상단의 회원가입 메뉴를 이용하면 됩니다.
네이버 또는 카카오톡 회원 정보를 이용해 로그인 할 수도 있네요? 무슨 방법이든 본인인증만 되어 있으면 되는 것 같습니다.
데이터 검색
회원가입 후 로그인 된 상태라면 이제 얻고자 하는 데이터를 찾아봅시다. 마찬가지로 메인 화면에서 바로 검색하면 됩니다.
저는 매 거래소 영업일의 종가 정보를 찾으려고 “종가”라는 키워드로 검색했는데, 원하는 데이터가 나오지 않아 “주식시장”으로 다시 검색해 보았습니다.
오픈API 항목에 금융위원회가 제공하는 한국거래소 주식시세 정보가 있네요. 여기에는 의심할 여지 없이 매 영업일의 종가 정보가 있겠네요. 해당 항목으로 들어가서 확인해 봅시다.
스키마를 찬찬히 둘러보니 Item_StockPriceInfo
항목에 clpr
이라는 항목으로 종가 정보가 있음이 확인이 되네요. 제대로 된 데이터를 찾았음이 확인되었으니 이제 실제로 데이터를 획득하기 위해 활용신청을 해봅시다.
활용신청
해당 데이터의 이름이 있는 부분 우측에 활용신청 버튼이 있습니다. 눌러봅시다.
필수 항목인 “활용목적”을 잘 작성한 후 활용신청 버튼을 누르면 활용신청은 끝입니다. 위 예제 데이터는 자동으로 승인되는 데이터네요? 활용신청만 하면 곧바로 사용해볼 수 있을 것 같습니다.
실제로 활용신청을 누르자 마자 승인이 났습니다. 이제 테스트를 해볼까요?
파라미터 넣기
자 이제 모든 준비과정이 끝났습니다. 실제로 잘 작동하는지 테스트 해볼까요? 승인된 항목을 클릭해 상세 페이지로 이동합니다.
인증키 설정
데이터를 이용하기 위해서는 인증키를 설정해야 하네요?
상세 페이지 상단에 있는 서비스 정보 항목을 보면 인증키가 2개 있습니다. 이 두 개의 인증키 중 한 개를 바로 아래에 있는 인증키 설정 버튼을 눌러 입력해줍니다(그냥 복붙 하면 됨).
참고로 저는 “일반 인증키(Decoding)” 항목을 인증키 설정화면에 넣었더니 결과물이 잘 나오는 것을 확인 할 수 있었습니다.
파라미터 설정
자 이제 거의 다 왔습니다. 어떤 조건으로 데이터를 조회 할 지 결정해야겠죠? 파라미터를 넣어 보겠습니다.
일단 저는 수익증권이나 워런트 시세는 필요없고 주식만 필요하니까 /getStockPriceInfo
항목을 클릭 해볼께요.
하위 항목에 대한 파라미터를 설정 하려고 하니 텍스트 박스가 작동하지 않네요?
상단에 있는 OpenAPI 실행 준비 버튼을 눌렀더니 이제야 비로서 조건을 설정 할 수 있는 텍스트 박스가 활성화 되었습니다.
참고로 저는 2021년 12월 1일 기준 유가증권시장 및 코스닥, 코넥스 시장 전체 종목에 대한 시세정보를 얻고 싶어 아래와 같이 세팅 했습니다.
- numOfRows = 10000
- basDt = 20211201
한 페이지에 모든 결과를 확인하고 싶어서 “한 페이지 결과 수”를 10000 으로 설정 했습니다. 지금 상장된 주식이 2500개쯤 되니 10000이면 충분 하겠네요.
결과물 확인
자, 이제 하단의 “OpenAPI 호출” 버튼을 눌러 결과물을 확인 해볼까요? 주식시장 전체 시세정보라서 그런지 시간이 꽤 걸리네요.
(위에서 설정하지는 않았지만 json 형식으로 뽑아낸 결과물입니다.)
생각보단 간단하게 주식시장 전체 종목에 대한 주가 정보를 뽑아 낼 수 있었습니다. 결과물 캡처 화면 상단을 보면 Request URL
이라고 있는데 여기 있는 주소를 긁어서 웹브라우저 주소창에 넣으면 브라우저 화면에서 바로 결과물을 확인 할 수 있습니다.
이제 다른 데이터도 찾아서 적극적으로 활용하는 일만 남았네요.
끝.
댓글 남기기