nakka soft world !

[경제] 재무제표에서 주식수 구하기 - Python Code 본문

경제/기업 분석

[경제] 재무제표에서 주식수 구하기 - Python Code

nakka 2021. 1. 17. 01:19
728x90

앞서 말한 재무제표에서 주식 수 구하는 것에 대한 Python Code 입니다.

이를 Code화시키면 좋은 점이 자동으로 모든 기업의 모든 년도의 주식수를 구할수 잇다는 것지요.

이를 기반으로 다른 Data도 활용 하여 정보를 가져 와서 정리 한다면, 이게 Big Data입니다.

아래는 Code 입니다. Python으로 작성 되었습니다.

참고로 Dart API Key는 아래 Link를 통해 받으실수 있습니다.

opendart.fss.or.kr/

 

전자공시 OPENDART 시스템

--> 시스템 점검으로 모든 서비스 이용이 일시적으로 중단되어니 양해 부탁드립니다. 시스템 점검 일정 2019년12월30일 23:00 ~ 12월31일 24:00 (1시간) *상기 작업 시간은 사정에 의해 변경 될 수 있습니

opendart.fss.or.kr

 

import dart_fss as dart
import pandas as pd

# 삼성전자 code
corp_code = '00126380'

api_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'   #dart api key
dart.set_api_key(api_key=api_key)

# 모든 상장된 기업 리스트 불러오기
corp_list = dart.get_corp_list()

# 삼성전자
samsung = corp_list.find_by_corp_name('삼성전자', exactly = True)[0]

# 2012년 01월 01일 부터 연결재무제표 검색
fs = samsung.extract_fs(bgn_de='20200101')

# 연결손익계산서
df_is = fs['is'] # 또는 df = fs[1] 또는 df = fs.show('is')

#불필요한 index 제거
index = df_is['[D310000] Income statement, by function of expense - Consolidated financial statements (Unit: KRW)']['label_ko']
df_index=pd.DataFrame(index)
df_contents=df_is[['20190101-20191231']].droplevel(1,axis=1)

#index와 data합치기
income_statement=pd.merge(df_index, df_contents,left_index=True, right_index=True)

#필요한 열만 가져오기
income_statement.columns=['Label', '2019']
income_statement.set_index('Label',inplace=True)

#당기순이익/기본주당이익행 과 2019 열만 가져온뒤 날짜 오름차순 정렬
sales_op_df=pd.DataFrame(income_statement.iloc[[0,4,14,16],[0]]).transpose().sort_index(ascending=True)

print(sales_op_df['지배기업의 소유주에게 귀속되는 당기순이익(손실)'])
print(sales_op_df['기본주당이익(손실)'])
print(sales_op_df['지배기업의 소유주에게 귀속되는 당기순이익(손실)']/sales_op_df['기본주당이익(손실)'])

 

결과는 아래와 같습니다.

728x90
Comments