3주차 2편에는,
5. Dart API를 어떻게 사용하는지,
조금 더 심도있게 배워보는 시간을 가졌다.
Dart-FSS 라이브러리에 있는 Dart API를 활용하여
다양한 데이터를 뽑아보았는데,
나중엔 내가 원하는 데이터를 추출하여 참고하면 정말 좋을 듯 하다!
5. Dart API 사용해보기
1) 한 개 종목을 정해서 코드를 찾기
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
corp_code
2) dart api 사용해보기(공시정보, 사업보고서)
- 기업 정보 : Open DART API에서 '공시정보'에 있는 코드를 사용한다.
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
dart_fss.api.filings.get_corp_info(corp_code)
- 위 응답키가 무엇인지 궁금하면, DART 홈페이지의 '개발가이드' - '공시정보' - '기업개황 바로가기'에 들어가 확인해본다.
- 미등기임원 보수 총액 : Open DART API에서 '사업보고서 주요정보'에 있는 코드를 사용한다. (bsns_year와 reprt_code는 문자열로 쓴다.)
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.unrst_exctv_mendng_sttus(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 증자(감자)현황
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.irds_sttus(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 배당 현황
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.alot_matter(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 최대주주 현황
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.hyslr_sttus(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 임원 현황
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.exctv_sttus(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 직원 현황
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.emp_sttus(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 이사 보수
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.hmv_audit_indvdl_by_sttus(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 연봉 top 5
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.indvdl_by_pay(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 타법인 출자 현황
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.info.otr_cpr_invstmnt_sttus(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
3) dart api를 사용해보기(상장기업 재무정보)
- 재무제표의 3년 치 주요 정보 : Open DART API에서 '상장기업 재무정보'에 있는 코드를 사용한다.
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.finance.fnltt_singl_acnt(corp_code, '2021', '11011')
pd.DataFrame(data['list'])
- 모든 항목을 보고싶다면 아래와 같이 한다. (CFS:연결재무제표 인지, OFS:재무제표 인지를 선택하여 추가로 넣는다.)
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.finance.fnltt_singl_acnt_all(corp_code, '2021', '11011', 'CFS') >CFS:연결재무제표, OFS:재무제표
pd.DataFrame(data['list'])
4) dart api를 사용해보기(주주정보)
- 임원, 주요 주주 소유 보고 : Open DART API에서 '지분공시 종합정보'에 있는 코드를 사용한다.
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.shareholder.elestock(corp_code)
pd.DataFrame(data['list'])
- 특정 사람(CEO)에 대해서만 보기
corp_code = df_listed[df_listed['corp_name'] == '삼성전자'].iloc[0,0]
data = dart_fss.api.shareholder.elestock(corp_code)
df_temp = pd.DataFrame(data['list'])
df_temp[df_temp['repror'] == '이재용']
'CODING > PYTHON' 카테고리의 다른 글
[Python] 4주차_백테스팅 기초(1) : 골든/데드크로스 전략 구현 (1편) (Feat. 스파르타코딩클럽) (0) | 2022.12.13 |
---|---|
[Python] 3주차_DART 데이터 내 마음대로 활용하기(3편) (Feat. 스파르타코딩클럽) (1) | 2022.12.08 |
[Python] 3주차_DART 데이터 내 마음대로 활용하기(1편) (Feat. 스파르타코딩클럽) (1) | 2022.12.08 |
[Python] 2주차_손쉽게 다루는 해외주식(2편) (Feat. 스파르타코딩클럽) (0) | 2022.12.04 |
[Python] 2주차_손쉽게 다루는 해외주식(1편) (Feat. 스파르타코딩클럽) (0) | 2022.12.01 |