OpenDartReader로 재무정보 조회하기 - (1)재무제표 조회¶
https://github.com/FinanceData/OpenDartReader
금융감독원 전자공시 시스템의 Open DART서비스 API를 손쉽게 사용할 수 있도록 돕는 오픈소스 라이브러리
Open DART에서 데이터를 조회하려면 기업의 고유번호가 필요한데(종목코드가 아님) 종목코드를 사용하여 조회할 수 있도록 만들어져 있음
1. 설치¶
# !pip install opendartreader
# !pip install --upgrade opendartreader # 업그레이드
2. 사용법¶
2.1. API key 발급¶
- https://opendart.fss.or.kr/ 에 접속하여 [인증키 신청/관리] - [인증키 신청] 탭에서 api key 발급을 진행하면 된다.
2.2. 사용시 주의사항¶
분당 1000회 이상 데이터를 가져오면 24시간 동안 IP가 차단된다고 함.
2.3. dart객체 생성¶
먼저 dart 객체를 생성해야 다른 작업을 진행할 수 있음
이 때 api key가 필요함
import OpenDartReader
import pandas as pd
api_key = '발급받은 api key'
dart = OpenDartReader(api_key)
2.4. 재무제표 조회¶
단일회사 주요계정, 다중회사 주요계정, 재무제표 원본파일(XBRL), 단일회사 전체 재무제표, XBRL택사노미재무제표양식을 제공하는데 이 중 단일회사 주요계정, 단일회사 전체 재무제표를 주로 보게 된다.
단일회사 주요계정은 재무상태표, 손익계산서를 말하고 단일회사 전체 재무제표는 재무상태표, 손익계산서 이외에도 현금흐름표 등 상장법인(금융업 제외)이 제출한 정기보고서 내에 XBRL재무제표의 모든계정과목을 제공한다.
위에서도 언급되었듯이 OpenDart api에서는 금융업의 재무제표 조회는 제공하지 않는다. 문의해보니 금융업의 경우, 회계 관련 부분에서 현재 정확한 표준, 즉, IFRS 기반 XBRL 재무제표 공시용 표준계정과목체계(계정과목)가 규정되어 있지않은 부분이 있어 재무정보 추출 및 제공이 어려운 부분이 있다고 한다.
단일회사 주요계정은
finstate
함수 단일회사 전체 재무제표는finstate_all
함수를 이용하여 조회할 수 있다.
2.4.1. finstate¶
dart.
finstate
(corp, bsns_year, reprt_code='11011')corp: 종목코드, bsns_year: 사업연도, reprt_code: 보고서코드(1분기보고서 : 11013, 반기보고서 : 11012, 3분기보고서 : 11014, 사업보고서 : 11011)
dart.finstate(corp='005930', bsns_year=2019)
2.4.2. finstate_all¶
dart.
finstate_all
(corp, bsns_year, reprt_code='11011', fs_div='CFS')corp: 종목코드, bsns_year: 사업연도, reprt_code: 보고서코드(1분기보고서 : 11013, 반기보고서 : 11012, 3분기보고서 : 11014, 사업보고서 : 11011), fs_div: 개별/연결 구분(CFS: 연결재무제표, OFS: 개별 재무제표)
dart.finstate_all(corp='005930', bsns_year=2019)