가치 투자를 한다고 하면 제일 먼저 따져보는게 PER, PBR이라고 합니다. 각각 주가 순익 비율, 주가 자본 비율이다. 관련해서는 이전에 정리해 놓은 적이 있습니다. ( 2020/05/17 - 나만 모르는 주식 용어 정리 )
어제 OPENDART에서 API키를 받아왔으니, 재무정보를 가져와서, 주식의 PER과 PBR을 계산하기 위한 재무 정보 데이터를 가져오려고 합니다.
이용한 라이브러리는 OPENDART API를 쉽게 호출할 수 있도록 한, Dart-Fss를 사용할 계획입니다.
와 주가 조회를 하기 위한 FinanceDataReader를 사용했습니다. ( 전에 야후 금융 데이터를 썼던 적이 있는데, 일부 날자의 데이터가 누락된 경험을 한 이후 사용했습니다. )
우선 전자공시 시스템에 등록된 기업목록을 조회해봤습니니다.
import dart_fss as dart
dart.set_api_key("api-key")
infos = dart.get_corp_list()
for info in infos:
print(info)
...
[00661856]대하
[00671747]삼백레미콘
[00665870]삼진공업
[00572534]이레산업개발
[00414063]인덕산업
[00661014]위즈솔루션
[00667142]팀스데코
[00551160]필드크럽
[00453743]강릉약품
[00677325]세종테크
[00621885]언주개발
...
출력되는 결과를 보면, 기업코드와 기업명이 보입니다. 여기서 다른 점은 기업코드가 우리가 익숙하게 아는 주식 종목코드와는 다르다는 점이었습니다. 그래서 주식 종목코드로 조회하는 함수를 사용하여야 원하는 기업의 정보를 가져올 수 있습니다.
우선 연습삼아 셀트리온의 정보를 조회해봤습니다. 2019년의 사업보고서를 조회한 결과입니다.
# 215600 셀트리온
corp = infos.find_by_stock_code("215600")
result = dart.api.finance.get_single_corp(corp.info['corp_code'], "2019", "11011")
print(result)
{
'status': '000',
'message': '정상',
'list': [{
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '유동자산',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '53,916,484,216',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '116,810,347,429',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '161,708,043,857',
'ord': '1'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '비유동자산',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '15,828,545,645',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '76,382,856,926',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '73,246,144,311',
'ord': '3'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '자산총계',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '69,745,029,861',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '193,193,204,355',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '234,954,188,168',
'ord': '5'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '유동부채',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '8,220,610,941',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '13,138,029,450',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '15,247,263,574',
'ord': '7'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '비유동부채',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '531,889,727',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '14,967,269,068',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '17,759,684,237',
'ord': '9'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '부채총계',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '8,752,500,668',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '28,105,298,518',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '33,006,947,811',
'ord': '11'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '자본금',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '35,526,062,500',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '34,908,516,500',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '34,016,723,500',
'ord': '13'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '이익잉여금',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '-333,319,504,277',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '-220,119,530,930',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '-165,535,862,333',
'ord': '17'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '자본총계',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '60,992,529,193',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '165,087,905,837',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '201,947,240,357',
'ord': '21'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'IS',
'sj_nm': '손익계산서',
'account_nm': '매출액',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.01.01 ~ 2019.12.31',
'thstrm_amount': '9,068,581,313',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.01.01 ~ 2018.12.31',
'frmtrm_amount': '7,712,024,811',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.01.01 ~ 2017.12.31',
'bfefrmtrm_amount': '6,864,849,467',
'ord': '23'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'IS',
'sj_nm': '손익계산서',
'account_nm': '영업이익',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.01.01 ~ 2019.12.31',
'thstrm_amount': '-58,492,593,158',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.01.01 ~ 2018.12.31',
'frmtrm_amount': '-59,043,409,848',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.01.01 ~ 2017.12.31',
'bfefrmtrm_amount': '-50,617,832,761',
'ord': '25'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'IS',
'sj_nm': '손익계산서',
'account_nm': '법인세차감전 순이익',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.01.01 ~ 2019.12.31',
'thstrm_amount': '-113,196,394,289',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.01.01 ~ 2018.12.31',
'frmtrm_amount': '-55,432,535,993',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.01.01 ~ 2017.12.31',
'bfefrmtrm_amount': '-56,181,102,131',
'ord': '27'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'CFS',
'fs_nm': '연결재무제표',
'sj_div': 'IS',
'sj_nm': '손익계산서',
'account_nm': '당기순이익',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.01.01 ~ 2019.12.31',
'thstrm_amount': '-113,199,973,347',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.01.01 ~ 2018.12.31',
'frmtrm_amount': '-56,236,181,150',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.01.01 ~ 2017.12.31',
'bfefrmtrm_amount': '-57,020,831,505',
'ord': '29'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '유동자산',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '49,933,095,169',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '114,580,964,941',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '157,069,754,578',
'ord': '2'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '비유동자산',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '15,198,046,190',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '168,036,239,737',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '142,038,524,016',
'ord': '4'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '자산총계',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '65,131,141,359',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '282,617,204,678',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '299,108,278,594',
'ord': '6'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '유동부채',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '9,243,943,404',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '9,613,306,320',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '14,694,489,028',
'ord': '8'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '비유동부채',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '524,951,958',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '12,095,150,364',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '12,009,266,189',
'ord': '10'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '부채총계',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '9,768,895,362',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '21,708,456,684',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '26,703,755,217',
'ord': '12'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '자본금',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '35,526,062,500',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '34,908,516,500',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '34,016,723,500',
'ord': '15'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '이익잉여금',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '-333,401,400,241',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '-120,471,424,743',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '-92,576,684,498',
'ord': '19'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'BS',
'sj_nm': '재무상태표',
'account_nm': '자본총계',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.12.31 현재',
'thstrm_amount': '55,362,245,997',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.12.31 현재',
'frmtrm_amount': '260,908,747,994',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.12.31 현재',
'bfefrmtrm_amount': '272,404,523,377',
'ord': '22'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'IS',
'sj_nm': '손익계산서',
'account_nm': '매출액',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.01.01 ~ 2019.12.31',
'thstrm_amount': '8,837,039,853',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.01.01 ~ 2018.12.31',
'frmtrm_amount': '15,310,981,920',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.01.01 ~ 2017.12.31',
'bfefrmtrm_amount': '13,294,693,394',
'ord': '24'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'IS',
'sj_nm': '손익계산서',
'account_nm': '영업이익',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.01.01 ~ 2019.12.31',
'thstrm_amount': '-74,431,217,830',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.01.01 ~ 2018.12.31',
'frmtrm_amount': '-32,548,541,623',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.01.01 ~ 2017.12.31',
'bfefrmtrm_amount': '-28,812,950,726',
'ord': '26'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'IS',
'sj_nm': '손익계산서',
'account_nm': '법인세차감전 순이익',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.01.01 ~ 2019.12.31',
'thstrm_amount': '-212,929,975,498',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.01.01 ~ 2018.12.31',
'frmtrm_amount': '-27,894,740,245',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.01.01 ~ 2017.12.31',
'bfefrmtrm_amount': '-33,978,710,423',
'ord': '28'
}, {
'rcept_no': '20200330004596',
'reprt_code': '11011',
'bsns_year': '2019',
'corp_code': '00919966',
'stock_code': '215600',
'fs_div': 'OFS',
'fs_nm': '재무제표',
'sj_div': 'IS',
'sj_nm': '손익계산서',
'account_nm': '당기순이익',
'thstrm_nm': '제 14 기',
'thstrm_dt': '2019.01.01 ~ 2019.12.31',
'thstrm_amount': '-212,929,975,498',
'frmtrm_nm': '제 13 기',
'frmtrm_dt': '2018.01.01 ~ 2018.12.31',
'frmtrm_amount': '-27,894,740,245',
'bfefrmtrm_nm': '제 12 기',
'bfefrmtrm_dt': '2017.01.01 ~ 2017.12.31',
'bfefrmtrm_amount': '-33,978,710,423',
'ord': '30'
}
]
}
결과를 보면, 각 항목별로 결과를 확인할 수 있습니다. 데이터를 좀더 살펴보고 다음 번에는 PER, PBR 등의 데이터를 만들어보겠습니다.
반응형