전자공시 Dart API의 주요사항보고서 개발가이드 > 공시정보 > 공시검색 데이터에서 무상증자 결정 공시정보를 가져와
주가 정보랑 비교해 보도록 하겠습니다.
본인의 인증키(API Key)가 필요하니 필요하신분은 아래를 참고 부탁드립니다.
1. 가입 및 인증키 확인(Skip 가능)
2. 무상증자 결정 공시 데이터 가져오기
3. 주가 정보와 비교하기
1. 가입 및 인증키 확인(Skip 가능)
2. 무상증자 결정 공시 데이터 가져오기
2022년 7월 1일 ~ 2022년 9월 30일의 3개월간의 공시 데이터 중에서
주요사항보고서(무상증자결정) 데이터만 가져옵니다.
import requests
import pandas as pd
from IPython.display import display
crtfc_key='YOUR_APIKEY'
page_no=1
page_count=100
bgn_de='20220701'
end_de='20220930'
pblntf_detail_ty='B001'
results_all=pd.DataFrame()
while(True):
url = 'https://opendart.fss.or.kr/api/list.json'
params = {
'crtfc_key': crtfc_key,
'page_no' : str(page_no),
'page_count' : str(page_count),
'bgn_de' : bgn_de,
'end_de' : end_de,
'pblntf_detail_ty' : pblntf_detail_ty,
}
#결과를 json형태로 저장
results = requests.get(url, params=params).json()
#결과중 실제 공시정보가 있는부분만 DataFrame으로 저장
results_df = pd.DataFrame(results['list'])
#하나의 DataFrame으로 만듬
results_all = pd.concat([results_all,results_df])
total_page=results['total_page']
# total_page와 page_no이 같으면 while문 종료
if page_no==total_page:
break
page_no=page_no+1
#주요사항 보고서(무상증자결정), 법인 Y(코스피), K(코스닥)
keyword='주요사항보고서(무상증자결정)'
df = results_all.loc[(results_all['report_nm']==keyword) &
((results_all['corp_cls']=='K') | (results_all['corp_cls']=='Y'))]
print(df.shape)
display(df)
입력 요청인자(Parameter)를 잠시 살펴보겠습니다.
bgn_de(시작날짜), end_de(종료날짜) 인데 corp_code를 입력안하면 3개월까지 검색이 됩니다.
pblntf_detail_ty(공시유형)에서 B001(주요사항보고서)만 설정했습니다.
page_no=1
page_count=100
bgn_de='20220701'
end_de='20220930'
pblntf_detail_ty='B001'
보고서명은 주요사항보고서(무상증자결정)으로 하고, 법인을 Y(코스피), K(코스닥)만 검색했습니다.
#주요사항 보고서(무상증자결정), 법인 Y(코스피), K(코스닥)
keyword='주요사항보고서(무상증자결정)'
df = results_all.loc[(results_all['report_nm']==keyword) &
((results_all['corp_cls']=='K') | (results_all['corp_cls']=='Y'))]
결과를 확인해 보겠습니다.
3개월간 18개의 회사가 검색이 되고 리스트는 아래와 같습니다.(아래는 생략)
3. 주가 정보와 비교하기
financedatareader를 사용해서 주가 정보를 가져오겠습니다.
financedatareader의 설치는 아래를 참고하셔도 됩니다.(Skip가능)
우선 위의 무상증자결정 리스트중 싸이토젠 회사의 주가를 확인하겠습니다.
import FinanceDataReader as fdr
code='217330'
startdate='2022-07-01'
enddate='2022-09-30'
fdr.DataReader(code,startdate,enddate)
정상적으로 잘 나오는 것을 알수 있습니다.
주가정보를 그래프로 확인해보겠습니다.
무상증자결정 데이터의 회사별로 각각의 그래프를 그리는 코드입니다.
import matplotlib.pyplot as plt
plt.rc('font', family='NanumGothic')
for i, r in df.iterrows():
corp_name = r['corp_name']
stock_code = r['stock_code']
#주가정보
code=stock_code
startdate='2022-07-01'
enddate='2022-09-30'
df_stock=fdr.DataReader(code,startdate,enddate)[['Close']]
rcept_date=pd.to_datetime(r['rcept_dt'], format='%Y%m%d')
plt.figure(figsize=(6,2))
plt.plot(df_stock.index, df_stock['Close'])
plt.title(corp_name)
plt.xticks(rotation=90)
plt.axvline(x = rcept_date, color = 'red')
plt.show()
결과를 보겠습니다. 아래 빨간부분은 레포트 접수일자가 표시됩니다.
그래프상의 빨간 라인도 레포트 접수일자입니다.
4개만 표시시키고 나머지느 생략하겠습니다.
이상으로 무상증자 결정 공시정보를 가져와 해당 회사의 주가 정보를 확인해봤습니다.
'API' 카테고리의 다른 글
[전자공시 Dart API] 유상증자 신주 비율 확인 및 유상증자 목적별 분류 (4) | 2022.10.22 |
---|---|
[전자공시 Dart API] 배당률 높은 회사 리스트 가져오기 (16) | 2022.10.21 |
[전자공시 Dart API] 임원 주요주주 소유보고 회사리스트 수집 (4) | 2022.10.19 |
[전자공시 Dart API] 5% 대량보유 상황보고 회사리스트 수집 (4) | 2022.10.19 |
[전자공시 Dart API] 공시정보 공시검색에서 무상증자 회사 리스트확인 (5) | 2022.10.18 |