종합주가지수(KOSPI) 데이터 불러오기

목차

    2018. 7. 5. 07:57

    노트북-코드-설명하는-모습
    노트북

    파이썬에서 주가 데이터를 쉽게 수집하고 분석할 수 있습니다. 방법도 여러 가지가 있는데요. 가장 많이 이용하는 방법은 API를 이용하는 것입니다. 이를 모듈화 한 패키지를 이용하면 더 쉽게 사용할 수 있는데요. 파이썬에서 종합주가지수(KOSPI) 데이터르 불러오는 방법을 알아보았습니다.

     

     

    생산자물가지수와 종합주가지수(KOSPI) 관계를 알아보려고 하는데요. 그 전에 종합주가지수 데이터를 수집하고자 합니다. 주가 데이터는 여러 곳에서 제공하는 만큼 얻을 수 있는 방법도 다양합니다. 이전 포스팅에서는 생산자물가지수와 소비자물가지수의 관계를 알아보았습니다.

     

    1. 한국은행 오픈API 이용

    저는 한국은행 오픈API를 이용하고, 수집한 데이터를 파이썬에서 파싱 했습니다. 크롤링을 해서 각종 데이터를 긁어올 수 있습니다. 하지만 매번 코딩을 해야 하니 그리 편한 방법은 아닙니다. 이런 불편을 가지고 있는 사람이 많아서일까요. 파이썬에서 많이 사용하는 데이터를 불러올 수 있는 패키지가 있습니다. 바로 pandas_datareader라는 패키지입니다.

     

    해당 패키지를 사용하면 yahoo와 google에서 코스피를 포함한 개별 종목의 주가까지 다운로드할 수 있습니다. 하지만 해당 패키지로 코딩을 하면 곧 사라질 것이라는 경고메시지가 나옵니다. 언제일지 모르지는 향후에는 없어질 수도 있는 패키지입니다. 그리고 제가 작업을 하던 중에 계속해서 에러가 발생했습니다.

     

     

    그래서, 다른 방법을 모색하던 중에 생산자물가지수를 가져온 한국은행에서 KOSPI 데이터를 가져오기로 했습니다. 다행히 한국은행 오픈 API에서는 KOSPI데이터를 OPEN API로 제공하고 있었습니다. 한국은행 오픈 API를 이용하기 위해서는 통계코드를 알아야 하는데요. 통계코드검색 화면에서 [6.증권/재정] - [6.1 주식거래 및 주가지수] -[6.1.2 주식거래 및 주가지수]를 선택하면 됩니다. 통계코드는 028Y15입니다. 통계항목도 선택할 수 있는데요. KOSPI 회사수, 종목수, 상장주식수, 시가총액, 거래량, 거래대금, 종가, 평균, 상장주식회전율, 배당수익률, 주가수익률, 5000원당 시가 등을 알 수 있습니다. KOSDAQ에 대해서도 동일한 항목을 알 수 있습니다. 한국은행 오픈API를 이용하는 방법은 이전 포스팅을 참조하시기 바랍니다.

     

    아쉬운 점은 일자별로는 데이터를 제공하지 않고 월별로만 제공한다는 점입니다. 코스피지수는 1980년 1월 4일을 100으로 한 값입니다. 실제 데이터를 가져와보니 2004년부터의 데이터가 제공됐습니다.  데이터를 긁어오고 기념으로 코스피지수를 그래프로 그려보았습니다.

     

    월별_코스피_평균
    2004년~2018년 5월, 월별 코스피평균

     

    혹시 필요하신 분들이 있을까 싶어 해당 데이터를 업로드합니다. 04년 1월 부터 18년 5월까지의 종합주가지수 데이터로 csv형식의 파일입니다.

     

    KOSPI_200401_201805.csv
    다운로드

     

    작업한 코드도 파일로 첨부합니다.

     

    코스피-데이터-수집.py
    0.00MB

     

    2. 파이썬 패키지 이용하기

    파이썬 패키지를 이용하면 더 쉽게 코스피 지수를 수집할 수 있습니다. FinanceDataReader라는 패키지를 많이 사용하는데요. 패키지를 설치하고 아래와 같이 코드를 입력하면 됩니다. 에러가 발생하면 해당 패키지를 업데이트해 보시기 바랍니다.

     

    import FinanceDataReader as fdr

    fdr.DataReader('KS11', '2020-01-01')

     

    파이썬을 이용하면 주가 데이터를 비롯한 여러가지 주식 데이터를 편리하게 수집할 수 있습니다. 주가 데이터를 수집하는 방법은 이전에 작성한 포스팅을 참고하시기 바랍니다.

     

    종합주가지수 데이터를 불러오는 작업을 해 보았습니다. 힌국은행 오픈 API를 통해서 종합주가지수 데이터를 2004년 값부터 가져올 수 있었지만, 일별로 가져올 수 없다는 게 아쉬웠습니다. FinaceDataReader 패키지를 이용하면 사용하기도 쉽고, 일별로 코스피지수 데이터를 수집할 수 있어 좋습니다.