DART에 2021년 전반기(1월~6월) 손익계산서가 올라왔습니다.

해당 데이터를 이용해 다양한 기준으로 영업이익이 많이 개선된 종목을 찾아보도록 하겠습니다.

DART 데이터를 어떻게 받아서 올리는지는 이전 글들을 참고해주세요.

1. 2021년 1분기 DART 재무제표 데이터베이스화하기

  - https://blog.naver.com/ryu1hwan/222407085233

2. 2021년 1분기 영업이익 증가 종목 찾기

  - https://blog.naver.com/ryu1hwan/222409475680

오늘 사용하는 데이터는 DART의 반기보고서입니다. 아래 경로에서 다운로드 할 수 있습니다.

  - https://opendart.fss.or.kr/disclosureinfo/fnltt/dwld/main.do

아래와 같이 반기 보고서의 손익계산서를 다운로드해주세요.

다운로드한 파일 압축을 풀어보면 네 개의 파일이 있습니다. 여기서는 아래 파일만 DB화 해서 분석합니다.

- 2021_반기보고서_03_포괄손익계산서_연결_20210821

우리나라 기업의 경우 어떤 기업은 포괄손익계산서를, 어떤기업은 그냥 손익계산서로 사업보고를 합니다. 그러므로 여기서는 포괄손익계산서 연결로 보고한 기업들만 분석 대상이 됩니다.

위 파일을 DB에 밀어넣기 위해 테이블 먼저 생성합니다. 아래 SQL로 테이블을 생성합니다.

CREATE TABLE DB_DTECH.UP_손익계산서_20211H
(
	재무제표종류		VARCHAR(100) NOT NULL
	,종목코드			VARCHAR(40) NOT NULL
	,회사명				VARCHAR(100)
	,시장구분			VARCHAR(40)
	,업종				VARCHAR(100)
	,업종명				VARCHAR(100)
	,결산월				VARCHAR(40)
	,결산기준일			VARCHAR(40) NOT NULL
	,보고서종류			VARCHAR(100)
	,통화				VARCHAR(40)
	,항목코드			VARCHAR(1000) NOT NULL
	,항목명				VARCHAR(1000)
	,당기_반기_3개월	    NUMERIC(28,6)
	,당기_반기_누적		NUMERIC(28,6)
	,전기_반기_3개월	    NUMERIC(28,6)
	,전기_반기_누적		NUMERIC(28,6)
	,전기				NUMERIC(28,6)
	,전전기				NUMERIC(28,6)
);

 

업로드용 임시 테이블이므로 PK를 설정하지 않았습니다. (실제 분석을 위해서는 위의 데이터를 정규화된 테이블로 구조화해야 합니다. 이는 좀 더 많은 공수가 추가되므로 오늘은 다루지 않습니다. 언제가 다룰 예정입니다.)

위 테이블에 데이터를 올리는 과정은 위에 링크 드린 이전 글들을 참고해주세요. 저 같은 경우 DBeaver를 사용했습니다. 아래와 같이 Mapping을 잘 해야 에러 없이 데이터를 올릴 수 있습니다. 데이터 Import 과정에서 컬럼의 Mapping 값이 Existing 이 되도록 해야 합니다. 새로 컬럼을 추가할 경우 길이 문제로 업로드가 잘 안될 수도 있습니다. (만약에 업로드 실패 후 다시 올려야 한다면, 위에서 만들었던 테이브를 DROP후 다시 만들고 시도해주세요.)

데이터를 모두 업로드했다면, 이젠 손쉽게 데이터를 분석할 수 있습니다.

본격적인 설명에 앞서, 절대 어떤 종목을 추천하기 위한 글이 아니며, 본 글로 인해 투자한 종목의 손실에 대해서는 절대 누구도 책임지지 않는다는 것을 기억해주시기 바랍니다.

데이터의 정확성 역시 일차적으로는 검토했지만, 데이터 수집 시점이나 과정에서 발생한 실수로 부정확할수도 있으니 양해바랍니다.

1. 전년 반기 대비 올해 반기, 영업이익 증가액 Top-10 종목

SELECT  T1.회사명 
        ,ROUND(T1.당기_반기_누적/1e8,1) 당기_반기
        ,ROUND(T1.전기_반기_누적/1e8,1) 전기_반기
        ,ROUND(ROUND(T1.당기_반기_누적/1e8,1) - ROUND(T1.전기_반기_누적/1e8,1),1) 영업이익증가액
FROM    DB_DTECH.UP_손익계산서_20211H T1
WHERE   T1.항목코드 = 'dart_OperatingIncomeLoss'
AND     T1.당기_반기_누적 > 0
AND     T1.통화 = 'KRW'
ORDER BY 영업이익증가액 DESC
LIMIT 10;
[결과]
회사명           당기_반기       전기_반기       영업이익증가액 
================ =============== =============== ===============
SK               27622.3         -7909.4         35531.7        
SK이노베이션     10090.3         -22717.0        32807.3        
포스코           37530.3         8729.7          28800.6        
S-Oil            12002.4         -11715.7        23718.1        
HMM              24082.3         1367.0          22715.3        
LG디스플레이     12240.9         -8789.4         21030.3        
롯데케미칼       12178.1         -530.7          12708.8        
SK하이닉스       40190.0         27518.2         12671.8        
현대중공업지주   7189.2          -3829.1         11018.3        
에스디바이오센서 9666.7          814.8           8851.9

 

2. 올해 1분기 대비 올해 2분기, 영업이익 증가액 Top-10 종목

   - 2분기의 영업이익은 '당기_반기_3개월'입니다.

   - 1분기의 영업이익은 '당기_반기_누적 - 당기_반기_3개월' 입니다.

SELECT  T2.*
        ,ROUND(T2.`2분기` - T2.`1분기`,1) 영업이익증가액
FROM    (
		SELECT  T1.회사명 
		        ,ROUND(T1.당기_반기_3개월/1e8,1) `2분기`
		        ,ROUND((T1.당기_반기_누적 - T1.당기_반기_3개월)/1e8,1) `1분기`
		FROM    DB_DTECH.UP_손익계산서_20211H T1
		WHERE   T1.항목코드 = 'dart_OperatingIncomeLoss'
		AND     T1.통화 = 'KRW'
		) T2
WHERE   T2.`2분기` > 0
ORDER BY 영업이익증가액 DESC
LIMIT 10;
[결과]
회사명              2분기     1분기     영업이익증가액            
=================== ========= ========= ================== 
SK하이닉스          26945.7   13244.2   13701.5            
포스코              22005.9   15524.4   6481.5             
HMM                 13889.4   10192.9   3696.5             
현대제철            5453.0    3039.0    2414.0             
LG디스플레이        7010.6    5230.3    1780.3             
삼성SDI             2952.0    1331.7    1620.3             
아시아나항공        559.0     -872.6    1431.6             
삼성물산            4251.9    3025.8    1226.1             
삼성바이오로직스    1667.6    743.0     924.6              
대한항공            1935.5    1015.8    919.7

 

 

3. 전년 반기 대비 올해 반기, 영업이익 증가율 기준 Top-10 종목

   - 영업이익 금액이 아니라, 증가율을 사용합니다.

   - 증가율은 '올해 반기 / 전년 반기' 입니다.

SELECT  T1.회사명 
        ,ROUND(T1.당기_반기_누적/1e8,1) 당기_반기
        ,ROUND(T1.전기_반기_누적/1e8,1) 전기_반기
        ,ROUND(ROUND(T1.당기_반기_누적/1e8,1) / ROUND(T1.전기_반기_누적/1e8,1),1) 영업이익증가율
FROM    DB_DTECH.UP_손익계산서_20211H T1
WHERE   T1.항목코드 = 'dart_OperatingIncomeLoss'
AND     T1.당기_반기_누적 > 0
AND     T1.전기_반기_누적 > 0
AND     T1.통화 = 'KRW'
ORDER BY 영업이익증가율 DESC
LIMIT 10;
[결과]
회사명               당기_반기       전기_반기       영업이익증가율        
==================== =============== =============== =================
엔피디               46.2            0.1             462.0            
솔본                 177.8           2.0             88.9             
이상네트웍스         40.4            0.6             67.3             
SGC이테크건설        323.7           5.9             54.9             
효성중공업           578.3           13.4            43.2             
엠에스오토텍         431.4           12.0            35.9             
CNH                  530.5           15.0            35.4             
미래아이앤지         11.6            0.4             29.0             
아비코전자           22.8            0.8             28.5             
아이즈비전           67.1            2.6             25.8

 

 

4. 전년 반기 대비 올해 반기, 영업이익 증가율 기준 Top-10 종목 (500억 이상만)

   - 증가율을 사용할 경우, 영업이익이 매우 작은 기업도 포함됩니다.

   - 여기서는 500억 이상 이익이 난 기업만 대상으로 추출합니다.

SELECT  T1.회사명 
        ,ROUND(T1.당기_반기_누적/1e8,1) 당기_반기
        ,ROUND(T1.전기_반기_누적/1e8,1) 전기_반기
        ,ROUND(ROUND(T1.당기_반기_누적/1e8,1) / ROUND(T1.전기_반기_누적/1e8,1),1) 영업이익증가율
FROM    DB_DTECH.UP_손익계산서_20211H T1
WHERE   T1.항목코드 = 'dart_OperatingIncomeLoss'
AND     T1.당기_반기_누적/1e8 > 500
AND     T1.전기_반기_누적 > 0
AND     T1.통화 = 'KRW'
ORDER BY 영업이익증가율 DESC
LIMIT 10;
[결과]
회사명              당기_반기       전기_반기       영업이익증가율           
=================== =============== =============== ================= 
효성중공업          578.3           13.4            43.2              
CNH                 530.5           15.0            35.4              
HMM                 24082.3         1367.0          17.6              
KG ETS              1575.5          108.0           14.6              
대한항공            2951.4          233.1           12.7              
에스디바이오센서    9666.7          814.8           11.9              
풍산                1689.2          193.6           8.7               
포스코강판          577.6           67.9            8.5               
SK케미칼            1591.0          256.7           6.2               
대한유화            1622.9          266.4           6.1

 

 

5. 올해 1분기 대비 올해 2분기, 영업이익 증가율 Top-10 종목

   - 1분기와 2분기 영업이익 증가율로 Top-10을 추립니다.

SELECT  T2.*
        ,ROUND(T2.`2분기` / T2.`1분기`,1) 영업이익증가율
FROM    (
		SELECT  T1.회사명 
		        ,ROUND(T1.당기_반기_3개월/1e8,1) `2분기`
		        ,ROUND((T1.당기_반기_누적 - T1.당기_반기_3개월)/1e8,1) `1분기`
		FROM    DB_DTECH.UP_손익계산서_20211H T1
		WHERE   T1.항목코드 = 'dart_OperatingIncomeLoss'
		AND     T1.통화 = 'KRW'
		) T2
WHERE   T2.`2분기` > 0
AND     T2.`1분기` > 0
ORDER BY 영업이익증가율 DESC
LIMIT 10;
[결과]
회사명          2분기     1분기     영업이익증가율         
=============== ========= ========= =============== 
홈센타홀딩스    32.7      0.2       163.5           
케이엔더블유    11.7      0.1       117.0           
세종공업        165.0     1.6       103.1           
대화제약        15.3      0.2       76.5            
KC그린홀딩스    75.5      1.2       62.9            
한컴위드        12.3      0.2       61.5            
RFHIC           28.4      0.7       40.6            
EG              29.7      1.0       29.7            
금호타이어      113.9     4.5       25.3            
휴스틸          138.8     6.3       22.0

 

 

6. 올해 1분기 대비 올해 2분기, 영업이익 증가율 Top-10 종목 (500억 이상만)

   - 1분기와 2분기 영업이익 증가율로 Top-10을 추립니다.

   - 500억 이상 이익 기업만 대상으로 합니다.

SELECT  T2.*
        ,ROUND(T2.`2분기` / T2.`1분기`,1) 영업이익증가율
FROM    (
		SELECT  T1.회사명 
		        ,ROUND(T1.당기_반기_3개월/1e8,1) `2분기`
		        ,ROUND((T1.당기_반기_누적 - T1.당기_반기_3개월)/1e8,1) `1분기`
		FROM    DB_DTECH.UP_손익계산서_20211H T1
		WHERE   T1.항목코드 = 'dart_OperatingIncomeLoss'
		AND     T1.통화 = 'KRW'
		) T2
WHERE   T2.`2분기` > 500
AND     T2.`1분기` > 0
ORDER BY 영업이익증가율 DESC
LIMIT 10;
[결과]
회사명               2분기     1분기     영업이익증가율                 
==================== ========= ========= =================
한국항공우주         599.9     84.0      7.1                     
KISCO홀딩스          706.8     128.5     5.5                     
대한제강             673.8     132.2     5.1                     
원익IPS              1007.5    242.6     4.2                     
상상인               511.0     167.0     3.1                     
국도화학             780.8     263.4     3.0                     
세아제강지주         1080.1    369.4     2.9                     
BGF리테일            586.5     216.3     2.7                     
세아홀딩스           1216.2    467.7     2.6                     
세아베스틸           938.7     375.2     2.5

 

기준에 따라 다양한 종목이 나왔습니다. 그런데, 이번 분기(또는 반기)에 영업이익이 증가했다고 앞으로 주가도 오를까요? 그건 아무도 알 수 없겠죠. 다양한 관점으로 고민이 필요하다고 생각합니다.

오늘은 여기까지입니다. 감사합니다.

 

위와 같이 주식 데이터를 마음대로 분석해볼 수 있는 SQL을 공부하고 싶다면 아래 책을 참고해주세요~!

 

※ 책 소개: https://sweetquant.tistory.com/243

※ 책 미리보기: https://sweetquant.tistory.com/257

 

※ 완전판 E-Book

  ▶ 유페이퍼: https://www.upaper.net/ryu1hwan/1142997

  ▶ 알라딘: https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=273701425

  ▶ Yes24: http://www.yes24.com/Product/Goods/102264444?OzSrank=1

  ▶ 교보문고: https://digital.kyobobook.co.kr/digital/ebook/ebookDetail.ink?selectedLargeCategory=001&barcode=4801167630019&orderClick=LAG&Kc=

 

+ Recent posts