본문 바로가기
무모한 도전-주식 인공지능 만들기

키움증권 Open API를 이용, 1500이상 종목의 일봉차트를 가지고 오기

by 인터넷떠돌이 2019. 3. 18.
반응형

안녕하세요?


하루종일 풀리지 않는 문제를 가지고 알아내려고 시도를 하다보니 포스팅이 많이 늦어졌습니다. 아무튼 이렇게 된 이상 어떻게 포스팅을 이어 나가야 하는데, 이번 포스팅은 일요일에 했었는 1500 이상의 대량의 종목 코드를 가지고서 일봉차트를 대량으로 긁어오는 방법에 대해서 일단 올리고자 합니다.



먼저 위 스크린샷처럼, 자식 프로세스가 되는 스크립트에 get_ohlcv_2라는 새로운 메서드를 만들어 놓도록 합니다. 여기서는 분봉차트가 아니라 일봉차트를 가지고 오도록 만들어진 메서드입니다.



다음으로는 키움증권 서버에서 가지고 온 일봉차트 데이터를 가지고서는 모두 db파일에 집어 넣는데, 이번에는 daily_cnadle이라는 폴더 안에 각각 종목별로 저장하도록 합니다.



그리고 나서 위 스크린샷처럼 기존에는 get_ohlcv라는 메서드를 지정했다가 get_ohlcv_2라는 메서드로 바꾸어 주도록 합니다.



기존의 분봉차트를 가지고 오는 메서드가 작동될 일이 없기도 하지만, 만에 하나라는 일이 있을 수도 있기 때문에, 한번 주석처리를 위 스크린샷처럼 해주도록 합니다.




그리고 나서 부모 프로세스로 가서, 위 스크린샷처럼 이번에는 for문에서 한번에 1개의 종목만을 키움증권 Open API에 접속해서 조회하지 않고, 한번에 2개의 종목을 한번 로그인으로 알아보도록 합니다.



그리고 나서 다시 자식 프로세스로 돌아와서, 부모 프로세스로 부터 받아온 데이터를 풀어 내서, 각기 다른 메서드에 종목코드로서 사용이 되도록 만들어 줍니다.



일단 위 스크린샷처럼 데이터 베이스 파일 db가 생성이 되었고, 제대로 데이터가 저장이 되는 것을 확인할 수 있기는 있었습니다.



결국 밤새도록 작업을 하고 나서, 아침이 되어서야 모든 작업이 끝나기는 끝났습니다. 이렇게 해서 1500개 넘는 종목을 어떻게 키움증권 서버로 부터 일봉차트를 가지고 오는 데는 성공했습니다. 말은 1500넘는 종목이라고 적었지만, dchol님이 340개의 종목을 일일히 수작업으로 일봉차트를 받아주신 덕분에 제 경우에는 거의 1200개 이하의 종목만을 가져와서 일이 상당히 많이 줄어들었습니다.

반응형