미국기업 재무제표 데이터 수집하는 방법은?!

목차

    2021. 3. 4. 06:30

    데이터를 수집하는 방법은 여러가지가 있다. 가장 쉽게는 투자 사이트에서 제공하는 데이터를 일일이 복사하는 방법이 있지만, 품이 많이 든다는 단점이 있다. 파이썬 등의 코딩을 할 줄 안다면, 웹크롤링을 통해 자동화하는 방법도 가능하다. 하지만, 파이썬에는 금융 데이터를 쉽게 수집해서 활용할 수 있게 도와주는 패키지가 여럿 있다. 오늘은 그 중에서 파이썬으로 미국기업 재무제표 데이터를 쉽게 수집하고 비교하는 방법에 대해서 알아보고자 한다.

     

     

    주식데이터 수집 비교

     

     

    파이썬은 쉬운 문법과 다양한 패키지로 비전공자도 쉽게 코딩을 배울 수 있는 프로그래밍 언어이다. 파이썬 데이터 분석에 대한 자세한 내용은 아래 포스팅을 참조하기 바란다.
    ( 참조: 파이썬 데이터 분석 도서 추천, 금융 데이터를 위한 파이썬! )

     

    미국 재무제표  데이터를 파이썬에서 쉽게 수집하기 위해서, 2가지 패키지를 사용할 예정이다. 이 패키지는 Finance Database라는 패키지와 yfinance라는 패키지이다. 사실 이 패키지를 이용하면 미국 뿐만 아니라 중국, 일본을 포함한 137개국의 주식데이터를 확인할 수 있다. 주식 데이터 외에 비트코인, ETF, 환율, 펀드, 인덱스 데이터도 알 수 있다.

     

    Finance Database는 자신의 목적에 맞는 금융상품을 쉽게 찾을 수 있도록 도와주는 패키지이다. 주식, ETF, 통화, 옵션, 선물, Fund등 다양한 금융상품을 쉽게 찾을 수 있다. Finance Database 패키지에 대한 자세한 내용은 아래 포스팅을 참조하기 바란다.
    ( 참조: github.com/JerBouma/FinanceDatabase )

     

    yfinance는 Yahoo에서 제공하는 금융 데이터를 파이썬을 통해 쉽게 수집할 수 있도록 도와주는 패키지이다. yfinance 패키지에 대한 자세한 내용은 아래 포스팅을 참조하기 바란다.
    ( 참조: github.com/ranaroussi/yfinance )

     

     

    FinanceDatabase 페이지에는 특정 업종의 재무제표 정보를 빠르게 비교하는 예시가 있다. 해당 예시를 참조하여 미국의 카지노 업종의 데이터를 비교해보고자 한다.

     

    먼저 위의 2패키지를 설치한다. pip명령을 이용하면 쉽게 설치가 가능하다.

    pip install FinanceDatabase
    pip install yfinance

     

    다음으로 Technology 섹터에 있는 주식들은 어떤 기업이 있는지 FinanceDatabase패키지로 수집한다. 한국 기업의 종목을 확인하고 싶다면 'South Korea'를 입력하면 된다. 하지만, 아쉽게 한국은 코스피 종목 데이터만 들어가 있다. 그 외에도 확인할 수 있는 국가 리스트를 알고 싶다면 아래 링크를 참조하기 바란다.
    ( 참조: FinanceDatabase 주식 종목 확인가능 국가 알아보기 )

    import FinanceDatabase as fd

    cate = fd.select_equities(country='United States', industry='Resorts & Casinos')

     

    주식 데이터는 industry와 sector별로 어떤 종목의 데이터가 있는지 확인할 수 있다. industry와 sector값을 넣지 않으면, 해당 국가의 전종목 데이터를 가져온다.
    ( 참조: FinanceDatabase 산업분류 알아보기, FinanceDatabase Sector분류 알아보기 )

     

    다음으로 해당 종목의 데이터를 yfinance패키지를 이용하여 수집한다.

    from yfinance.utils import get_json
    from yfinance import download

    fundamentals = {}
    for symbol in cate:
        fundamentals[symbol] = get_json( "https://finance.yahoo.com/quote/" + symbol)

    stocks = download(list(cate))

     

    stocks에는 주가에 대한 데이터가, fundamentals에는 재무제표 관련 데이터가 수집되어 있다. 확인할 수 있는 정보는 많지만, 여기서는 자산 대비 부채비율과 매출총액만 확인해보고자 한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import pandas as pd
     
    df = pd.DataFrame()
     
    for k in fundamentals:
        if len(fundamentals[k])==0:
            print("{} is empty".format(k))
            pass
        else:
            temp = pd.DataFrame([{"name":fundamentals[k]['quoteType']['longName'],
                                  "quickRatio":fundamentals[k]['financialData']['quickRatio'],
                                  "totalRevenue":fundamentals[k]['financialData']["totalRevenue"]
                                 }])    
            df = pd.concat([df, temp],0)
            
    cs

     

    부채비율을 그래프를 그려 비교해보았다.

    1
    2
    3
    import plotly.express as px
     
    px.bar(data_frame = df, y="quickRatio", x="name").update_xaxes(categoryorder="total descending")
    cs

     

    미국 카지노 기업 부채비율 비교

     

     

    다음으로 매출액을 비교해보았다.

    1
    px.bar(data_frame = df, y="totalRevenue", x="name").update_xaxes(categoryorder="total descending")
    cs

     

    미국 카지노 기업 매출액 비교

     

     

    오늘은 이렇게 미국기업 재무제표 데이터를 수집하는 방법에 대해 알아보았다. 꼭 미국기업이 아니더라도 전세계 금융 데이터를 쉽게 비교해 볼 수 있는 방법이라고 생각한다. 금융 데이터에 관심이 많다면 한 번 사용해보기를 권한다.