XBRL 데이터 추출

XBRL 파일 데이터 분석

dart_fss.xbrl.get_xbrl_from_file(file_path: str) DartXbrl[source]

XBRL 파일 로드 함수

XBRL 파일을 로드하기 위한 함수로 로딩완료 후 DartXbrl 클래스를 반환한다

Parameters:
file_path: str

XBRL 파일 경로

Returns
——-
DartXbrl

DartXbrl 클래스

DartXbrl 클래스

class dart_fss.xbrl.dart_xbrl.DartXbrl(filename: str, xbrl: <module 'arelle.ModelXbrl' from '/home/docs/checkouts/readthedocs.org/user_builds/dart-fss/envs/latest/lib/python3.10/site-packages/arelle/ModelXbrl.py'>)[source]

XBRL 문서

회사(종목)의 XBRL 문서를 기반으로 회계정보를 가지고 있는 클래스

Attributes:
filename: str

로드한 파일 이름

xbrl: ModelXbrl

arelle Xbrl 클래스

Methods

exist_consolidated()

연결 재무제표 존재 여부를 확인하기 위한 함수

get_audit_information([lang])

감사 정보

get_author_information([lang])

작성자 정보

get_cash_flows(Statement of cash flow)

현금흐름표(Statement of cash flow)

get_changes_in_equity(...)

자본변동표(Statement of changes in equity )

get_document_information([lang])

공시 문서 정보

get_entity_address_information([lang])

주소 정보

get_entity_information([lang])

공시 대상 정보

get_financial_statement(...)

재무상태표(Statement of financial position)

get_financial_statement_information([lang])

재무제표 정보

get_income_statement(...)

포괄손익계산서(Statement of comprehensive income)

get_period_information([lang])

공시 문서 기간 정보

get_table_by_code(code)

Table 코드와 일치하는 Table 반환

get_table_by_name(name[, separate])

Table 이름과 일치하는 Table 리스트 반환

exist_consolidated()[source]

연결 재무제표 존재 여부를 확인하기 위한 함수

Returns:
bool

연결재무제표 존재시 True / 개별재무제표만 존재시 False

get_audit_information(lang: str = 'ko') DataFrame[source]

감사 정보

Parameters:
lang: str

표시 언어 설정(‘ko’: 한글, ‘en’: 영어)

Returns:
DataFrame

감사 정보

get_author_information(lang: str = 'ko') DataFrame[source]

작성자 정보

Parameters:
lang: str

표시 언어 설정(‘ko’: 한글, ‘en’: 영어)

Returns:
DataFrame

작성자 정보

get_cash_flows(Statement of cash flow)[source]

현금흐름표(Statement of cash flow)

Parameters:
separate: bool, optional

개별(True) / 연결(False, 기본)

Returns:
list of Table

현금흐름표 리스트

get_changes_in_equity(Statement of changes in equity)[source]

자본변동표(Statement of changes in equity )

Parameters:
separate: bool, optional

개별(True) / 연결(False, 기본)

Returns:
list of Table

자본변동표 리스트

get_document_information(lang: str = 'ko') DataFrame[source]

공시 문서 정보

Parameters:
lang: str

표시 언어 설정(‘ko’: 한글, ‘en’: 영어)

Returns:
DataFrame

공시 문서 정보

get_entity_address_information(lang: str = 'ko') DataFrame[source]

주소 정보

Parameters:
lang: str

표시 언어 설정(‘ko’: 한글, ‘en’: 영어)

Returns:
DataFrame

주소 정보

get_entity_information(lang: str = 'ko') DataFrame[source]

공시 대상 정보

Parameters:
lang: str

표시 언어 설정(‘ko’: 한글, ‘en’: 영어)

Returns:
DataFrame

공시 대상 정보

get_financial_statement(Statement of financial position)[source]

재무상태표(Statement of financial position)

Parameters:
separate: bool, optional

개별(True) / 연결(False, 기본)

Returns:
list of Table

재무상태표 리스트

get_financial_statement_information(lang: str = 'ko') DataFrame[source]

재무제표 정보

Parameters:
lang: str

표시 언어 설정(‘ko’: 한글, ‘en’: 영어)

Returns:
DataFrame

제무제표 정보

get_income_statement(Statement of comprehensive income)[source]

포괄손익계산서(Statement of comprehensive income)

Parameters:
separate: bool, optional

개별(True) / 연결(False, 기본)

Returns:
list of Table

포괄손익계산서 리스트

get_period_information(lang: str = 'ko') DataFrame[source]

공시 문서 기간 정보

Parameters:
lang: str

표시 언어 설정(‘ko’: 한글, ‘en’: 영어)

Returns:
DataFrame

공시 문서 기간 정보

get_table_by_code(code: str) Table | None[source]

Table 코드와 일치하는 Table 반환

Parameters:
code: str

Table 코드번호

Returns:
Table or None

코드 번호에 맞는 Table 또는 None

get_table_by_name(name: str, separate: bool = False) List[Table] | None[source]

Table 이름과 일치하는 Table 리스트 반환

Parameters:
name: str

Table 이름

separate: bool, optional

True: 개별재무제표

Returns:
List[Table] or None

이름에 맞는 Table 리스트 또는 None

property tables: List[Table]

list of Table: Table 리스트

Table 클래스

class dart_fss.xbrl.table.Table(parent, xbrl, code, definition, uri)[source]

XBRL Table

XBRL 파일에서 추출된 데이터를 기반으로 재무제표에 관한 정보를 담고 있는 클래스

Attributes:
parent: str

로드한 파일 이름

code: str

테이블 코드

definition: str

테이블 정의

uri: str

테이블 uri

Methods

cls_filter([start_dt, end_dt, label])

classification 필터링 함수

get_value_by_concept_id(concept_id[, ...])

concept_id을 이용하여 값을 찾아 주는 함수

to_DataFrame([cls, lang, start_dt, end_dt, ...])

Pandas DataFrame으로 변환 하는 함수

property calculations

계산식 반환

property cls

classification 반환

cls_filter(start_dt=None, end_dt=None, label=None)[source]

classification 필터링 함수

Parameters:
start_dt: str

검색 시작 일자

end_dt: str

검색 종료 일자

label: str

포함할 label 명

Returns:
list of cls

필터된 classification

property dataset

dict of modelFact:

property facts

list of modelFact:

get_value_by_concept_id(concept_id, start_dt=None, end_dt=None, label=None, lang='en')[source]

concept_id을 이용하여 값을 찾아 주는 함수

Parameters:
concept_id: str

재무제표 계정의 concept_id

start_dt: str

검색 시작 일자

end_dt: str

검색 종료 일자

label: str

검색 포함 label

lang: str

‘ko’ 한글 / ‘en’ 영문

Returns:
dict of (str or float)

{ column 이름 : 값 }

property labels

labels 반환

to_DataFrame(cls=None, lang='ko', start_dt=None, end_dt=None, label=None, show_abstract=False, show_class=True, show_depth=10, show_concept=True, separator=True, ignore_subclass=True)[source]

Pandas DataFrame으로 변환 하는 함수

Parameters:
cls: dict, optional

classification

lang: str, optional

‘ko’ 한글 or ‘en’ 영문

start_dt: str, optional

검색 시작 일자

end_dt: str, optional

검색 종료 일자

label: str, optional

Column label에 포함될 단어

show_abstract: bool, optional

abstract 표시 여부

show_class: bool, optional

class 표시 여부

show_depth: int, optional

class 표시 깊이

show_concept: bool, optional

concept_id 표시 여부

separator: bool, optional

숫자 첫단위 표시 여부

ignore_subclass: bool, optional

대분류인 연결재무제표 및 별도재무제표를 제외한 나머지 column의 표시 여부 ((‘연결재무제표’, ‘자본금’) / (‘연결재무제표’, ‘주식발행초과금’) 등)

Returns:
DataFrame

재무제표 DataFrame

Example

import dart_fss as dart


# 삼성전자 code
corp_code = '00126380'

# 모든 상장된 기업 리스트 불러오기
corp_list = dart.get_corp_list()

# 삼성전자
samsung = corp_list.find_by_corp_code(corp_code=corp_code)

# 사업보고서 검색
reports = samsung.search_filings(bgn_de='20190101', pblntf_detail_ty='a001')

# 첫번째 리포트 선택
report = reports[0]

# 리포트의 xbrl 데이터
xbrl = report.xbrl

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

# 감사 정보 (영문) -> DataFrame 형태로 반환됨
audit = xbrl.get_audit_information(lang='en')

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

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

# Pandas DataFrame으로 변환
df = cf.to_DataFrame()

# Pandas DataFrame으로 변환 / 분류 정보 제외
df_wo_class = cf.to_DataFrame(show_class=False)