OpenDartReader로 재무정보 조회하기 - (2)배당정보 조회¶
설치와 api key 발급방법은 https://psystat.tistory.com/115 를 참고
In [1]:
import OpenDartReader
import pandas as pd
api_key = '발급받은 api key'
dart = OpenDartReader(api_key)
1. 배당정보 조회¶
사업보고서 주요정보를 조회하는 report() 메소드 사용
dart.report(corp, key_word, bsns_year, reprt_code='11011')
key_word에 '증자','배당','자기주식','최대주주','최대주주변동','소액주주','임원','직원','임원개인보수','임원전체보수','개인별보수','타법인출자' 중의 하나를 지정할 수 있음
In [2]:
# 삼성전자의 2019년 배당관련 사항 조회
dart.report(corp='005930', key_word='배당', bsns_year=2019)
Out[2]:
2. DPS/EPS/배당수익률/배당총액 조회¶
- 'se' 칼럼에서 원하는 정보를 찾은 후 'thstrm'칼럼의 값(당기 정보)을 가져오면 된다.
In [3]:
dv = dart.report(corp='005930', key_word='배당', bsns_year=2019)
dv_dps = dv[dv['se'] == '주당 현금배당금(원)']
dv_eps = dv[dv['se'].str.contains('주당순이익')]
dv_yield = dv[dv['se'].str.contains('현금배당수익률')]
dv_TD = dv[dv['se'].str.contains('현금배당금총액')]
EPS = int(dv_eps[['thstrm']].iloc[0,0].replace(',','').strip()) # 주당순이익
DPS = int(dv_dps[['thstrm']].iloc[0,0].replace(',', '').strip()) # 주당 배당금
Yield = float(dv_yield[['thstrm']].iloc[0,0].replace(',','').strip())
TD = int(dv_TD[['thstrm']].iloc[0,0].replace(',', '').strip()) * 1000000 # 배당금총액. 백만원단위
In [6]:
pd.DataFrame({'종목코드':['005930'], '종목명':['삼성전자'],
'EPS':[EPS], 'DPS':[DPS], '배당수익률':[Yield], '배당금총액':[TD]})
Out[6]: