들어가기 앞서
지난 포스팅에서 Stockrow 사이트 이용방법에 대해 설명을 드렸었는데요.
이 Stockrow 사이트의 Financial 탭에서는 회사의 재무 데이터들을 Excel 파일로 내려받기 가능하도록 제공하고 있습니다.
이번 포스팅에서는 이 Excel 파일의 데이터를 파이썬을 이용하여 가져오는 방법을 소개해 드리고, 이 데이터를 활용하는 방법에 대해서 소개해드리려고 합니다.
추가적으로, Stockrow 사이트 이용방법에 대해서는 아래의 지난 포스팅 링크를 참고하시면 되겠습니다.
[추천 사이트] Stockrow 사이트 이용방법
필요 라이브러리
Stockrow 사이트의 Excel 데이터를 불러오기 위해 아래 두 가지 라이브러리를 사용합니다.
- requests 모듈 : 웹 페이지에서 데이터를 가져오기 위해 사용합니다.
- 판다스(Pandas) 라이브러리 : 데이터를 처리하고 분석하기 위해 사용합니다.
아래 명령어를 이용하여 설치를 진행하시면 되겠습니다.
pip install requests pip install pandas
전체 코드
먼저, 아래와 같은 코드를 작성하셔서 실행해 보시면 Stockrow 사이트의 Excel 데이터를 불러오실 수 있으실 텐데요. 설정한 티커의 재무 데이터를 Stockrow 사이트에서 가져와서 Excel 파일로 저장하고, 해당 파일에서 Free Cash Flow 값을 출력해 주는 코드입니다.
import requests import pandas as pd if __name__ == '__main__': # 티커 설정 ticker = 'AAPL' # Stockrow URL # dimension : 분기(Q), 년간(A) url = "https://stockrow.com/api/companies/" + ticker + "/financials.xlsx?dimension=Q§ion=Metrics&sort=desc" # 파일경로 file_path = "./" # 파일 write with open(file_path + "file.xlsx", "wb") as file: response = requests.get(url) if response.status_code == 200: file.write(response.content) # 저장된 Excel파일을 불러옴 metrics = pd.read_excel(file_path + "file.xlsx", index_col=0).fillna(0) metrics = metrics.T # 원하는 데이터 불러오기 => 저의 경우는 잉여현금흐름을 불러와봤습니다. recent_fcf = [] if 'Free Cash Flow' in metrics.columns: for i in range(0, 8): # 불러올 기간 설정 recent_fcf.append(round(float(metrics.iloc[i]['Free Cash Flow']))) # 데이터 출력 print(recent_fcf)
코드 설명
ticker 변수에 원하시는 종목의 티커를 입력하시면 해당 종목의 재무 데이터를 가져올 수 있습니다.
url 변수에는 stockrow의 Financial 페이지의 주소를 가져왔으며 주소의 dimension에 Q를 입력하면 분기별 재무정보를 가져오고, A를 입력하시면 연간 정보를 불러옵니다.
저의 경우는 예시를 잉여현금흐름(Free Cash Flow)을 불러왔습니다. 만약 다른 데이터를 불러오기 원하신다면 해당 부분을 Financial 페이지에서 원하는 항목으로 대체하시면 됩니다.
만약 ‘P/E ratio’를 불러오고 싶으시다면 제가 작성한 코드의 ‘Free Cash Flow’로 되어있는 부분들을 ‘P/E ratio’로 변경하시면 해당 데이터를 불러오실 수 있습니다.
마무리…
지금까지 파이썬을 이용하여 Stockrow 사이트의 Excel 데이터를 불러오는 방법을 알아보았습니다. 다음 포스팅에서도 유용한 정보를 소개하는 시간을 가져보도록 하겠습니다.
감사합니다!