나만 모르는 파이썬 주식데이터 수집하는 방법 TOP3는?

목차

    2020. 5. 25. 07:00

    코드-모니터
    코딩

    파이썬은 다양한 패키지가 있고, 문법이 쉬워 여러 분야에서 사용할 수 있습니다. 방법만 알면 데이터를 수집, 분석하는 것도 쉽게 할 수 있습니다. 주식 데이터를 수집하고 분석하는 것도 파이썬을 이용하여 쉽게 해 볼 수 있는데요. 파이썬 주식 데이터 수집하는 방법 TOP3을 알아보았습니다.

     

     

    1. 웹크롤링

    웹크롤링을 이용하면 웹상의 대부분의 데이터를 수집할 수 있습니다. 주식 관련해서는 '네이버 금융'에 있는 주식데이터를 많이 수집합니다. 저는 네이버 금융의 데이터를 크롤링해 본 적은 없지만, 여기서 수정주가나 기업 재무제표 요약 자료를 수집할 수 있습니다. 혹은 세이브로 라는 증권 정보 사이트에서 데이터를 수집할 수도 있다. 저는 이 사이트에서 주식 배당 관련된 데이터를 수집해 보았습니다.

     

    2. OPEN API

    증권 거래소(?)에서 제공하는 API를 이용하면 실시간 주가를 수집할 수 있었지만, 지금은 서비스가 종료됐습니다. 하지만 API로 데이터를  제공하는 곳을 이용하면 웹크롤링보다 쉽게 데이터를 모을 수 있습니다. 이 외에도 기업의 재무제표나 기업 개황 관련된 자료는 API로 제공하는 곳이 있으니, 주식 데이터 수집에 관심 있다면 한 번 살펴보시기 바랍니다.

     

     

    3. 파이썬 패키지

    가장 쉽게 데이터를 수집할 수 있는 방법입니다. 웹크롤링이나 OPEN API를 이용하는 방법은 파이썬 초보가 하기에 어려울 수 있습니다. 하지만 파이썬 패키지를 이용하면, 5분(?)이면 원하는 데이터를 수집할 수 있습니다. 패키지 사용법만 알면 되기 때문인데요. quantmod나 pandas-datareader를 이용하면 각종 금융 관련 지표와 주가 데이터를  쉽게 수집할 수 있습니다.

     

    pandas-datareader로도 국내 주식 데이터를 수집할 수 있습니다. 하지만 외국에서 개발된 패키지이다 보니, 국내 환경에 그리 친절하지 않습니다. 필요한 국내 주가 데이터를 수집하기 어렵다면, FinanceDataReader를 이용해 보세요. 함수 하나로 원하는 주가 데이터를 수집할 수 있습니다. 아래와 같이 코드 한 줄이면 원하는 주가 데이터를 수집할 수 있습니다. 수집한 주가는 수정주가이기 때문에 분석하기에도 용이합니다.

     

     

    import FinanceDataReader as fdr

    df = fdr.DataReader("005930", '2019')

     

    파이썬에는 수집한 주식데이터를 가지고 알고리즘을 만들고 백테스트를 쉽게 할 수 있도록 도와주는 패키지가 있습니다. zipline이라는 패키지로 설치가 다소 어렵기는 하지만, 유용하게 활용할 수 있습니다. zipline패키지를 이용하면 수집한 주식 데이터를 이용해서, 주식 투자를 시뮬레이션하고 그 결과를 검증해 볼 수 있습니다. 코스피200 ETF를 매월 적립식으로 매수한다면, 그 결과가 어떤지 작업해보았습니다.

     

    주식 종목 코드 수집하기

    주식데이터를 수집하기 위해서는 종목 코드를 알아야 합니다. 관심 있는 종목의 코드는 검색을 통해서 확인할 수 있지만, 상장 주식의 전체 종목 코드를 수집하는 것은 어렵습니다. 그래서 주식 종목 코드 데이터를 수집할 수 있는 방법을 알아보았는데요. 주식 종목 코드 수집하는  3가지 방법도 참고하시기 바랍니다.