josw123 / dart-fss

한국 금융감독원에서 운영하는 다트(Dart) 시스템 크롤링을 위한 라이브러리
https://github.com/josw123/dart-fss
MIT License
327 stars 111 forks source link

분기보고서 로드 질문 #10

Closed sangheumcho closed 5 years ago

sangheumcho commented 5 years ago

안녕하세요, dart-fss 를 설치한 python 사용자입니다!

제가 xbrl데이터를 읽는데 어려움이 너무 많아서 구글링을 하던 중, 이런 좋은 패키지를 만들어 주셔서 감사합니다.

한편, 이 모듈의 예시를 실행시켜보니,

fs_quarter = samsung_electronics.get_financial_statement(start_dt='20190101', report_tp='quarter')

, 시간이 좀 오래 걸리는 것 같은데, 혹시 이렇게 하고 기다리는 것이 맞는지요?

답변 주시면 감사하겠습니다.

josw123 commented 5 years ago

처음 실행시 Download 이후에 XBRL 파일 분석을 위한 시간이 조금 오래 걸립니다. (컴퓨터 사양에 따라 실행 속도가 다르기 때문에 걸리는 시간에 대하여 정확히 답변드리기 어렵습니다.)

만약 XBRL 파일 분석만 필요하시다면 'XBRL 파일 + WEB 정보'를 분석하는 get_financial_statement 함수를 사용하시기 보다는 아래와 같이 XBRL 파일 정보만을 이용하는 방법을 추천드립니다.

import dart_fss as dart

crp_list = dart.get_crp_list()
samsung = crp_list.find_by_name('삼성전자')[0]

''' 
공시정보 검색 (search_report 함수 정보는 search.py 소스코드 주석을 참고하세요)
'a001': 사업보고서
'a002': 반기보고서
'a003': 분기보고서
'''' 
results = samsung.search_report(start_dt='20190101', bsn_tp='a003') # 분기보고서 검색

# 1분기 보고서 선택
report_2019_q1 = results[0] 

# XBRL 데이터 다운로드 및 로딩
xbrl = report_2019_q1.xbrl 

# 공시 문서 정보 
xbrl.get_document_information() # 또는 xbrl.get_document_information(lang='en')

# 공시 대상 정보
xbrl.get_entity_information()

# 공시 주소 정보
xbrl,get_entity_address_information()

# 재무상태표
res = xbrl.get_financial_statement(separate = False) #연결재무상태표
fs = res[0]
fs.to_Dataframe() # pandas DataFrame 형태로 반환

# 포괄손익계산서 
res = xbrl.get_income_statement() 
income_statement = res[0]
income_statement .to_Dataframe()
statement_of_comprehensive_income = res[1]
statement_of_comprehensive_income .to_Dataframe()

#  자본변동표
res = xbrl.get_changes_in_equity()
ie = res[0]
ie.to_Dataframe()

# 현금흐름표
res = xbrl.get_cash_flows()
cf = res[0]
cf.to_Dataframe()

자세한 XBRL 데이터 관련 사항은 xbrl.pysearch.py 주석을 참고하세요

sangheumcho commented 5 years ago

친절한 답변 감사드립니다, 많은 도움이 됐습니다!