한국투자증권 REST API로 시계열 데이터를 가져오는 파이썬 코드

한국투자증권 REST API로 시계열 데이터를 가져오는 파이썬 코드

가장 빠르게 익히는 방법은 직접 해보는 것입니다. pykis를 활용했던 지난 포스팅에 이어 이번에는 한국투자증권 REST API로 주가에 대한 시계열 데이터를 가져와 보겠습니다. 최종 결과물은 시간 순서로 배열된 ohlcv 데이터입니다.

 

 


글의 순서

한국투자증권 REST API로 내 계좌에 접속하기
OHLCV 데이터 가져오기
파이썬 코드 : KIS API로 OHLCV 데이터 가져오기


한국투자증권 REST API로 내 계좌에 접속하기

한국투자증권 REST API를 이용하여 나의 계좌에 로그인하는 과정은 다음과 같이 2단계로 구성됩니다.

(1) 환경 변수에서 API Key와 API Secret 가져오기
(2) KIS API 서버로부터 액세스 토큰 발급 받기 : get_access_token() 함수

액세스 토큰은 이후의 모든 API 요청에 사용되며, 액세스 토큰 유효기간은 1일입니다. 참고로 한국투자증권 API에 연결하기 위해 KIS_APP_KEY, KIS_APP_SECRET라는 환경변수와 나의 계좌를 확인하기 위해 KIS_ACCOUNT_NUMBER라는 환경변수를 미리 설정해 두었습니다.


OHLCV 데이터 가져오기

지난 포스팅에서 한국투자증권 API를 쉽게 사용할 수 있도록 만든 파이썬 패키지 pykis를 이용하여 OHLCV(Open, High, Low, Close, Volume) 데이터를 가져오는 연습을 했었습니다. pykis의 get_kr_ohlcv 함수는 단 2개의 파라미터를 이용하여 간편하게 데이터를 가져올 수 있었습니다만, 기간을 정하는 등 내가 원하는 대로 할 수 없는 제한이 있었습니다. 파이썬 바이낸스 API와 비교했을 때, 가장 최근 데이터가 맨 먼저 나오므로 왼쪽에서 오른쪽으로 가면서 시간이 증가하는 그 캔들 차트를 그리기도 곤란했습니다.

이번 포스팅에서는 한국투자증권 REST API를 사용하여 이런 제한 사항들을 없애보겠습니다. 한국투자증권 REST API로 받아온 데이터 res를 우리 눈에 익숙한 형태로 바꾸기 위해 json을 이용하였습니다. 아래 코드에서 res_data = res.json() 부분이 바로 json으로 데이터를 변환하는 부분입니다. ohlcv_data는 여러 개의 dictionary로 이루어진 리스트입니다. item은 ohlcv_data 리스트에서 각 요소(element)를 의미하며, item[‘stck_bsop_date’]는 그 딕셔너리의 stck_bsop_date 키에 해당하는 값을 가져오는 역할을 합니다.


파이썬 코드 : KIS API로 OHLCV 데이터 가져오기

한국투자증권 REST API로 주가에 대한 시계열 데이터, ohlcv 데이터로 가공하는 과정을 아래의 파이썬 코드에서 구현하였습니다. 코드는 크게 두 부분으로 구성되어 있습니다. 한국투자증권 API로 서버에 접속하는 과정, 시계열 데이터를 ohlcv 형태로 바꾸는 과정을 확인해 보시기 바랍니다.

참고로, ohlcv 데이터가 기술적 분석을 위한 가장 기본 데이터라고 할 수 있으며, 알고리즘 트레이딩을 위한 데이터 처리와 분석은 여기서부터 시작됩니다.






마치며 …

이번 포스팅에서는 한국투자증권 REST API를 사용해 주가 시계열 데이터를 가져온 후, OHLCV 형태로 변환하는 과정을 알아보았습니다. 한국투자증권 REST API를 활용하면 원하는 기간 동안의 데이터를 자유롭게 처리할 수 있어서 pykis 패키지에서 겪었던 제한 사항들을 해결할 수 있습니다.

기술적 분석에서 OHLCV 데이터는 트레이딩 전략의 기본이 되는 자료입니다. 이러한 데이터를 활용해 캔들 차트를 그리거나, 알고리즘 트레이딩에서 필요한 다양한 분석을 할 수 있을 것입니니다. 직접 API를 사용해보고 데이터를 처리해보시기 바랍니다. 이 경험들은 더욱 깊이 있는 데이터 분석에 큰 도움이 될 것입니다.

 

 

함께 참고하면 좋은 글
한국투자증권 API로 주가를 가져오는 파이썬 프로그래밍
한국투자증권 파이썬 패키지 pykis로 시계열 데이터 가져오기
파이썬 바이낸스 API로 시계열 데이터를 가져오는 파이썬 프로그래밍
업비트 REST API를 이용한 비트코인 가격 추출 파이썬 프로그래밍
파이썬으로 금융시장 분석하기 : FDR(FinanceDataReader) 패키지 활용법
yfinance로 주식, 암호화폐, 원자재까지: 파이썬으로 금융 데이터 쉽게 분석하기
한국투자증권 API 신청 방법
한국투자증권 파이썬 패키지 pykis로 준비하는 알고리즘 투자
RESTful API : 웹 애플리케이션 개발자를 위한 기초부터 실전까지
파이썬 데이터 분석을 위한 API 이해, REST API, WebSocket API


참고자료

한국투자증권 파이썬 API 문서

Leave a Comment