Korea Digital Contents Society

Current Issue

Journal of Digital Contents Society - Vol. 25 , No. 2

[ Article ]
Journal of Digital Contents Society - Vol. 23, No. 4, pp. 707-716
Abbreviation: J. DCS
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Apr 2022
Received 04 Mar 2022 Revised 04 Apr 2022 Accepted 07 Apr 2022
DOI: https://doi.org/10.9728/dcs.2022.23.4.707

정성 정보를 활용한 주가 급락 예측 연구
정지수1 ; 김청원2, *
1세종대학교 소프트웨어융합학과 석사
2세종대학교 소프트웨어학과 교수

A study on stock price crack prediction using qualitative information
Jisoo Jeong1 ; Cheongwon Kim2, *
1Master, Department of Software Convergence, Sejong University, Seoul 05006, Korea
2Professor, Department of Software, Sejong University, Seoul 05006, Korea
Correspondence to : *Cheongwon Kim Tel: +82-2-3408-3795 E-mail: wikim@sejong.ac.kr


Copyright ⓒ 2022 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Funding Information ▼

초록

주가 예측을 하기 위해서 실시간으로 시세가 변동하는 주식 시장의 정형 정보만으로는 다양한 요소들과 관련이 있기 때문에 예측하기가 매우 어렵다. 특히 주가 급락의 경우에는 급작스러운 사건의 발생으로 예측하기가 더욱 난해한 분야이다. 우리는 이를 해결하기 위한 방법으로 주가 급락 예측에 정성 정보를 활용하는 방법을 제안한다. 우리는 주가 급락과 관련된 다양한 종류의 공시 문서를 분석하였으며 공시 내용의 텍스트 특징을 추출하였다. 추출한 공시 문서의 텍스트 특징을 기반으로 공시 내용의 긍정, 부정, 중립에 대한 학습 데이터를 만들었다. 그런 다음 금융 도메인을 사전 학습한 주가 급락 모델을 만들었고, 모델 간 비교 분석을 위해 다른 머신러닝 알고리즘을 사용하였다. 급등 모델도 구축함으로써 각각의 성능을 실험 결과로써 제시하였고, 주가 급락이 급등보다 예측 가능성이 있음을 증명하였다. 결과적으로 주가가 공시 문서의 영향을 받음으로써 향후 주가 급락 예측에 도움이 될 수 있음을 확인하였다.

Abstract

Predicting stock price fluctuations only with fixed information, which is a general price in the stock market, is a very difficult method because it is related to various factors related to companies. To solve this, we propose a method that incorporates qualitative information in stock price crack prediction. We analyzed various types of disclosure documents which are associated with such events and extracted text-based features from them. We then utilized the disclosure-related features in forecasting stock price fluctuations. After creating a Down model to classify disclouse documents, we used other machine learning algorithms to compare and analyze them. We also created a Up model to compare whether the disclosure document is more affected by stock price crack. Various experiments have proven that our approach can increase the predictability of stock price crack.


Keywords: Stock price crack, Disclouse analysis, Deep learning, Finance domain ALBERT model, Docoument classification
키워드: 주가 급락, 공시 분석, 딥러닝, 금융 도메인 ALBERT 모델, 문서 분류

Ⅰ. 서 론

주가 예측 연구는 최근에도 지속적으로 연구가 진행되는 분야이다. 일반적으로 미래 예측을 하기 위한 방법은 과거 사실을 기반으로 미래를 예측하는 방법이다. 과거 사실로 활용될 수 있는 데이터는 정형 데이터와 정성 데이터의 두 가지로 분류된다. 정형 데이터는 회귀 모델을 주로 사용하는 예측 방법이다. 그러나 미래의 추세를 파악하는 좋은 방법이지만, 언제 갑자기 변동할지 예측하기가 어렵다. 왜냐하면 정형 데이터는 있는 그대로의 정보만을 담고 있기 때문이다. 반면 정성 데이터는 정형 데이터보다 더 많은 정보를 담고 있지만 분석하기가 어렵다는 단점이 있다. 주가 시세는 시장 동향, 세계 이벤트 및 보다 적절하게 기업의 특정 이벤트에 의해 영향을 받을 수 있기 때문이다. 따라서 이 문제를 해결하는 가장 좋은 방법은 정성 정보를 활용하는 것이다.

정성 정보는 정형 정보에 비해 분석이 어렵지만 정보의 종류도 다양하기 때문에 더 많은 정보를 담고 있다. 정성 정보에는 다양한 유형이 있다. SNS는 이슈에 민감하고 정보의 신뢰성이 불확실하다. 뉴스는 이미 일어난 일이라 정보 전달이 느리다. 증권 분석가(Analyst)들이 작성한 분석 보고서는 기업들의 반발로 투자의견에 대해 안 좋은 의견을 쓰기 어렵다. 그러나 공시는 다른 정성 정보에 비해 가장 빠르고 주가에 영향을 미칠 수 있는 공시 문서를 통해 제공한다. 특히, 부정적인 공시는 투자자의 반응을 일으켜 회사의 주가를 급락시킬 수 있다[1].

주가 급락에 대한 연구는 지속적으로 진행되어 왔으나 그 연구의 수가 많지 않다. 그러나 다양한 연구의 결과를 통해 주가 급락 예측 연구에 있어 공시는 중요한 정보로써 활용할 수 있음을 증명하였다. 선행 연구에 의하면 기업의 악재가 주가 급락의 원인이 될 수 있다[2]. 주가 급락에 대한 선행 연구들은 다양한 관점에서 주가 급락의 원인에 대해 분석하고자 하였다[3]. 정보의 불투명성(Information opacity)이 기업의 은폐성에 의해 주가 급락의 원인이 될 수 있다[4]. 또한, 기업의 경영자는 주가 시장에 제공할 수 있는 정보의 양을 조정할 수 있기 때문에[5], 주가에 부정적인 정보를 숨기기 쉬운 상황적 요인이 될 수 있다[6]. 기업에 관련된 정보가 시장에 참여하는 투자자들에게 투명하게 전달되지 않을 때 기업들의 주가의 급락(crash) 위험을 증가시킨다는 연구들이 지속적으로 연구되고 있다[7].

공시에 의해 주가 급락 그리고 급등에 영향을 끼칠 수 있으며 이러한 데이터 유형은 정성적인 정보로써 분류된다. 해외의 공시 문서 관련 연구에서는 재무정보뿐만 아니라 텍스트 데이터를 분석하여 예측률을 높이는 연구들이 진행되고 있다. 한 연구에 따르면, 정성 정보에는 기업 문서에 신용 위험에 대한 가치 있는 정보가 포함되어 있다는 강력한 증거가 있음을 입증하였다[8]. 다른 연구로는 미국에서 기업 파산 데이터베이스를 구축한 후 공개 문서의 텍스트 내용이 기업 파산을 예측한다는 것을 발견하였다[9]. 이 연구에 따르면 공시 내용을 활용하려면 텍스트 데이터에서 정보를 추출하고 활용하기 위한 보다 효과적인 알고리즘의 필요성이 그 어느 때보다 높아졌다. 또 다른 연구에서는 NLP(Natural Language Processing) tool를 사용하여 재정적으로 텍스트 데이터 기반의 많은 특징을 통합한 경우, 예측 정확도가 약 10% 이상 향상되었다[10]. 해외에서 공시 정보 관련 주가 예측 연구는 다양하나 국내의 주가 예측 연구에서 공시 정보의 텍스트 데이터를 활용한 예측 연구는 저조한 편이다. 정성 정보는 분석하기 어려운 데이터로써 국내에서도 연구의 진행 필요성을 느꼈고, 비정형 데이터로써 분석할 수 있는 방법은 선행 연구들을 참고하여 진행한다. 추후 정형 비정형 금융 데이터들을 활용한 핀테크 주가 예측 연구로써 활용할 수 있는 연구로 진행하기 위해 공시 문서를 분석한다. 따라서 본 연구에서는 국내의 공시 정보를 활용한 주가 예측 연구가 많지 않음을 인지하고 이를 활용하기 위해 공시를 정성 정보로써 활용한 연구를 진행하였다.

본 연구의 구성은 다음과 같다. 제 Ⅰ장 서론을 시작으로 제 Ⅱ장에서 연구 진행에 필요한 선행 연구를 조사한다. 그리고 제 Ⅲ장에서 주가가 급락한 기업과 밀접한 관련이 있는 공시 문서를 분석한다. 그런 다음 분석된 공시 문서를 수집하여 텍스트 특징을 추출한 후 금융 도메인으로 사전 훈련된 언어 모델(Language Model)을 통해 미세 조정(Fine-tuning)된 분류 모델을 생성한다. 제 Ⅳ장에서는 모델의 성능을 검증하기 위해 실험을 거쳐 결과를 분석한다. 제 Ⅴ장은 분석 결과를 요약하고 한계점과 향후 연구 방향성을 논의한다.


Ⅱ. 관련 연구
2-1 문서 표현을 위한 언어 모델

언어 모델은 단어 시퀀스(Sequence)에 확률을 할당하는 모델이다. 언어 모델은 가장 간단한 Unigram에서 시작되는데, 이전 단어를 기반으로 다음 단어의 확률을 계산하는 N-gram, Word2vec 등 워드 임베딩(Word Embedding)과 인공신경망을 이용한 다양한 연구가 언어 모델로 진행되어 왔다[11]. 문장 및 문서를 표현하기 위한 언어 모델로서 Word2vec의 확장판인 Doc2vec이 있다[12]. Doc2vec는 DM(Distributed Memory)과 DBOW(Distributed Bag of Words)로 분류된다. 문장이나 문서에 해당하는 문서 벡터와 단어 벡터를 나누어 표현한 모델이다. 언어 모델은 Doc2vec 이후로 계속 발전해왔다. 최근에는 어텐션 메커니즘(Attention Mechanism)[13]을 이용한 Transformer 모델 기반으로 발전하고 있다[14]. 특히 GPT(Generative Pre-trained Transformer)와[15] BERT(Bidirectional Encoder Representations from Transformers)는 NLP 작업에 대해서 높은 성능을 보여준다[16]. GPT는 Transformer 모델의 디코더(Decoder) 구조만을 사용하는 모델로, 문장 생성 및 챗봇(Chatbot)에 적합한 언어 모델이다. BERT는 Transformer 모델의 인코더(Encoder) 구조만을 사용하는 모델로, 텍스트 분류 및 QA(Question Answering) 시스템에 적합한 언어 모델이다. BERT는 최근 연구에서 가장 많이 사용되는 언어 모델로 다양한 분야의 NLP 작업에 적용해 높은 성능을 입증했다.

BERT는 사전 훈련(Pre-trained)을 지원하는 언어 모델 중 하나로, 더 많은 양의 데이터를 학습한 RoBERTa[17], 구조를 개선한 ALBERT 등 다양한 유형의 BERT가 존재한다[18]. 그러나 사전 훈련된 다양한 모델이 일반 도메인 말뭉치(Corpus)를 기반으로 훈련되었으므로 도메인 특화 말뭉치를 학습해야 한다[19]. LagalBERT는 일반 도메인 말뭉치와 법률 도메인 말뭉치에서 사전 훈련된 모델을 비교하고 분석했다[20]. 그 결과, 법률 도메인 말뭉치을 학습한 모델이 성능이 더 좋게 측정되었다. 금융 분야에서는 금융 도메인을 사전 학습한 첫 모델인 FinBERT를 구축한 후 실제 Task에 적용하기 위해 감성 분석 연구를 진행했다[21]. 금융 도메인을 적용한 모델은 최근에 연구가 지속적으로 진행되면서 다양한 연구에 활용되고 있다[22].

2-2 정성 정보를 활용한 주가 예측

정성 정보는 구조화되지 않은 데이터로써 통계에 초점을 둔 정형 정보에 비해 자연 언어에 의한 서술로 표현되는 범주형 데이터로써 다양한 연구가 진행되어 왔다. 정성 데이터를 활용한 연구는 SNS, 뉴스, 증권 보고서, 공시 문서 등 텍스트 데이터로서 다양한 방식으로 진행되어 왔다. 뉴스를 활용한 주가 예측 연구 경우, 뉴스가 발생하면 소셜미디어를 통해 쉽게 데이터에 접근할 수 있는 경제 분야 뉴스 데이터를 활용했다. 뉴스, 증권 보고서 등의 문서를 기반으로 Word2vec, Doc2vec 언어 모델이 사용되었으며 예측에는 LR(Logistic Regression), RF(Random Forest), 그리고 SVM(Support Vector Machine) 등의 알고리즘이 사용되었다[23]. 또한, 증시 흐름을 예측하기 위해 Financial Market News에 기반 한 BERT 모델을 이용한 연구가 수행되었다[24]. 최근에는 Online Financial Texts를 기반으로 BERT 모델을 통해 2개의 label로 Key Entity Detection Approach을 분석하는 연구가 진행되었다[25].

공시의 경우, 이전부터 정기보고서인 10-K, 10-Q, 8-K 보고서를 바탕으로 다양한 연구가 진행되어 왔다. 10-K를 이용한 연구로는 연차 보고서인 10-K를 3 개의 label로 분류하는 연구가 진행되었다[26]. 또 다른 연구에서는 11,827개의 미국 공기업기반으로 구성된 종합적인 파산 데이터베이스를 구축하고 딥러닝 모델을 통해 공시의 텍스트를 이용한 파산 예측에서 우수한 예측 성능을 산출한다는 것을 보여주었다[9]. 10-Q를 기반으로는 분기별 보고서를 활용한 연구를 실시하였으며, DNN 모델을 이용한 주가 예측 연구를 수행하였다[27]. 정성 정보를 통해 장기적 수익을 예측한 연구는 NLP Tool을 활용해 공시 텍스트 데이터에서 수익과 관련된 특성을 추출하였다[28]. 주가 예측에서 정성 정보의 효과를 강조하는 연구는 8-K에서 텍스트 데이터만 추출하고 다양한 벡터 표현을 통해 주가와 관련된 단어를 분석했다[10]. 공시 보고서에 시계열 분석을 적용한 연구로, 8-K 보고서 기반 GRU 모델을 통해 기업에서 발생할 수 있는 사건을 예측하는 연구가 진행됐다[29]. 또한 BERT 모델과 LSTM 모델을 이용한 재무심리 분석 연구가 수행되었다[30]. 최근에는, 금융 도메인을 학습한 FinBERT 모델이 주가 예측 문제를 감성 분석 방식으로 해결하고자 하였다[22]. 이처럼 해외에서는 공시를 활용한 주가 예측으로 다양한 연구가 진행되어왔으나 국내는 비교적 저조하게 진행되었으며 본 연구에서는 국내의 공시를 기반으로 주가 예측 연구를 진행하였다.


Ⅲ. 연구 방법
3-1 데이터

본 연구에 활용될 자료로는 국내의 DART(Data Analysis Research and Transfer System)가 제공하는 공시 문서와 정형 정보로 구성된 주가 데이터를 약 2년간 수집한 후 활용하였다. 분석 대상의 공시 문서의 종류를 파악하였다. 국내 공시 종류는 주요 카테고리로써 크게 10가지로 구성되어 있고 수많은 서브 카테고리로 구성되어 있다. 주가 급락 관련 공시를 수집하기 위해 정형 정보로 된 주가 시세 데이터를 활용했다. 사전에 수집한 주가 시세 데이터는 2019년 1월 2일부터 2020년 9월 25일까지 1,404개 기업의 주가 데이터이다. 회사명, 시가, 고가, 저가, 금일 종가, 전날 종가, 날짜, 등락률 등의 정보로 구성되어 있다. 주가 시세 데이터는 기간별로 금일 종가와 현재 종가 기반으로 등락률 계산식을 통해 분석하였다. 등락률 계산식은 등락률 = (해당 날 종가 - 전날 종가) / 전날 종가로 계산하였다.

국내의 공시 종류는 table 1에서 보이는 것과 같이 총 10가지의 공시 종류가 존재하며 코드별로 분류되어 있다. 각각의 코드 의미는 다음과 같다. A는 정기공시, B는 주요사항보고, C는 발행공시, D는 지분공시, E는 기타공시, F는 외부감사관련, G는 펀드공시, H는 자산유동화, I는 거래소공시, 그리고 J는 공정위공시를 의미한다. 각각 A~J 까지 주요 카테고리와 세분화된 서브 카테고리별로 코드 뒤에 숫자로 표기되며 공시 문서들이 구분된다.

Table 1. 
Main and sub categories of disclosure
Type Main-category Sub-category
A 5 17
B 3 449
C 11 184
D 4 15
E 9 34
F 5 6
G 3 13
H 6 36
I 6 830
J 5 200

3-2 자료 분석

본 연구에 데이터를 활용하기 위해 주가 급락에 사용된 공시 문서의 주요 카테고리를 주가 데이터 기반으로 분석하였다. 주가 급락 기간은 10일, 20일, 30일, 40일, 50일로 정의하였다. 기간별로 등락률을 계산한 후 가장 많이 급락한 기업 10개를 각각 추출하였다. 그런 다음 기간별로 공시 문서 발생 빈도를 측정하였다. 공시 문서의 빈도는 한 달 단위로 발생한 공시 문서를 기준으로 분석하였고, 결과적으로 2개의 공시 종류가 발생 빈도가 높았다.

table 2에서 나온 분석 결과, 우리는 월평균 빈도수가 가장 높게 나온 두 주요 카테고리의 공시 문서를 주가 급락에서 가장 중요하다고 정의했다. 두 가지 주요 카테고리인 공시 문서를 바탕으로 급락하는 종목을 분석했다. 그러나 기존 선행 연구에서도 확실하게 정의한 경우가 없었으며 사람이 직접 확인해도 분류하기가 어려웠기에 우선 제목으로 분류할 수 있는 공시 문서와 그렇지 않은 공시 문서를 나누었다. 제목으로 분류하기 어려운 공시 문서들은 내용 분류로 나누었고, 분석을 위해 2년 간 발생한 공시 문서별로 사용된 긍정 단어와 부정 단어를 수작업으로 추출했다. 그 결과 긍정 단어는 59개, 부정 단어는 99개가 추출됐다. table 3은 공시별로 추출된 예시로써, 중립의 단어는 모호한 경우가 많아 긍정과 부정 위주로 판단한 후 추출하였다.

Table 2. 
Average monthly frequency for each period of disclosure
Type 10 day 20 day 30 day 40 day 50 day Average
A 0.39 0.40 0.42 0.39 0.41 0.40
B 1.98 2.12 2.30 2.02 2.17 2.12
C 0.15 0.21 0.13 0.15 0.14 0.16
D 0.91 1.05 0.92 0.97 0.86 0.94
E 0.42 0.43 0.45 0.37 0.44 0.42
F 0.01 0.01 0.00 0.01 0.00 0.01
G 0.00 0.00 0.00 0.00 0.00 0.00
H 0.00 0.00 0.00 0.00 0.00 0.00
I 1.79 1.94 2.06 1.83 1.97 1.92
J 0.00 0.00 0.00 0.08 0.00 0.02

Table 3. 
Sentiment words extract example
Code Pos word Neg word
I001094 improvement, Reduced operating loss sales decrease, loss increase
I001114 sales increase, loss reduction sales decrease, revenue decline
I001164 change of disclosure, no penalty non-disclosure, unspecified

첫 번째 단계로 각 공시 서브 카테고리별로 자주 등장한 긍정, 부정 단어를 정리하였고, 이를 기반으로 공시 서브 카테고리로 각각 추출 가능한 공시 문서는 해당 서브 카테고리에 따라 긍정 단어의 수가 많으면 긍정, 부정 단어의 수가 많으면 부정으로 분류하였다. 두 번째 단계는 내용 분류로도 분류하기가 어렵고, 긍정, 부정 단어를 추출하기 어려운 경우이다. 따라서 추출한 긍정 단어 전체의 수인 59개, 부정 단어 전체의 수인 99개를 활용하였고, 몇 가지 실험한 결과 긍정과 부정 점수의 기준점을 0.5에서 0.75로 정의하였다. table 4에서처럼 0.75로 정의한 후 0.5에 비해 높은 예측률이 나왔고, 이를 기반으로 학습 데이터의 labeling으로써 활용하였다.

Table 4. 
Experiment 30 companies example
Type
disclosure
Up company Down company
count % count %
B document 10 33 16 53
I document 8 27 23 77

긍정 부정 단어의 수가 서로 달라 정규화 방법으로 간단하게 부정 단어의 수에 비율을 맞추어 0.6을 곱하여 계산하였다. 그러나 이러한 대상의 공시 서브 카테고리 경우, 중립적인 공시의 비중이 크다고 판단하여 긍정 단어와 부정 단어의 수를 계산한 후 0.75를 넘지 못하면 중립으로 분류하였다. 각각의 감성 지수 방식은 계산식 (1)에 따라 Up, Down, Stay로 정의하였다. P.word는 긍정 단어의 수, N.word는 부정 단어의 수를 의미한다.

Up=Sentiment score 0.75P.wordP.word+N.wordStay=Sentiment score 0.75P.wordor N.wordP.word+N.wordDown=Sentiment score 0.75N.wordP.word+N.word(1) 

그런 다음, 학습 데이터 구축을 위해서 기업 1,404개의 2016년 1월 1일부터 2018년 12월 31일까지 3년간 두 가지 공시 주요 카테고리 내 한해서만 수집하였다. 수집한 공시 문서들을 기반으로 모델에 사용하기 위해 데이터셋(Dataset)을 table 5와 같이 구성하였다.

Table 5. 
Train dataset
Train dataset Test dataset
Model Target Stay Target Stay
(+Non-target)
Up 4000 30000 494 2696
(+744)
Down 5400 30000 744 2696
(+494)

학습 데이터 구성 과정은 다음과 같다. table 5에서 Target은 각각의 모델의 예측 대상 label을 의미하며 Test 데이터의 Non-target은 반대되는 label을 의미한다. 급등을 의미하는 Up 모델에서는 주가 상승을 의미하는 Up, 주가 정상을 의미하는 Stay를 label로써 정의하였고, 이에 해당하는 공시 문서를 학습 데이터로써 사용하였다. 급락인 Down 모델에서는 주가 하락을 의미하는 Down, 주가 정상을 의미하는 Stay를 label로써 정의하였다. 학습을 위해 약 90%의 학습을 위한 Train 데이터로, 약 10%의 검증을 위한 Test 데이터로 분류하였다. 실질적 모델 검증을 위해 Test 데이터에서 추가된 데이터의 수는 각각의 모델에서 예측 대상인 각각의 label과 그 외 예측과 반대 label로 구성하였다.

3-3 제안 모델

BERT 모델은 Transformer의 인코더만을 사용한 언어 모델이다. 모델의 입력으로 토큰나이저를 사용해서 데이터 변환을 해야 한다. 이 과정에서 스페셜 토큰(Special Token)인 [CLS]는 모든 입력 문장의 시작을 의미하며, 문장의 첫 단어부터 끝 단어까지 토큰화 과정을 거친 입력 문장의 토큰들(Tokens)이다. 문장의 끝을 의미하는 것으로 다른 스페셜 토큰인 [SEP]으로 구분한다. 입력 토큰의 길이는 최대 512까지 제한되므로 스페셜 토큰을 제외한 510 토큰을 선행 연구에서 제안한 방법을 통해 전처리 과정을 진행한다. 연구에 의하면 Truncate method의 head와 tail을 경험적 방법으로 비율을 맞춘 것이 가장 성능에 좋았으며 본 연구에서는 head 50%, tail 50%의 비율로 조정한 후 문서의 입력 토큰 길이를 조정하였다[31].

BERT 모델은 Pre-trained 모델도 지원하며 BERT 모델의 다른 모델인 ALBERT 모델도 BERT 모델과 같은 구조를 가지며 좀 더 모델의 경량화를 통해 성능 개선을 한 후속 모델이다. BERT 모델의 후속인 만큼 마찬가지로 Pre-trained 모델을 지원하며 이러한 사전 학습된 모델은 Transformer 모델의 단점인 오랜 기간의 학습, 대용량의 학습 데이터 등을 사전에 학습함으로써 사용자는 학습된 모델을 통해 저장된 가중치를 불러와서 사용할 수 있다. 특정 분야에 관련된 Task를 진행하기 위해서는 일반적인 범용 도메인만을 사용하면 구축한 모델의 성능이 낮아질 수 있다.

Table 6. 
Preprocess document tokens method
Type Method Input Token
Summary textrank Summarize the content of the document into three sentences
Truncate head-only keep the first 510 tokens
tail-only keep the last 510 tokens
head+tail Empirically select the first 255 and the last 255 tokens


Fig. 1. 
Pre-trained model processing example

일반적인 범용 데이터의 단어와 전문적인 단어가 서로 동일할 경우 다른 의미로 사용될 경우를 비롯하여 특정 분야에 관련된 용어들은 일반적인 범용 데이터의 단어들과 범주가 다르기 때문이다. 모델 또한 특정 분야의 Task를 학습하기 위해서는 일반적인 범용 데이터보다 금융 도메인을 사용한 경우가 더 성능이 뛰어남이 선행 연구에서 증명되었다. 일반적인 범용 데이터와 금융 도메인을 같이 사용한 경우가 최근 연구에서는 가장 성능이 높게 나와 본 연구에서도 범용 데이터와 금융 도메인을 사전 학습한 언어 모델을 사용한다. 사전 학습 모델들은 기본적으로 범용적인 데이터셋을 활용해서 제공하나 이러한 사전 학습 모델은 특정 도메인에서 성능이 낮게 나올 수 있기에 연구 목적에 맞는 도메인 특화한 사전 학습 모델이 필요하다. 특정 도메인인 금융에 맞는 Pre-trained ALBERT 모델을 통해 문서인 공시 내용을 토큰나이저를 통해 768 차원으로 임베딩된 값을 추출할 수 있다.

Pre-trained 모델은 이렇게 쉽게 임베딩된 값을 추출할 수 있지만, BERT의 장점은 이러한 사전 학습된 모델에서 Task에 맞는 레이어(Layer)를 추가함으로써 목적에 맞게 사용할 수 있다는 점이다.

분류 모델을 구축할 때 분류 레이어(Classifier layer)를 추가함으로써 분류할 label의 수에 맞게 output node를 지정한 후, label에 대한 확률값을 Softmax 함수를 통해 추출한 후, 입력한 공시 문서의 label을 예측한다. figure 2는 Pre-trained 모델의 입력과 출력 과정에 대해 간단히 표현했으며, figure 3은 Fine-tuning 모델의 입력과 출력 과정에 대한 그림이다. 2가지 과정에 의해 사전 학습된 모델의 가중치를 불러온 후, 공시 문서로 구성된 학습 데이터를 통해 Fine-tuning 하여 이진 분류로써 학습한다.


Fig. 2. 
Fine-tuning model processing example


Fig. 3. 
Various model training and performance evaluation structures

본 연구에서는 기업의 공시 문서들을 기반으로 figure 2figure 3의 과정을 거쳐 학습한 후 최종적으로 발생한 공시가 주가 급락에 영향을 끼칠 수 있는지 아닌지에 대한 분류 모델을 구축함으로써 주가 급락 예측 연구의 발전에 도움을 되는 것을 목표로 한다.


Ⅳ. 실험 및 결과 분석
4-1 모델 검증 방법

본 연구에서 제안한 모델의 성능 검증을 위해 학습 데이터의 Train 데이터를 사전 학습된 모델을 미세 조정하여 학습한 후 Test 데이터를 통해 모델의 성능을 검증한다. 연구에서 제안된 언어 모델은 금융 도메인을 사전 학습한 ALBERT 모델을 사용한다. 금융 도메인 기반 ALBERT는 KB국민은행 AI 연구원들이 공유하는 KB-ALBERT 모델이다[32]. 모델의 구조는 BERT 구조를 따르는 ALBERT이다. 공시 문서의 텍스트 데이터를 입력으로 단어 임베딩 및 포지션 임베딩으로 변환한 후 Attention 가중치가 조정된다. 출력값으로 Softmax 함수에 의해 각각의 label에 대한 확률값으로 출력된다.

분류 모델은 실험에 사용하기 위해 고안되었고, 미세 조정을 통해 학습하였다. 우리가 제안한 모델은 ALBERT 모델에 분류기 레이어가 추가된 모델이며, Softmax 함수의 출력값에 의해 2개의 레이블로 분류된다. 훈련에 사용된 매개 변수는 문장 길이 512, epoch 5, learning rate는 5e-5였으며 optimizer는 AdamW를 사용하였다.

모델은 2개로 급등, 급락에 대해 영향을 끼치는 공시 문서를 분류할 것이며 각각의 모델명은 "Up model"을 급등 모델로, "Down model"을 급락 모델로 정의하였다. 추출한 학습 데이터를 기반으로 학습하여 모델 구축하며 모델의 성능 검증을 위해 Test 데이터를 입력으로써 사용한다. 모델의 성능을 평가하기 위해서 평가 지표로써 오차 행렬(Confusion Matrix)을 사용한다. 오차 행렬은 모델의 실제, 예측의 값을 다음과 같은 지표에 의해 평가한다. 평가 지표는 table 7와 같다.

Table 7. 
Confusion matrix table
Predicted
Positive Negative
Actual Positive True Positive False Negative
Negative False Positive True Negative

모델 성능은 TP(True Positive), TN(True Negative), FP(False Positive), FN(False Negative)으로 진행하였다. 우리는 이와 같은 4가지 평가 지표인 TP, TN, FP, FN을 학습한 2개의 급등, 급락 모델에서 Test 데이터를 입력으로써 사용한 후 결과를 출력하였다. 데이터 불균형 문제로 인해 나머지 3가지 지표인 Precision, Recall, F1-score를 측정하였다. 4가지 지표는 TP, TN, FP, FN에서의 값을 활용해서 계산한다. Accuracy는 정확도로써 전체 예측한 것 중에 올바른 예측을 얼마나 했는지를 지표로 구하는 것을 의미한다. 그러나 Accuracy는 데이터가 균형하다면 사용할 수 있으나 label 데이터가 불균형하다면 해당 지표로 정확한 측정을 하기가 어렵다. 실제로 긍정적인 것만 예측을 잘하고 부정적인 것은 예측을 잘하지 못할 경우도 발생할 수 있기에 나머지 3가지 지표 또한 확인해야 할 필요가 있다. Precision는 정밀도로써 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율을 의미한다. Recall은 재현율로써 모델이 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율을 의미한다. F1-score는 주로 데이터 불균형 분류 문제에서의 평가척도로 사용된다. 위의 2가지 평가 지표를 활용해 조화 평균을 구한 후 평가척도로써 활용한다. 모델의 평가 기준은 분류 모델의 성능 평가 지수인 TP, TN, FP, FN 4가지 값과 4가지 값을 분류 성능 평가 지표의 계산식을 통해 다음 Acurracy, Precision, Recall, F1-score를 제시한다. 각각에 대한 계산식은 (2) 와 같다.

Accuracy=TP+TNTP+TN+FP+FNPrecision=TPTP+FPRecall=TPTP+FNF1-score=Precision×RecallPrecision+Recall(2) 

제시한 성능 지표를 통해 금융 도메인에 특화된 KB-ALBERT와 모델 간 성능 비교 분석을 위해 기존에 사용된 문서 표현이 가능한 언어 모델 Doc2vec을 사용한다. Doc2vec을 사용한 분류기 경우, 분류 성능이 높은 3가지의 분류 알고리즘인 SVM, RF, LR를 사용한다. 또 다른 한 가지 비교 분석 방안으로, 기존의 BERT 모델 또한 성능 비교 분석을 위해 사용함으로써 금융 도메인을 사용한 경우와 비교하여 결과에 대해 논의한다. 비교할 모델은 기존 BERT 모델의 복잡성의 일부 레이어를 제거함으로써 간소화한 Distributed BERT를 선정하였다[33]. Distributed BERT는 기존 BERT와 마찬가지로 한글도 지원하나, 한글 맞춤형으로 학습한 사전 학습 모델이 아니기에 효율성이 떨어진다. 따라서 국내에서 제공하는 한글 맞춤 데이터 사전 학습 모델인 Distributed KoBERT 모델을 사용한다[34]. Distributed KoBERT는 ALBERT 모델과 같이 기존 BERT 모델의 복잡성을 제거함으로써 비교 대상으로써 더 적합하다고 판단하였고, KB-ALBERT와 동일한 파라미터로 Fine-tuning 해서 사용한다. Doc2vec 모델을 사용한 경우의 파라미터는 KB-ALBERT와 Distributed KoBERT와 동일한 임베딩인 768 벡터 사이즈(Vector Size)를 사용했으며 훈련 횟수(Epoch) 또한 5로 설정하였다. 그런 다음 2개의 Doc2vec 알고리즘 중에서 가장 높은 성능을 보인 DM 알고리즘을 사용하였다. 모델 간 검증에는 주가 급락에만 관련 있는 Down model을 기반으로 진행하였다. 데이터가 불균형한 문제로써 F1-score가 가장 높은 모델을 선정한 후 추가로 선정한 모델을 기반으로 긍정 공시와 중립/부정 공시를 분류한 학습 데이터를 통해 주가 급등과 관련 있는 Up model을 구축한 후, 모델 간 비교 분석을 통해 연구의 방향성인 주가 예측에 급락이 급등보다 예측할 가능성이 있는지에 대해 결과를 논의한다.

4-2 검증 결과

금융 도메인에 특화된 KB-ALBERT와 일반 도메인 데이터를 사용한 Distributed KoBERT, 그리고 Doc2vec기반 3가지 분류 모델을 각각 동일하게 학습한 후 구축한 주가 급락 모델의 결과는 table 8와 같다. 결과적으로 금융 도메인에 특화된 KB-ALBERT와 가장 높은 결과가 나왔으며 큰 차이는 없으나 그다음으로 Distributed KoBERT 모델이 높은 성능을 보였고, 문서 표현 언어 모델 중 하나인 Doc2vec기반 분류 모델들이 비교적 낮은 성능으로 나왔다. 앞서 설명한 것처럼 데이터 불균형으로 인해 F1-score를 기준으로 성능을 측정해야 하여 모델 간 성능 비교 분석을 통해 금융 도메인에 특화된 KB-ALBERT 모델이 주가 영향을 끼치는 급락 공시 분류 모델에 가장 적합한 것을 확인할 수 있었다.

Table 8. 
Performance comparison between models
Model Accuracy Precision Recall F1-score
Doc2vec (SVM) 0.84 0.90 0.59 0.60
Doc2vec (RF) 0.78 0.54 0.51 0.50
Doc2vec (LR) 0.85 0.80 0.66 0.69
Distil-KoBERT 0.93 0.88 0.87 0.87
KB-ALBERT 0.93 0.90 0.87 0.88

다음으로 가장 높게 나온 KB-ALBERT 모델로 주가 영향을 끼치는 급등 공시 분류 모델을 학습한 후 구축함으로써 기존 급락 모델과 서로 간 비교 분석을 하였다. table 9는 주가 급등과 급락 모델 간 분류 성능 지표이다.

Table 9. 
Up and Down model performance evaluation
Precision Recall F1-score
Up model Up 0.68 0.69 0.68
Stay/Down 0.96 0.95 0.95
Down model Down 0.84 0.77 0.80
Stay/Up 0.95 0.97 0.96

2개의 급등, 급락 모델은 각각 0.93, 0.94의 높은 Accuracy가 측정되었으나, 급등, 급락의 모델 성능 평가는 아래와 같으며 결과적으로 급락 모델의 성능이 급등 모델보다 높다는 것을 확인하였다. 분류 지표상 2개의 모델은 정상과 각각의 반대 경우에는 높은 정확도를 보였고, 각각의 예측 대상의 경우 급락 모델이 급등 모델에 비해 높은 정확도를 보였다. 공시 문서의 대부분 경우가 정상에 해당하는 Stay 경우가 많아야 하므로 분류 성능의 결과는 높다고 볼 수 있다. 다음으로는 4가지 값 TP, TN, FP, FN을 통해 실제로는 전체 공시에서 어느 정도가 맞고 틀림을 예측하였는지에 대해 아래 table 10table 11에 급등, 급락 모델의 4가지 값을 제시함으로써 실질적인 분류 정확도를 측정하였다.

Table 10. 
Up model Confusion matrix result
Predicted
Up Stay/Down
Actual Up 341 (69.03%) 153
Stay/Down 164 3297 (95.23%)

Table 11. 
Down model Confusion matrix result
Predicted
Down Stay/Up
Actual Down 572 (76.88%) 172
Stay/Up 109 3081 (96.58%)

주가 급등 모델의 경우 급등을 맞춘 경우는 594개 중 341개를 맞춤으로써 69.03%의 예측률을 보였다. 반대되는 정상/급락의 경우 3,461개 중 3,297개인 95.23%를 맞춤으로써 높은 정확도를 보였다. 주가 급락 모델의 경우 급락을 맞춘 경우는 744개 중 572개를 맞춤으로써 76.88%의 예측률을 보였다. 반대되는 정상/급등의 경우 3,190개 중 3,081개의 96.58%를 맞춤으로써 2가지 모델 모두 정상에 해당하는 Stay에 대해 높은 결과가 나옴으로써 정상적인 결과가 나왔다. 결과적으로 주가 급락 모델의 경우 76.88%를 맞추었고, 본 연구에서 해결하고자 하는 주가 영향을 끼치는 급락 공시를 급등 보다 더 효과적으로 분류함으로써 주가 급락 예측에 관련해서는 공시가 실제 주가 예측 연구에 도움이 될 것을 입증하였다.


Ⅴ. 결 론

본 연구에서는 주가 급락 예측의 어려움을 해결하기 위해서 정성 정보를 활용한 주가 급락 예측 연구를 진행하였다. 주가 급락과 관련된 기업들을 기간별로 선정한 후 정성 데이터인 공시의 10가지 종류의 빈도수에 대해 월별로 측정하였다. 측정한 결과를 바탕으로 2가지 종류의 공시 문서를 수집한 후 주가에 영향을 미치는 공시를 분석하기 위해 긍정, 부정 단어를 추출한 후 이를 급락 예측 모델을 학습하기 위한 데이터로써 활용하였다. 급락만이 아닌 급등 모델 또한 구축하였고, 테스트 데이터를 입력으로써 사용하여 비교 분석을 진행하였다. 결과적으로 공시를 활용한 주가 예측에 있어 주가 급락의 경우가 성능이 더 좋다는 것을 확인하였다. 연구 진행에 있어 국내 선행 연구에서 국내의 공시에 대한 분석 연구와 이에 대한 예측 연구가 적어 국내 연구가 더 많이 필요할 것으로 판단된다. 기반이 되는 선행 연구가 적어 이론, 실증에 있어 다소 어려움이 있었다. 본 연구를 진행하면서 가장 효율적으로 판단되는 방법을 진행함으로써 국내 공시 또한 주가 예측 연구에 있어 잠재적인 가능성이 있음을 입증하였다. 연구에 있어 주가 영향을 미치는 공시를 분류하기 위한 모델은 구축하였으나, 실제 주가의 변동은 실시간으로 변동되기에 예측 방안에 대해 개선점이 필요하다. 예측 방안을 개선하기 위해 기업별로 공시가 발생한 후 며칠 간격으로 주가 급등, 급락에 영향을 주는지에 대한 향후 연구 방향성이 필요하다. 또한 공시가 발생하지 않지만, 주가 급등, 급락한 경우가 존재하다. 이와 같은 문제점을 해결하기 위해 향후 연구에서는 정성 데이터만이 아닌 정량 데이터도 함께 사용함으로써 실시간 변동에 맞추어서 주가 급등락을 예측할 수 있는 연구를 진행할 예정이다.


Acknowledgments

본 연구는 2020년도 중소벤처기업부의 기술개발사업 (2차년도)지원에 의한 연구임 [No.S2874980].


References
1. Lee, Y. S., H. J. Park, and S. C. Lee., “An Empirical Study on the Stock Price Reaction to Unfaithful Disclosure and Unfaithful Disclosure Penalty Scores,” korean management review 43(2), 387-413(27 pages), April 2014.
2. Habib, A., Hasan, M. M., and Jiang, H., "Stock price crash risk: review of the empirical literature," Accounting & Finance, 58, 211–251, October 2018
3. Graham, J. R., Harvey, C. R., and Rajgopal, S., "The economic implications of corporate financial reporting," Journal of accounting and economics, 40(1-3), 3–73, June 2004.
4. Kothari, S. P., Shu, S., and Wysocki, P. D., "Do managers withhold bad news?," Journal of Accounting research, 47(1), 241–276, January 2009
5. Jin, L. and Myers, S. C., "R2 around the world: New theory and new tests," Journal of financial Economics, 79(2), 257–292, February 2006
6. Hutton, A. P., Marcus, A. J., and Tehranian, H., "Opaque financial reports, r2, and crash risk," Journal of financial Economics, 94(1), 67–86, October 2009
7. Kim, J.-B., Li, Y., and Zhang, L., "Corporate tax avoidance and stock price crash risk: Firm-level analysis," Journal of financial Economics, 100(3), 639–662, July 2010
8. Campbell, J. L., Chen, H., Dhaliwal, D. S., Lu, H.-m., and Steele, L. B., "The information content of mandatory risk factor disclosures in corporate filings," Review of Accounting Studies, 19(1), 396–455, September 2010.
9. Mai, F., Tian, S., Lee, C., and Ma, L., "Deep learning models for bankruptcy prediction using textual disclosures," European journal of operational research, 274(2), 743–758, October 2018
10. Lee, H., Surdeanu, M., MacCartney, B., and Jurafsky, D., "On the importance of text analysis for stock price prediction," In LREC, volume 2014, 1170–1175, January 2014.
11. Mikolov, T., Chen, K., Corrado, G., and Dean, J., "Efficient estimation of word representations in vector space," arXiv preprint arXiv:1301.3781, January 2013.
12. Le, Q., Mikolov, T., "Distributed representations of sentences and documents," In International conference on machine learning. PMLR, 1188-1196, May 2014.
13. Bahdanau, D., Cho, K., and Bengio, Y., "Neural machine translation by jointly learning to align and translate," arXiv preprint arXiv:1409.0473, September 2014.
14. Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., and Polosukhin, I., "Attention is all you need," In Advances in neural information processing systems, 5998–6008, June 2017.
15. Devlin, J., Chang, M.-W., Lee, K., and Toutanova, K., "Bert: Pre-training of deep bidirectional transformers for language understanding," arXiv preprint arXiv:1810.04805, October 2018.
16. Radford, A., Narasimhan, K., Salimans, T., and Sutskever, I., "Improving language understanding by generative pre-training," Available: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf, October 2020.
17. Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levy, O., Lewis, M., Zettlemoyer, L., and Stoyanov, V., "Roberta: A robustly optimized bert pretraining approach," arXiv preprint arXiv:1907.11692, July 2019.
18. Lan, Z., Chen, M., Goodman, S., Gimpel, K., Sharma, P., and Soricut, R., "Albert: A lite bert for self-supervised learning of language representations," arXiv preprint arXiv:1909.11942, October 2019.
19. Gururangan, S., Marasovi ́c, A., Swayamdipta, S., Lo, K., Beltagy, I., Downey, D., and Smith, N. A., "Don’t stop pretraining: adapt language models to domains and tasks," arXiv preprint arXiv:2004.10964, January 2020.
20. Chalkidis, I., Fergadiotis, M., Malakasiotis, P., Aletras, N., and Androutsopoulos, I., "Legal-bert: The muppets straight out of law school," arXiv preprint arXiv:2010.02559, October 2020.
21. Araci, D, "Finbert: Financial sentiment analysis with pre-trained language models," arXiv preprint arXiv:1908.10063, August 2019.
22. Liu, Z., Huang, D., Huang, K., Li, Z., and Zhao, J., "Finbert: A pre-trained financial language representation model for financial text mining," In IJCAI, 4513–4519, July 2020.
23. Kim, M., Park, E. L., and Cho, S., "Stock price prediction through sentiment analysis of corporate disclosures using distributed representation," Intelligent Data Analysis, 22(6), 1395–1413, December 2018
24. Wei, F. and Nguyen, U. T., "Stock trend prediction using financial market news and bert," Wall Street Journal, January 2020.
25. Zhao, L., Li, L., Zheng, X., and Zhang, J., "A bert based sentiment analysis and key entity detection approach for online financial texts," In 2021 IEEE 24th International Conference on Computer Supported Cooperative Work in Design (CSCWD), IEEE, 1233–1238, May 2021.
26. Huang, K.-W. and Li, Z., "A multilabel text classification algorithm for labeling risk factors in sec form 10-k," ACM Transactions on Management Information Systems (TMIS), 2(3), 1–19, October 2011
27. Lee, W. and Suh, B., "Modeling stock prices with text contents in 10-q reports," In 2018 19th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), IEEE, 224–229, June 2018.
28. Engelberg, J., "Costly information processing: Evidence from earnings announcements," In AFA 2009 San Francisco meetings paper, January 2008.
29. Zhai, S. S. and Zhang, Z. D., "Forecasting firm material events from 8-k reports," In Proceedings of the Second Workshop on Economics and Natural Language Processing, 22–30, January 2019.
30. Hiew, J. Z. G., Huang, X., Mou, H., Li, D., Wu, Q., and Xu, Y., "Bert-based financial sentiment index and lstm-based stock return predictability," arXiv preprint arXiv:1906.09024, June 2019.
31. Sun, C., Qiu, X., Xu, Y., and Huang, X., "How to fine-tune bert for text classification?," In China national conference on Chinese computational linguistics, Springer, Cham, 194-206, October 2019.
32. KB-ALBERT, Available: https://github.com/KB-AI-Research/KB-ALBERT
33. Sanh, V., Debut, L., Chaumond, J., & Wolf, T., “DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter,” arXiv preprint arXiv:1910.01108, October 2019.
34. Park, Jangwon., DistilKoBERT: Distillation of KoBERT, Available: https://github.com/monologg/DistilKoBERT.

저자소개

정지수(Jisoo Jeong)

2018년 : 숭실대학교 평생교육원 정보보안학과 (컴퓨터공학학사)

2021년 : 세종대학교 대학원 (컴퓨터공학석사)

2018년~2021년: 세종대학교 소프트웨어융합학과 석사 과정

2021년~현 재: 세종대학교 소프트웨어융합학과 석사 졸업

※관심분야 : 텍스트 마이닝, 자연어 처리, 인공지능, 딥러닝 등

김청원(Cheongwon Kim)

1982년 : 한양대학교 공과대학 금속공학 학사

1987년 : 미국 일리노이주 서던일리노이대학교 컴퓨터 과학 학사

1990년 : 미국 일리노이주 서던일리노이대학교 컴퓨터 과학 석사

1994년 : 미국 인디아나주 인디애나 대학교 대학원 컴퓨터 과학 전공

2000년 : 미국 뉴욕주 시러큐스 대학교 대학원 컴퓨터 & 정보과학 공학 박사

2000년~2001년: 미국 펜실바니아주 외인시 소재 Bhasha, INC Technical Staff (연구원)

2002년~2003년: 아주대학교 정보통신전문대학원 BK 교수

2003년~2017년: 세종대학교 전자정보공학대학 교수

2017년~현 재: 세종대학교 소프트웨어융합대학 교수

※관심분야 : 인공지능, 지능형 시스템, 딥러닝