반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

 

 

오늘은 투자에 도움이 될 수 있는 파이썬 패키지를 소개드리려 합니다.

 

아마 투자를 조금 하신다는 분들은 DART(전자공시시스템)을 아실텐데요. 오늘 소개드릴 dart-fss 패키지는 DART에서 제공하는 API(Application Programming Interface)를 저희같은 초보자도 쉽게 다룰 수 있도록 해줍니다.

 

한마디로 파이썬으로 공시정보를 내맘대로 조회하고 가공해서 유의미한 투자 정보를 얻어낼 수 있다는 것입니다.

만약 투자에 관심이 있으신분들은 이번 기회에 배우셔서 투자에 꼭 적용해보시길 추천드립니다.


오늘의 주인공인 dart-fss 패키지에 대해 알아보기 전에 잠시 DART와 DART API에 대해 알아보도록 하겠습니다.

 

DART란?

 

출처. DART 홈페이지

 

DART(Data Analysis, Retrieval and Transfer System)은 데이터 분석, 검색 및 전송 시스템이라는 뜻을 가진, 대한민국 금융감독원에서 운영하는 기업정보 전자공시시스템입니다.

 

코스피, 코스닥 시장에 상장된 주식회사부터 비상장 주식회사까지 다양한 회사들이 회사의 경영상태에 대한 공시를 하는 사이트입니다. 이 시스템으로 인해 투자자 누구나 기업에 관한 정보를 손쉽게 얻을 수 있습니다.

 

 

DART API란?

 

감사하게도 DART에서 다른 사람들이 프로그램을 만들 때 사용하라고 API를 만들어 주었습니다. 여기서 API란 Application Programming Interface의 약자로 프로그램들이 서로 상호작용하는 것을 도와주는 매개체라고 이해하시면 됩니다.

 

API에 대해 조금 더 자세한 내용이 궁금하신 분들은 아래의 링크에 아주 쉽게 설명되어 있으니 참고하세요.

 

 

API란? 비개발자가 알기 쉽게 설명해드립니다! - Wishket

여러분은 API가 무엇인지 알고 계신가요? 자주 듣게 되지만 그 개념이 무엇인지 정확하게 알기란 쉽지 않은데요. 이번 시간 위시켓이  API란 무엇인지 알기 쉽게 설명해드리고자 합니다. 위시켓

blog.wishket.com

 

DART API 인증키 신청

 

DART API를 사용하기 위해서는 API 인증키를 신청해주셔야 하는데요.

 

우선 DART 회원가입을 해주셔야 합니다.

 

https://opendart.fss.or.kr/intro/main.do

 

회원 가입이 완료되신 분들은 DART 홈페이지에서 우측 상단의 '오픈API'를 클릭하시거나 위의 링크로 접속해주신 후, 로그인 하지 않으신 상태로 '인증키 신청'을 해주시면 됩니다. 크게 어렵지 않으니 아래의 gif를 참고하셔서 만들어주세요.

 

신청이 완료되셨으면 로그인 후, 인증키 관리 탭에 들어가셔서 승인이 되셨는지 확인하신 후에 좌측의 오픈API 이용현황을 클릭해주세요.

그러면 API Key가 아주 복잡한 숫자와 영어의 조합으로 나오실 거예요. 코딩하실 때 필요하니 한 곳에 Ctrl+C, Ctrl+V 해놓아주세요.

 

 

DART-FSS란?

 

대한민국 금융감독원에서 운영하는 다트 사이트 크롤링 및 재무제표 추출을 위한 라이브러리라고 공식 문서에 쓰여 있습니다.

저의 개념으로는 패키지가 맞는 말인 것 같은데 이 문서를 보니 조금 헷갈리네요.

 

https://dart-fss.readthedocs.io/en/latest/index.html

 

DART-FSS — dart-fss documentation v0.3.10 documentation

© Copyright 2021, Sungwoo Jo Revision 2a7bb3e6.

dart-fss.readthedocs.io

 

<주의 사항>

Open DART 및 DART 홈페이지의 경우 분당 100회 이상 요청시 서비스가 제한될 수 있음

 

 

 

DART-FSS 설치 방법

 

터미널(cmd) 창에서 아래와 같이 입력해주시면 됩니다. 혹시나 오타가 날 수 있으니 그냥 복사 붙여넣기해서 엔터 눌러주세요.

pip install dart-fss

 

 

DART-FSS 맛보기

 

위에서 알려드린 dart-fss 공식 문서에 들어가보시면 Quick Starts라는 이름으로 아래의 코드를 써두었습니다.

코드에 대한 것은 다음 시간에 차차 알아보기로 하고 일단 아래의 코드를 그대로 복사 붙여넣기 해서 코드를 실행해봅시다.

 

실행하실 때는 api_key = '아까 발급받은 API Key'로 바꿔주세요! 그리고 중요한 건 아닌데, 설치할 때 dart-fss이고 import 할 때는 dart_fss라는 신기한 사실! 그냥 그렇다구요ㅎㅎ..

 

혹시나 저처럼 dart_fss.py로 파일 이름을 만들었다가는 아래와 같은 에러가 뜨면서 패키지가 제대로 작동하지 않으니 주의하세요!

 

AttributeError: partially initialized module 'dart_fss' has no attribute 'set_api_key' (most likely due to a circular import)

 

import dart_fss as dart

# Open DART API KEY 설정
api_key='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
dart.set_api_key(api_key=api_key)

# DART 에 공시된 회사 리스트 불러오기
corp_list = dart.get_corp_list()

# 삼성전자 검색
samsung = corp_list.find_by_corp_name('삼성전자', exactly=True)[0]

# 2012년부터 연간 연결재무제표 불러오기
fs = samsung.extract_fs(bgn_de='20120101')

# 재무제표 검색 결과를 엑셀파일로 저장 ( 기본저장위치: 실행폴더/fsdata )
fs.save()

 

위의 코드를 실행하시면 시간이 꽤 걸려서 fsdata라는 폴더 안에 엑셀 파일이 하나 만들어집니다. 총 8개의 시트가 있는데 참고로 말씀드리면, 각각 bs’ 재무상태표, ‘is’ 손익계산서, ‘cis’ 포괄손익계산서, ‘cf’ 현금흐름표를 뜻하며 시트 이름에 Data가 들어가는 것만 보시면 됩니다.

 

 


 

오늘 준비한 내용은 여기까지고, 다음 시간부터 자주 사용할만한 함수들에 대해서 공부해보겠습니다.

 

감사합니다.

반응형

+ Recent posts