[python] OpenDartReader로 재무정보 조회하기 - (1)재무제표 조회

OpenDartReader

OpenDartReader로 재무정보 조회하기 - (1)재무제표 조회

https://github.com/FinanceData/OpenDartReader

  • 금융감독원 전자공시 시스템의 Open DART서비스 API를 손쉽게 사용할 수 있도록 돕는 오픈소스 라이브러리

  • Open DART에서 데이터를 조회하려면 기업의 고유번호가 필요한데(종목코드가 아님) 종목코드를 사용하여 조회할 수 있도록 만들어져 있음

1. 설치

In [1]:
# !pip install opendartreader
# !pip install --upgrade opendartreader # 업그레이드

2. 사용법

2.1. API key 발급

  • https://opendart.fss.or.kr/ 에 접속하여 [인증키 신청/관리] - [인증키 신청] 탭에서 api key 발급을 진행하면 된다.

2.2. 사용시 주의사항

2.3. dart객체 생성

  • 먼저 dart 객체를 생성해야 다른 작업을 진행할 수 있음

  • 이 때 api key가 필요함

In [2]:
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)

In [5]:
dart.finstate(corp='005930', bsns_year=2019)
Out[5]:
rcept_no reprt_code bsns_year corp_code stock_code fs_div fs_nm sj_div sj_nm account_nm thstrm_nm thstrm_dt thstrm_amount frmtrm_nm frmtrm_dt frmtrm_amount bfefrmtrm_nm bfefrmtrm_dt bfefrmtrm_amount ord
0 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 유동자산 제 51 기 2019.12.31 현재 181,385,260,000,000 제 50 기 2018.12.31 현재 174,697,424,000,000 제 49 기 2017.12.31 현재 146,982,464,000,000 1
1 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 비유동자산 제 51 기 2019.12.31 현재 171,179,237,000,000 제 50 기 2018.12.31 현재 164,659,820,000,000 제 49 기 2017.12.31 현재 154,769,626,000,000 3
2 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 자산총계 제 51 기 2019.12.31 현재 352,564,497,000,000 제 50 기 2018.12.31 현재 339,357,244,000,000 제 49 기 2017.12.31 현재 301,752,090,000,000 5
3 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 유동부채 제 51 기 2019.12.31 현재 63,782,764,000,000 제 50 기 2018.12.31 현재 69,081,510,000,000 제 49 기 2017.12.31 현재 67,175,114,000,000 7
4 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 비유동부채 제 51 기 2019.12.31 현재 25,901,312,000,000 제 50 기 2018.12.31 현재 22,522,557,000,000 제 49 기 2017.12.31 현재 20,085,548,000,000 9
5 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 부채총계 제 51 기 2019.12.31 현재 89,684,076,000,000 제 50 기 2018.12.31 현재 91,604,067,000,000 제 49 기 2017.12.31 현재 87,260,662,000,000 11
6 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 자본금 제 51 기 2019.12.31 현재 897,514,000,000 제 50 기 2018.12.31 현재 897,514,000,000 제 49 기 2017.12.31 현재 897,514,000,000 13
7 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 이익잉여금 제 51 기 2019.12.31 현재 254,582,894,000,000 제 50 기 2018.12.31 현재 242,698,956,000,000 제 49 기 2017.12.31 현재 215,811,200,000,000 17
8 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 BS 재무상태표 자본총계 제 51 기 2019.12.31 현재 262,880,421,000,000 제 50 기 2018.12.31 현재 247,753,177,000,000 제 49 기 2017.12.31 현재 214,491,428,000,000 21
9 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 IS 손익계산서 매출액 제 51 기 2019.01.01 ~ 2019.12.31 230,400,881,000,000 제 50 기 2018.01.01 ~ 2018.12.31 243,771,415,000,000 제 49 기 2017.01.01 ~ 2017.12.31 239,575,376,000,000 23
10 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 IS 손익계산서 영업이익 제 51 기 2019.01.01 ~ 2019.12.31 27,768,509,000,000 제 50 기 2018.01.01 ~ 2018.12.31 58,886,669,000,000 제 49 기 2017.01.01 ~ 2017.12.31 53,645,038,000,000 25
11 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 IS 손익계산서 법인세차감전 순이익 제 51 기 2019.01.01 ~ 2019.12.31 30,432,189,000,000 제 50 기 2018.01.01 ~ 2018.12.31 61,159,958,000,000 제 49 기 2017.01.01 ~ 2017.12.31 56,195,967,000,000 27
12 20200330003851 11011 2019 00126380 005930 CFS 연결재무제표 IS 손익계산서 당기순이익 제 51 기 2019.01.01 ~ 2019.12.31 21,738,865,000,000 제 50 기 2018.01.01 ~ 2018.12.31 44,344,857,000,000 제 49 기 2017.01.01 ~ 2017.12.31 42,186,747,000,000 29
13 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 유동자산 제 51 기 2019.12.31 현재 72,659,080,000,000 제 50 기 2018.12.31 현재 80,039,455,000,000 제 49 기 2017.12.31 현재 70,155,189,000,000 2
14 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 비유동자산 제 51 기 2019.12.31 현재 143,521,840,000,000 제 50 기 2018.12.31 현재 138,981,902,000,000 제 49 기 2017.12.31 현재 128,086,171,000,000 4
15 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 자산총계 제 51 기 2019.12.31 현재 216,180,920,000,000 제 50 기 2018.12.31 현재 219,021,357,000,000 제 49 기 2017.12.31 현재 198,241,360,000,000 6
16 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 유동부채 제 51 기 2019.12.31 현재 36,237,164,000,000 제 50 기 2018.12.31 현재 43,145,053,000,000 제 49 기 2017.12.31 현재 44,495,084,000,000 8
17 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 비유동부채 제 51 기 2019.12.31 현재 2,073,509,000,000 제 50 기 2018.12.31 현재 2,888,179,000,000 제 49 기 2017.12.31 현재 2,176,501,000,000 10
18 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 부채총계 제 51 기 2019.12.31 현재 38,310,673,000,000 제 50 기 2018.12.31 현재 46,033,232,000,000 제 49 기 2017.12.31 현재 46,671,585,000,000 12
19 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 자본금 제 51 기 2019.12.31 현재 897,514,000,000 제 50 기 2018.12.31 현재 897,514,000,000 제 49 기 2017.12.31 현재 897,514,000,000 15
20 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 이익잉여금 제 51 기 2019.12.31 현재 172,288,326,000,000 제 50 기 2018.12.31 현재 166,555,532,000,000 제 49 기 2017.12.31 현재 150,928,724,000,000 19
21 20200330003851 11011 2019 00126380 005930 OFS 재무제표 BS 재무상태표 자본총계 제 51 기 2019.12.31 현재 177,870,247,000,000 제 50 기 2018.12.31 현재 172,988,125,000,000 제 49 기 2017.12.31 현재 151,569,775,000,000 22
22 20200330003851 11011 2019 00126380 005930 OFS 재무제표 IS 손익계산서 매출액 제 51 기 2019.01.01 ~ 2019.12.31 154,772,859,000,000 제 50 기 2018.01.01 ~ 2018.12.31 170,381,870,000,000 제 49 기 2017.01.01 ~ 2017.12.31 161,915,007,000,000 24
23 20200330003851 11011 2019 00126380 005930 OFS 재무제표 IS 손익계산서 영업이익 제 51 기 2019.01.01 ~ 2019.12.31 14,115,067,000,000 제 50 기 2018.01.01 ~ 2018.12.31 43,699,451,000,000 제 49 기 2017.01.01 ~ 2017.12.31 34,857,091,000,000 26
24 20200330003851 11011 2019 00126380 005930 OFS 재무제표 IS 손익계산서 법인세차감전 순이익 제 51 기 2019.01.01 ~ 2019.12.31 19,032,469,000,000 제 50 기 2018.01.01 ~ 2018.12.31 44,398,855,000,000 제 49 기 2017.01.01 ~ 2017.12.31 36,533,552,000,000 28
25 20200330003851 11011 2019 00126380 005930 OFS 재무제표 IS 손익계산서 당기순이익 제 51 기 2019.01.01 ~ 2019.12.31 15,353,323,000,000 제 50 기 2018.01.01 ~ 2018.12.31 32,815,127,000,000 제 49 기 2017.01.01 ~ 2017.12.31 28,800,837,000,000 30

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: 개별 재무제표)

In [7]:
dart.finstate_all(corp='005930', bsns_year=2019)
Out[7]:
rcept_no reprt_code bsns_year corp_code sj_div sj_nm account_id account_nm account_detail thstrm_nm thstrm_amount frmtrm_nm frmtrm_amount bfefrmtrm_nm bfefrmtrm_amount ord thstrm_add_amount
0 20200330003851 11011 2019 00126380 BS 재무상태표 ifrs-full_CurrentAssets 유동자산 - 제 51 기 181385260000000 제 50 기 174697424000000 제 49 기 146982464000000 1 NaN
1 20200330003851 11011 2019 00126380 BS 재무상태표 ifrs-full_CashAndCashEquivalents 현금및현금성자산 - 제 51 기 26885999000000 제 50 기 30340505000000 제 49 기 30545130000000 2 NaN
2 20200330003851 11011 2019 00126380 BS 재무상태표 dart_ShortTermDepositsNotClassifiedAsCashEquiv... 단기금융상품 - 제 51 기 76252052000000 제 50 기 65893797000000 제 49 기 49447696000000 3 NaN
3 20200330003851 11011 2019 00126380 BS 재무상태표 -표준계정코드 미사용- 단기매도가능금융자산 - 제 51 기 제 50 기 제 49 기 3191375000000 4 NaN
4 20200330003851 11011 2019 00126380 BS 재무상태표 -표준계정코드 미사용- 단기상각후원가금융자산 - 제 51 기 3914216000000 제 50 기 2703693000000 제 49 기 5 NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
205 20200330003851 11011 2019 00126380 SCE 자본변동표 ifrs-full_Equity 기말자본 자본 [member]|지배기업 소유주지분 제 51 기 254915472000000 제 50 기 240068993000000 제 49 기 207213416000000 17 NaN
206 20200330003851 11011 2019 00126380 SCE 자본변동표 ifrs-full_Equity 기말자본 자본 [member]|지배기업 소유주지분|기타자본항목 제 51 기 -4968829000000 제 50 기 -7931370000000 제 49 기 -13899191000000 17 NaN
207 20200330003851 11011 2019 00126380 SCE 자본변동표 ifrs-full_Equity 기말자본 자본 [member]|지배기업 소유주지분|이익잉여금 [member] 제 51 기 254582894000000 제 50 기 242698956000000 제 49 기 215811200000000 17 NaN
208 20200330003851 11011 2019 00126380 SCE 자본변동표 ifrs-full_Equity 기말자본 자본 [member]|지배기업 소유주지분|자본금 [member] 제 51 기 897514000000 제 50 기 897514000000 제 49 기 897514000000 17 NaN
209 20200330003851 11011 2019 00126380 SCE 자본변동표 ifrs-full_Equity 기말자본 자본 [member]|지배기업 소유주지분|주식발행초과금 제 51 기 4403893000000 제 50 기 4403893000000 제 49 기 4403893000000 17 NaN

210 rows × 17 columns