Closed 0x68756d8616e6f69664 closed 8 months ago
안녕하세요.
올려주신 NaN 문제는, DART에 공시되는 2023년 XBRL 파일에 2022년 09월 30일 데이터가 자본총계만 존재하기 때문에 발생하는 문제입니다.
올려주신 코드를 분석하면 AJ네트워크(095570)의 2023년 9월 분기 보고서의 XBRL 데이터를 추출하게 되는데
2023년 9월 AJ네트워크 분기보고서의 XBRL Viewer를 보면 아래와 같이 2022년 09월 30일 데이터가 빠져있는 것을 확인할 수 있습니다.
즉, 대부분의 2022년 3분기 데이터는 XBRL 파일에는 2022년 3분기 데이터가 없기 때문에 NaN으로 표기되는 것이며, 오직 자본총계 데이터만 XBRL 추가 처리를 위해 포함된 것으로 생각됩니다.
다른 티커에서도 동일한 형태로 공시되기 때문에 위와 비슷하게 데이터 추출이 됩니다.
extract 혹은 extract_fs 함수를 사용하시는 경우에는 일정 기간의 공시정보를 모두 추출하여 합쳐서 출력하기 때문에 이러한 문제가 대부분 발생하지 않습니다.
import dart_fss as dart
dart.set_api_key(api_key=api_key)
corp_list = dart.get_corp_list()
samsung = corp_list.find_by_corp_name('삼성전자', exactly=True)[0]
fs = samsung.extract_fs(bgn_de='20220101', report_tp='quarter')
fs.save()
-> 샘플 코드로도 동일한 결과 같은데 (NaN) dart에서 제공되는 정보가 불완전하기 때문에 기존처럼 추출하는 데 사용하는건 불가능으로 보는게 맞는건가요?
확인해 보니, NaN으로 인해 문제가 생기는 것이 맞는거 같습니다.
코드 수정을 통해 수정이 가능한지 확인해보도록 하겠습니다.
관련 문제 수정을 진행하였으며, 테스트 후 곧바로 배포하도록 하겠습니다.
애써주셔서 감사합니다.
dart-fss v0.4.6 배포를 통해 패치되었습니다. 버그 리포트 감사합니다.
안녕하세요. 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