josw123/dart-fss

22년도 재무제표 추출 오류 문의

Closed this issue · 6 comments

안녕하세요. dart-fss API를 너무나도 쉽게 활용할 수 있게 해주셔서 먼저 감사드립니다.
다른건 아니고 #143 제보 후 추출에 관해 이상한 점이 있어서요.

아래와 같은 코드로 진행하였습니다.

import sys
import dart_fss as dart
from dart_fss.fs.extract import analyze_xbrl

print(f'Python {sys.version} \ndadrt-fss version: {dart.version}')

dart.set_api_key(api_key=api_key)

corp_list = dart.get_corp_list()

corp = corp_list.find_by_stock_code('095570')
reports = dart.search(corp_code=corp.corp_code, bgn_de = '20220101', end_de = '20231130', pblntf_ty='a')

fs_list = []
for report in reports:
fs = analyze_xbrl(report, separate=True, show_abstract=False, show_class=False, show_concept=True)
fs_list.append(fs)

print(fs_list[0]['bs']['20220930'])

결과물은 아래와 같습니다. 제가 기존에 사용했던 결과물이랑 비교해보니 NaN으로 추출되는 것은 옳지 않은 것 같아서요?
확인 부탁드려요. *티커 무관하게 발생하는 것으로 보아 모든 케이스에 적용되는 것 같긴합니다.

Python 3.8.16 (default, Mar 2 2023, 03:18:16) [MSC v.1916 64 bit (AMD64)]
dadrt-fss version: 0.4.5
(별도재무제표,)
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
10 NaN
11 NaN
12 NaN
13 NaN
14 NaN
15 NaN
16 NaN
17 NaN
18 NaN
19 NaN
20 NaN
21 NaN
22 NaN
23 NaN
24 NaN
25 NaN
26 NaN
27 NaN
28 NaN
29 NaN
30 NaN
31 NaN
32 NaN
33 NaN
34 NaN
35 NaN
36 NaN
37 NaN
38 NaN
39 NaN
40 NaN
41 NaN
42 NaN
43 413,745,414,283.0
44 NaN

안녕하세요.

올려주신 NaN 문제는, DART에 공시되는 2023년 XBRL 파일에 2022년 09월 30일 데이터가 자본총계만 존재하기 때문에 발생하는 문제입니다.

올려주신 코드를 분석하면 AJ네트워크(095570)의 2023년 9월 분기 보고서의 XBRL 데이터를 추출하게 되는데

2023년 9월 AJ네트워크 분기보고서의 XBRL Viewer를 보면 아래와 같이 2022년 09월 30일 데이터가 빠져있는 것을 확인할 수 있습니다.

Screenshot 2023-11-24 at 9 57 52 PM

즉, 대부분의 2022년 3분기 데이터는 XBRL 파일에는 2022년 3분기 데이터가 없기 때문에 NaN으로 표기되는 것이며, 오직 자본총계 데이터만 XBRL 추가 처리를 위해 포함된 것으로 생각됩니다.

다른 티커에서도 동일한 형태로 공시되기 때문에 위와 비슷하게 데이터 추출이 됩니다.

extract 혹은 extract_fs 함수를 사용하시는 경우에는 일정 기간의 공시정보를 모두 추출하여 합쳐서 출력하기 때문에 이러한 문제가 대부분 발생하지 않습니다.

import dart_fss as dart

Open DART API KEY 설정

dart.set_api_key(api_key=api_key)

DART 에 공시된 회사 리스트 불러오기

corp_list = dart.get_corp_list()

삼성전자 검색

samsung = corp_list.find_by_corp_name('삼성전자', exactly=True)[0]

2012년부터 연간 연결재무제표 불러오기

fs = samsung.extract_fs(bgn_de='20220101', report_tp='quarter')

재무제표 검색 결과를 엑셀파일로 저장 ( 기본저장위치: 실행폴더/fsdata )

fs.save()

-> 샘플 코드로도 동일한 결과 같은데 (NaN) dart에서 제공되는 정보가 불완전하기 때문에 기존처럼 추출하는 데 사용하는건 불가능으로 보는게 맞는건가요?

확인해 보니,
NaN으로 인해 문제가 생기는 것이 맞는거 같습니다.

코드 수정을 통해 수정이 가능한지 확인해보도록 하겠습니다.

관련 문제 수정을 진행하였으며,
테스트 후 곧바로 배포하도록 하겠습니다.

애써주셔서 감사합니다.

dart-fss v0.4.6 배포를 통해 패치되었습니다.
버그 리포트 감사합니다.