반응형

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

 

 

<DART-FSS 관련 지난 글>

 

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

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

 


지난 시간에 배운 내용이 기업을 선택한 후, 해당 기업의 재무제표를 가져오거나 공시보고서를 검색하는 것이었다면, 이번 시간에 배울 함수는 특정 기간의 특정 공시 유형의 보고서들을 가져올 수 있습니다. 지금부터 어떤 매개변수들을 설정해줄 수 있는지 알아보겠습니다.

 

공시보고서 검색

(함수) dart_fss.filings.search( )

 

<매개변수>

옵션 기능 기본 값 자료형
corp_code 공시대상회사의 고유번호(8자리) 미입력 시, 모든 회사 검색
검색기간은 3개월로 제한
str
bgn_de 검색시작 접수일자(YYYYMMDD) 종료일(end_de) str
end_de 검색종료 접수일자(YYYYMMDD) 오늘 날짜 str
last_reprt_at 최종보고서만 검색여부(Y or N) N str
pblntf_ty 공시유형 및 공시상세유형 참고 None str
pblntf_detail_ty 공시유형 및 공시상세유형 참고 None str
corp_cls 법인구분 : Y(유가), K(코스닥), N(코넥스), E(기타) 전체 조회 str
sort 정렬, {접수일자: date, 회사명: crp, 고서명: rpt} ?? str
sort_mth 오름차순(asc), 내림차순(desc) 내림차순('desc') str
page_no 페이지 번호(1~n) 1 int
page_count 페이지당 건수(1~100) 10 int

 

<예시 코드>

import dart_fss as dart

# 오늘 나온 공시 검색
reports = dart.filings.search()

# 2021년 1월 1일부터 2021년 3월 31일까지 검색 (페이지당 표시 건수: 100)
reports = dart.filings.search(bgn_de='20190101', end_de='20190331', page_count=100)

# 2019년 5월 1일부터 2019년 7월 1일까지 연간보고서만 검색
reports = dart.filings.search(bgn_de='20190501', end_de='20190701', pblntf_detail_ty='a001')

# 2019년 5월 1일부터 2019년 7월 1일까지 연간보고서 및 반기보고서 검색
reports = dart.filings.search(bgn_de='20190501', end_de='20190701', pblntf_detail_ty=['a001', 'a002'])

 

 

공시보고서 검색 결과

(클래스) dart_fss.filings.search.SearchResults

 

위에서 dart_fss.filings.search( )로 얻은 결과, 즉 reports라는 변수 안에는 어떤 것이 들어있을까요?

 

아래와 같이 크게 5가지 요소를 가집니다.

요소 기능
page_no 표시된 페이지 번호
page_count 페이지당 표시할 리포트수
total_count 총 건수
total_page 총 페이지수
report_list 검색된 리포트 리스트

 

주피터 노트북으로 검색결과를 출력해보았습니다.

 

import dart_fss as dart

# 2021년 1월 1일부터 2021년 3월 31일까지 검색
reports = dart.filings.search(bgn_de='20210101', end_de='20210331')

reports

 

<출력 결과>

 

잘 보시면 page_no는 1, page_count는 10, total_count는 68908, total_page는 6891인 것을 확인 하실 수 있습니다.

 

이게 무슨의미인지 잠시 알아보겠습니다.

 

먼저 page_count의 10은 기본값입니다. 우리가 저기 위에서 함수를 사용할 때, 따로 인자를 넣어주지 않았기에 10이라는 기본 값이 들어갔고, 총 검색결과가 1페이지에 10개씩 나뉘어서 저장된 상태입니다.

 

즉, 2021년 1월 1일부터 2021년 3월 31일까지 나온 공시 보고서의 총 갯수가 68908개이며, 이걸 10개씩 나누어 총 6891개의 페이지를 가지는 것이죠.

 

마지막으로 page_no가 1이므로 1페이지의 공시 10개만 report_list에 들어가 있는 것을 확인할 수 있습니다.

 

 

실제 사용 예시

 

지금까지 배운 것을 가지고 실제로 삼성전자의 최신 공시보고서 하나를 가져와보겠습니다.

 

import dart_fss as dart

# 삼성전자 code
corp_code = '00126380'

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

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

# 참고
# 0-4번 보고서 선택
# zero_to_fourth_report = reports[0:5]

# 가장 오래된 보고서 선택
# oldest_report = reports[-1]

 

<주피터 노트북 실행 결과>

 

아직은 이 자료를 어떻게 사용할 수 있는지는 모르겠네요. 어떻게 활용하는지는 조금 더 공부한 후 포스팅 하도록 하겠습니다.

 

 

참고로, 지난 시간 배운 함수를 이용하면 같은 결과를 얻을 수 있습니다.

# 삼성전자 code
corp_code = '00126380'

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

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

# 연간보고서 검색
reports = samsung.search_filings(bgn_de='20210101', pblntf_detail_ty='a001')

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

 


<참고 자료>

 

DART-FSS 공식 문서

https://dart-fss.readthedocs.io/en/latest/dart_search.html#dart_fss.filings.search.SearchResults.page_count

 

공시정보 검색 — dart-fss documentation v0.3.10 documentation

© Copyright 2021, Sungwoo Jo Revision 2a7bb3e6.

dart-fss.readthedocs.io

 

반응형

+ Recent posts