반응형

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

 

 

<DART-FSS 관련 지난 글>

 

2021.06.10 - [파이썬 패키지/전자공시시스템(DART)] - [Python/Dart] 파이썬으로 공시 정보 가져오기 1편_ DART API와 DART-FSS 패키지 소개

2021.06.22 - [파이썬 패키지/전자공시시스템(DART)] - [Python/Dart] 파이썬으로 공시 정보 가져오기 2편_ 상장된 회사 재무제표 EXCEL로 저장하기

2021.06.25 - [파이썬 패키지/전자공시시스템(DART)] - [Python/Dart] 파이썬으로 공시 정보 가져오기 3편_특정회사 혹은 특정 공시유형 가져오기

2021.06.27 - [파이썬 패키지/전자공시시스템(DART)] - [Python/Dart] 파이썬으로 공시 정보 가져오기 4편_재무제표 4종 골라서 DataFrame으로 추출하기(ft. 재무상태표, 손익계산서, 포괄손익계산서, 현금흐름표)

2021.06.27 - [파이썬 패키지/전자공시시스템(DART)] - [Python/Dart] 파이썬으로 공시 정보 가져오기 5편_dart-fss 재무제표 다운로드 안될 때 해결법


이번 시간에 배울 내용은 XBRL을 추출하는 방법입니다.

 

그런데 도대체 XBRL이 뭘까요? 궁금해서 찾아봤습니다.

 

XBRL이란?

 

XBRL(eXtensible Business Reporting Language)은 기업의 비즈니스 리포트에서 복잡한 기업 정보가 보다 더 효율적으로 생성, 교환, 비교될 수 있도록 하기 위하여 XML(eXtensible Markup Language)을 비즈니스 리포팅 영역에 응용한 표준입니다. 주로 재무제표와 같은 재무 정보를 정의하고 교환하는 일에 사용한다고 합니다.

 

자세한 내용은 아래의 글을 참고해주세요.

 

https://www.2e.co.kr/news/articleView.html?idxno=210265

 

기업 보고 데이터 표준, XBRL 소개 - 투이컨설팅

XBRL은 기업보고 데이터의 공급망을 바꾼다XBRL(eXtensibe Business Reporting Language)은 XML을 기반으로 복잡한 기업정보를 생성, 교환, 비교할 수 있도록 만들어진 국제 표준이다. 기업의 재무보고서를 데

www.2e.co.kr

 

 

 

그럼 지금부터 dart-fss 패키지에서 어떻게 XBRL 파일을 추출하고 사용할 수 있는지 알아보겠습니다.

 

XBRL 데이터 추출

 

XBRL 파일을 추출하는 방법은 아주 간단합니다. 복잡한 설명보다 코드로 설명드리겠습니다.

 

# 삼성전자 code
corp_code = '00126380'

reports = dart.filings.search(corp_code=corp_code, bgn_de='20210101', pblntf_detail_ty='a001')

# 가장 최신 보고서 선택
report = reports[0]

# report에서 xbrl 파일 추출
xbrl = report.xbrl

 

2021.06.25 - [파이썬 패키지/전자공시시스템(DART)] - [Python/Dart] 파이썬으로 공시 정보 가져오기 3편_특정회사 혹은 특정 공시유형 가져오기

 

지난 글에서 아직 report에 들어가있는 데이터를 어떻게 사용할지 모르겠다고 했던 것 기억하시나요?

 

report 출력 결과

 

바로 그 report에 .xbrl만 붙여주면 report의 데이터를 종류별로 꺼내어 쓸 수 있습니다. (모두 다는 아니고 특정 데이터들만 가능합니다)

 

어떻게 꺼내어 쓰는지는 아래에서 설명드리겠습니다.

 

 

XBRL 데이터 분석

 

방금 전 추출한 xbrl 안에는 수 많은 데이터들이 분류되어 있습니다. 각각의 데이터들을 아래의 함수들로 가져올 수가 있답니다.

 

메소드 기능 매개변수 반환 자료형
exist_consolidated( ) 연결 재무제표 존재 여부 확인 - True/False
get_cash_flows( ) 현금흐름표 separate = True or False
(True: 개별, False: 연결)

미입력 시, False가 기본값
list of Table

(여기서 Table은 DataFrame과 같은 말)
get_changes_in_equity( ) 자본변동표
get_financial_statement( ) 재무상태표
get_income_statement( ) 포괄손익계산서
get_audit_information( ) 감사 정보 lang = 'ko' or 'en'

미입력 시, 'ko'가 기본값
DataFrame
get_author_information( ) 작성자 정보
get_document_information( ) 공시 문서 정보
get_entity_address_information( ) 주소 정보
get_entity_information( ) 공시 대상 정보
get_financial_statement_information( ) 재무제표 정보
get_period_information( ) 공시 문서 기간 정보
get_table_by_code( ) Table 코드와 일치하는 Table 반환 code = 'Table 코드번호'

꼭 입력해주어야 함
Table
or None

 

<예시 코드>

 

연결재무제표 존재 여부 확인 (True / False)

xbrl.exist_consolidated()

>>> True

 

연결 현금흐름표 추출

# 연결 현금흐름표 추출 (리스트 반환)
list_cf = xbrl.get_cash_flows()

# 연결 현금프름표 출력
cf = list_cf[0]


>>> {'code': 'D520000', 'definition': '[D520000] Statement of cash flows, indirect method - Consolidated financial statements'}

해당 내용을 Pandas 패키지의 DataFrame 형태로 나타내는 방법은 아래에서 이어서 설명드리겠습니다.

 

공시 작성자 정보 출력

# 공시 작성자 정보
xbrl.get_author_information( )

 

 

재무제표 4종 DataFrame으로 가져오기

 

사실 재무제표를 가져오는 방법은 지난 글에서도 소개드린 적이 있습니다. 개인적으로 생각하기에 재무제표를 가져오는 것이 목적이라면 아래의 글에서 소개드린 방법을 추천드리지만, 그래도 이런 방법이 있다는 정도만 설명드리고 넘어가도록 하겠습니다.

 

2021.06.27 - [파이썬 패키지/전자공시시스템(DART)] - [Python/Dart] 파이썬으로 공시 정보 가져오기 4편_재무제표 4종 골라서 DataFrame으로 추출하기(ft. 재무상태표, 손익계산서, 포괄손익계산서, 현금흐름표)

 

(*여기까지 공부하고 보니 지난 시간에 배웠던 dart.fs.extract( ) 함수가 xbrl 문서를 다운로드 받는 것이었다는 것을 알 수 있었습니다.)

 

 

연결 현금흐름표 DataFrame 추출

# 연결 현금흐름표 추출 (리스트 반환)
list_cf = xbrl.get_cash_flows()

# 연결 현금흐름표 출력
cf = list_cf[0]

# 연결 현금흐름표 DataFrame 형태로 출력
cf.to_DataFrame()

 

출력 결과는 너무 길어서 5개만 잘라서 캡쳐했으니 직접 확인해보시면 좋을 것 같아요.

 

오늘 배운 내용은 아래의 참고자료를 참고하였으며, 필요하다고 생각되는 내용만 다루었습니다.

 

더 자세한 내용이 필요하신 분은 아래의 링크를 참고해주세요.

 

오늘을 마지막으로 dart-fss 사용법에 대한 내용은 모두 다루어보았습니다. 하지만 dart-fss라는 패키지를 공부해보니 함수는 다르나 중복되는 결과들이 많아서 총정리를 할 필요성을 느낍니다.

 

다음에는 지금까지 배운 dart-fss 패키지에서 목적별로 어떤 함수를 사용하는 것이 좋을지 정리하는 시간을 가지도록 하겠습니다.


https://dart-fss.readthedocs.io/en/latest/dart_xbrl.html#dart_fss.xbrl.dart_xbrl.DartXbrl.exist_consolidated

 

XBRL 데이터 추출 — dart-fss documentation v0.3.10 documentation

© Copyright 2021, Sungwoo Jo Revision 2a7bb3e6.

dart-fss.readthedocs.io

 

반응형

+ Recent posts