전자공시 Dart API의 주요사항보고서 개발가이드 > 공시정보 > 공시검색 데이터에서 무상증자 결정 공시정보를 가져와
주가 정보랑 비교해 보도록 하겠습니다.
본인의 인증키(API Key)가 필요하니 필요하신분은 아래를 참고 부탁드립니다.
1. 가입 및 인증키 확인(Skip 가능)
2. 무상증자 결정 공시 데이터 가져오기
3. 주가 정보와 비교하기
1. 가입 및 인증키 확인(Skip 가능)
[전자공시 Dart API] 가입 및 인증키(API Key) 확인하기
1. 사이트 가입 2. 인증키(API Key) 확인하기 1. 사이트 가입 사이트에 접속합니다. https://opendart.fss.or.kr/ 시스템 점검으로 모든 서비스 이용이 일시적으로 중단되어니 양해 부탁드립니다. 시스템 점
yenpa.tistory.com
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가능)
[FinanceDataReader] 설치 및 주식 주가 정보 가져오기(코스피, 코스닥)
국내 주식 정보를 가져와 보겠습니다. 1. FinanceDataReader 설치 2. 종목 정보 가져오기 3. 주가 정보 가져오기 1. FinanceDataReader 설치 명령프롬프트에서 아래의 명령어로 설치 가능합니다. anaconda의 경
yenpa.tistory.com
우선 위의 무상증자결정 리스트중 싸이토젠 회사의 주가를 확인하겠습니다.
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 |