DOI QR코드

DOI QR Code

Machine Learning Based Stock Price Fluctuation Prediction Models of KOSDAQ-listed Companies Using Online News, Macroeconomic Indicators, Financial Market Indicators, Technical Indicators, and Social Interest Indicators

온라인 뉴스와 거시경제 지표, 금융 지표, 기술적 지표, 관심도 지표를 이용한 코스닥 상장 기업의 기계학습 기반 주가 변동 예측

  • Received : 2020.12.09
  • Accepted : 2021.03.09
  • Published : 2021.03.31

Abstract

In this paper, we propose a method of predicting the next-day stock price fluctuations of 10 KOSDAQ-listed companies in 5G, autonomous driving, and electricity sectors by training SVM, XGBoost, and LightGBM models from macroeconomic·financial market indicators, technical indicators, social interest indicators, and daily positive indices extracted from online news. In the three experiments to find out the usefulness of social interest indicators and daily positive indices, the average accuracy improved when each indicator and index was added to the models. In addition, when feature selection was performed to analyze the superiority of the extracted features, the average importance ranking of the social interest indicator and daily positive index was 5.45 and 1.08, respectively, it showed higher importance than the macroeconomic financial market indicators and technical indicators. With the results of these experiments, we confirmed the effectiveness of the social interest indicators as alternative data and the daily positive index for predicting stock price fluctuation.

Keywords

1. 서론

2016년 세계 경제 포럼에서 4차 산업 혁명[1]이라는 용어가 주창된 이후 빅데이터 분석, 인공지능, 로봇공학, 사물인터넷, 무인 운송 수단, 3D프린팅, 나노 기술 등 다양한 분야에서 기술 혁신이 진행 중이다. 또한 2017년 1월부터 4차 산업 관련 벤처 기업에 대한 코스닥(KOSDAQ) 상장 조건이 ‘테슬라 요건’[2]을 통해 간소화되었고, 이를 통해 중소·벤처 기업들의 코스닥 상장과 투자가 더욱 주목을 받을 것으로 전망된다. 따라서, 4차 산업을 영위하는 중소 기업의 주가 예측 관련 연구 필요성이 높아졌다.

주가 변동 예측 관련 연구는 정형 데이터를 사용한 연구와 비정형 데이터를 사용한 연구, 정형과 비정형 데이터를 함께 사용한 연구로 나눌 수 있다. 정형 데이터(structured data)는 미리 정해놓은 형식과 구조에 따라 저장되도록 구성된 데이터이며, 정해진 형식과 저장 구조를 바탕으로 손쉽게 데이터에 대한 부분 검색 및 선택, 갱신, 삭제 등의 연산을 수행할 수 있다[3]. 비정형 데이터(unstructured data)는 정의된 구조 없이 정형화되지 않은 데이터이며 데이터 구조가 없어 비정형 데이터 자체만으로는 내용에 대한 질의 처리(query processing)를 할 수 없으므로 데이터 특징을 추출하여 반정형 데이터(semi-struc- tured data)또는 정형 데이터로 변환하는 전처리가 필요하다[3].

정형 데이터를 사용한 연구 중[4]는 주식 가격 데이터 중 1분당 체결가를 이용하여 KOSPI 상장사 12개 기업의 주식 가격 동향을 HTM모델을 통해 설정된 구간 간격에 따라 연속적으로 예측하였다. [5]는 주가 기본 데이터인 시가, 저가, 종가, 고가, 거래량을 이용하여 Google의 주가를 양방향 LSTM(Long Short-Term Memory) 모델을 사용하여 예측하였다. [6]은 기술적 지표 13가지(RSI, CCI, EMA, OBV, MACD, MINUS_DM, PLUS_DI, MINUS_DI, Wcl_ p, Momentum, CMO, WILL_R, SSE)를 이용하여 KOSPI 지수의 등락을 인공 신경망을 통해 예측하였다. [7]은 기술적 지표 7가지(SMA, EMA, Stochastic K%, StochasticD%, RSI, MACD, Disparity)를 이용하여 KOSPI200 주가지수 등락을 XGBoost모델 을 활용하여 예측하였다.

비정형 데이터를 이용한 연구 중[8]은 온라인 뉴스와 소셜 네트워크 데이터로부터 기업별 감성 사전을 구축한 후 이를 바탕으로 감성 지표를 추출하여 KOSPI 상장 7개사의 주가 변동을 SVM(Support Vector Machine), 로지스틱 회귀분석(logistic re-gression), 베이지안 네트워크(bayesian network), 인공신경망(ANN, artificial neural network) 총 4가지 방법을 이용하여 예측하였다. [9]는 산업의 대표적 성격을 가지고 외부 요인에 의한 산업 주가 변화 특징을 대변하는 산업 대표 기업을 KOSPI구성 종목 중 시가총액 기준 상위 10%를 기준으로 선정하고 이러한 기업과 예측하고자 하는 개별 기업의 온라인 뉴스를 이용하여 산업 대표 기업 및 개별기업 감성 사전을 텍스트 마이닝을 통해 구축하였다. 이를 이용하여 제약, 소재, 자본재, 자동차, 내구소비재, 음식료, 하드웨어 업종 중 중소형 기업의 주가 변동을 SVM, MKL(Math Kernal Library)모델을 이용하여 예측하였다. [10]은 증시 뉴스 데이터를 수집한 후 Word2 Vec을 활용하여 감성 사전을 구축하고, 이를 바탕으로 뉴스에 감성 분석을 실시하여 KOSPI 종가 지수를 예측하였다. [11]은 무작위 행렬 이론으로 예측 대상인 기업과 관련된 온라인 뉴스를 사용하여 코스피 기업 중 소재 섹터에 해당하는 기업의 주가등락을 MKL 모델을 통해 예측하였다.

정형 데이터와 비정형 데이터를 통합하여 사용한 연구 중[12]는 트위터와 온라인 뉴스에 자연어 처리 기술 중 스팸 필터링 기술과 텍스트 마이닝 기술, 그리고 감성분석 기술 등을 이용하여 소셜 감성 데이터를 추출한 후 이를 각 기업의 재무비율(fundamental ratio)과 기술적 지표를 함께 SVM의 입력 변수로 하여 KOSPI200 주가지수 등락을 예측하였다. [13]은 GRU를 통해 계산된 온라인 뉴스의 감성 지표와 9개 기술적 지표(전일 종가 대비 당일 시가 변화율, DMI, Williams %R, RSI, Momentum, CCI, Bollenger Bands, MACD, StochasticSlowK%)를 XGBoost 모델에 학습시켜 북한 테마에 속하는 KOSDAQ, KOSPI 상장 10개 기업의 익일 주가 등락을 예측하였다. [14]는 예측 대상 기업의 5개 기술적 지표(EMA, MACD, signal, Bollenger Bands, RSI), 업종 더미변수, 소셜 데이터에서 추출된 소셜 네트워크 지표를 이용하여 기업의 일주일간 10% 이상 급등 여부를 랜덤포레스트(random forest), XGBoost, 그래디언트 부스팅(gradient boosting)모델을 이용하여 예측 하였다.

기존의 주가 또는 주가지수 예측 관련 연구는 주로 KOSPI200 주가지수 혹은 KOSPI에 상장된 기업 을 연구 대상으로 함으로써 KOSDAQ에 상장된 중소형 기업의 주가 예측 관련 연구는 상대적으로 부족한 편이다. 또한, 온라인 뉴스를 이용하여 주가 예측 연구를 진행한 경우 기업의 주가가 기업 내외부 뉴스에 영향을 받음에도 불구하고 한 가지 종류의 뉴스를 고려한 연구가 대부분이다. 그리고 정형 데이터 중 주로 전통적인 주가 데이터, 기술적 지표를 이용한 연구를 진행하여 최근 증권, 자산 운용계에서 관심을 가지는 가격, 재무 데이터 및 경제지표 등의 전통적 데이터 범주에 속하지 않는 대체 데이터를 이용한 연구는 부족하다. 따라서, 본 연구에서는 KOSDAQ에 상장된 4차 산업 기업들 중 5G, 자율주행, 전기차 섹터에 해당하는 10개사의 익일 주가의 방향을 기술적 지표, 거시경제 지표, 개별 기업 뉴스에서 계산된 긍정 지수에 더해 관심도 지표로서 주식 커뮤니티 조회수와 검색지수, 섹터 뉴스에서 계산된 긍정 지수를 신규 고려하고 SVM, XGBoost, LightGBM 모델의 입력 변수로 하여 예측하고 투입 특징별 성능을 비교한다. 또한 특징 선별(feature selection) 기법 중 RFE(Recursive Feature Eliminatio)기법을 XGBoost, LGBM모델에 적용하여 정형 데이터와 비정형 데이터가 통합된 데이터 세트에서 주가 예측 수행에 도움이 되는 특징을 선별한다. 마지막으로, 특징 선별 유무에 따른 모델의 성능 개선을 제시한다.

2. 제안 방법

본 논문에서는 2018년 1월 2일부터 2019년 12월 27일까지 약 490거래일간 KOSDAQ150상장 기업 중 4차 산업 관련 5G, 자율주행, 전기차 섹터에 해당하는 10개 기업을 대상으로 당일 종가대비 익일 종가의 등락을 정형 및 비정형 데이터를 이용하여 예측한다. Fig. 1은 제안 모델의 개요도로 정형 데이터에서 추출한 기술적 지표, 거시경제 지표, 금융 지표와 비정형 데이터에서 추출한 개별 기업 긍정 지수 및 본 연구에서 신규 투입하는 주식 커뮤니티 게시물 조회수, 검색지수, 섹터 긍정 지수를 가공하여 특징 추출 및 선별, 모델 훈련하는 과정을 나타낸다. 각 데이터는 데이터 수집 및 전처리, 특징 추출, 모델 훈련 과정을 거치며, 일부 실험에서는 특징 선별 과정 후 머신 러닝 모델에 투입된다.

MTMDCW_2021_v24n3_448_f0001.png 이미지

Fig. 1. Overview of Stock Price Fluctuation Prediction.

2.1 정형 데이터 획득 및 특징 추출

본 절에서는 주가 예측 및 투자 결정에 활용되어 온 기술적 지표에 더해 거시경제지표, 금융시장 지표를 개별 기업 및 산업의 경제활동에 영향을 미칠 수 있는 실물경제와 금융시장의 흐름을 반영하는 전통적 정형 데이터로 사용한다. 또한, 개별 종목에 대한 투자자의 관심도를 확인하기 위한 대체 데이터로 검색지수와 커뮤니티 조회수를 활용하며, 해당 대체 데이터 기반 지표를 관심도 지표라고 정의하여 사용한다.

기술적 지표는 Table 1과 같이 미래에셋대우 HTS 카이로스에서 제공하는 지표 중 추세, 모멘텀, 거래량, 변동성을 확인할 수 있는 25개 지표를 선정하였으며, 이를 통해 종목별 주가의 다양한 움직임을 파악한다. 이 때, 기술적 분석 기반의 투자에 활용되는 Signal지표는 기술적 지표의 파생지표라는 점을 고려하여 입력 변수에서 제외한다.

Table 1. Stock Price and Technical Indicators.

거시경제지표, 금융지표의 경우 한국은행 경제통계시스템(ECOS)한눈에 보는 우리나라 100대 통계지표 중 분기, 연간 데이터를 제외한 일간, 월간 데이터 중 국민소득, 투자, 고용, 물가지수, 환율 등 실물경제와 통화량, 금리 등 금융시장 현황을 대표할 수 있는 지표를 선정하고, ECOSOpenAPI를 통해 수집한다. 이를 통해 선정된 18개의 거시경제지표와 11개의 금융지표의 목록은 Table 2와 같다.

Table 2. Macroeconomic and Financial Market Indicators.

Table 3의 관심도 지표 중 검색량 지표는 대상에 대한 크고 작은 관심을 포괄하는 지표로 개별 기업의 일반적 관심도 및 이슈성과 종목에 대한 관심도를 반영하며 GoogleTrend에서 제공하는 기업명 검색 지수 106주분과 NaverDataLab에서 제공하는 기업명 검색지수 731일분을 수집하고, 웹 크롤링을 통해 Naver증권 해당 기업 종목 토론방에 해당 기간 업로드 된 84049개 게시물의 조회수 데이터를 수집한다. 커뮤니티 조회수 기반 관심도 지표는 개별 종목의 투자 관심도가 높은 적극적 시장 참여자의 관심도뿐 아니라 추세의 지속 가능성을 반영하는 지표로 주식 커뮤니티를 대상으로 한다. 주식 커뮤니티는 개인 투자자의 향후 주가에 대한 예측과 관심을 직접적으로 표출할 수 있는 온라인 공간으로 게시물 수, 댓글 수, 조회수 등의 데이터를 확인할 수 있으며, 이를 바탕으로 개인투자자의 관심도를 반영한 주가등락 및 추세 예측이 가능하다.

Table 3. Social Interest Indicators.

검색량 지표의 전처리 과정은 수집한 검색지수 데이터로부터 전일 대비 검색지수 변화량(수식 1)과 전 일 대비 검색지수 변화율(수식 2)를 산출한다. 또한 커뮤니티 조회수 기반 관심도 지표의 전처리 과정은 커뮤니티 조회수 데이터를 바탕으로 일별 업로드된 게시물의 평균 조회수를 산출하고(수식 3), 평균 조회수의 전일 대비 변화율(수식 2)과 [15]의 방식을 활용한 1개월 평균 조회수 대비상대 조회수(수식 4)를 산출한다. 수식 2의 변화율 산출 과정에서 전일 데이터가 0일 경우 1로 대체하여 계산한다. 주별, 월별 정형 데이터를 범위에 해당하는 일별 데이터에 병합한 후 결측치를 제거하고, 최종적으로 모든 데이터를 0에서 1사이의 값으로 정규화한다.

\(\text { Dataofthe Date }-\text { Dataof Previous Date }\)       (1)

\(\frac{\text { Dataofthe Date }-\text { Dataof Previos Date }}{\text { Dataof Previos Date }}\)       (2)

\(\frac{\sum \text { Hits ofthe Post }}{\text { Uploaded Postsofthe Date }} \)       (3)

\(\frac{\text { Dataofthe Date }}{\frac{\sum_{i=1}^{30} \text { Dataof }(\text { Date }-i)}{n=30}} \times 100\)       (4)

2.2 비정형 데이터 획득 및 특징 추출

본 절에서는 비정형 데이터에 해당하는 온라인 뉴스에서 감성 분석을 통해 특징을 추출한다. 감성 분석은 자연어 처리와 텍스트 분석, 전산언어학 등을 이용해 텍스트 내에서 주관적인 정보를 확인하고 추출하는 기법으로 텍스트의 극성을 긍정, 부정, 중립 등으로 분류하고, 긍정과 부정의 대상이 되는 단어 혹은 개체를 추출하는 작업이 포함된다. 본 논문에서는 사전 기반 감성 분석을 사용하고, 증권시장 도메인 특화 감성 사전을 구축하기 위해 [8]의 방식을 이용하며, 개별 기업 감성 사전 뿐 아니라 개별 기업이 속한 섹터의 감성 사전도 섹터 뉴스를 통해 구축하여 개별 기업 및 섹터 소식에 영향을 받는 기업의 주가 예측 정확도를 개선하고자 한다.

데이터 수집 과정은 개별 기업 및 섹터별 감성 사전 구축을 위해 네이버 뉴스에서 웹 크롤링을 통해 온라인 뉴스를 수집하고, 선정한 키워드가 뉴스 제목에 포함된 경우 자동으로 해당 뉴스의 제목, 발행 일자, 요약본, 언론사를 수집한다. 개별 기업의 뉴스는 수집 대상 기업명이 뉴스 제목에 포함된 경우 수집하고, 섹터 뉴스는 수집 대상 섹터명이 뉴스 제목에 포함된 경우 수집한다.

데이터 전처리 과정은 섹터 뉴스는 섹터 고유의 뉴스 이외에 예측 대상이 아닌 기업의 뉴스가 추가적으로 수집된다. 이 때, KOSDAQ150상장 기업 중 동일섹터에 속하는 기업의 전반적인 주가 흐름과 반대되는 흐름을 보이는 기업의 뉴스는 감성 사전 구축에 사용되면 예측 정확도를 낮출 수 있으므로 뉴스 필터링을 위해 수식 5를 통해 KOSDAQ150에 상장된 기업 중 동일섹터에 속하는 기업의 시가총액을 기업별로 구한 후 수식 6에서 지수 구성종목의 시가총액을 비교일자와 기준일자 기준으로 각각 더 하고 이를 나누어 섹터별 주가지수 SSI(SectorStock Index)를 도출한다. Table4는 실제 각 섹터 지수에 포함된 기업을 나타낸다. 이후 동일섹터에 속하는 KOSPI, KOSDAQ상장 기업 중 특정 기업의 뉴스가 수집된 동일 섹터 뉴스 건수의 0.05% 이상 포함되면 해당 기업 주가와 섹터 지수의 상관관계를 분석하고 음의 상관관계가 나오면 해당 기업명이 제목에 포함된 뉴스는 삭제하여 섹터 뉴스 필터링을 수행하고, 기업별 뉴스와 필터링 이후의 섹터별 뉴스는 정규 표현식을 이용하여 기자명, 회사명, 특수문자, 숫자 등 주가 예측에 불필요한 정보를 제거하는 전처리 과정을 거친다.

Table 4. Firms included in each sector index.

\(\text { Market Capitalization }=\text { Stock Price } \times \text { Shares Outstanding }\)       (5)

\(\text { Sector Stock Index }=\frac{\text { Market Capitalization at the time of comparison }}{\text { Market Capitalizationatthe base point }} \times 100\)       (6)

형태소 분석 과정은 특정 단어의 긍정, 부정을 판단하기 위한 사전 과정으로 Mecab[16]형태소 분석기를 사용하여 여러 체언 중 실질적 의미를 가지는 명사를 추출한다. 추출된 명사는 감성 사전 후보 리스트에 포함된다. Mecab 형태소 분석기는 형태소 분석기인 OKT, Komoran, Khaii보다 품사 태깅 시간이 빠르고, 데이터 증가 시에도 처리 시간이 크게 늘지 않는 장점[17]이 있으나 Mecab의 형태소 단어 사전에 유가증권시장 전문 단어는 많이 수록되어 있지 않아 사용자 단어 사전에 미래에셋대우에서 제공하는 증권용어사전[18] 중 한국어 명사 약 800여개를 추가하여 형태소 분석의 정확도를 개선한다.

감성사전 구축 과정은 기존[8]과 [19]의 감성사전 구축 방식을 기반으로 기업의 주가가 기업 고유의 뉴스와 해당 기업이 속한 섹터의 뉴스에 모두 영향을 받는다는 가정에 따라 개별 기업 뉴스와 섹터별 뉴스를 이용하여 개별 기업 및 섹터별 감성사전을 구축한다. 감성사전에 수록되는 것은 형태소 분석 과정에서 추출된 명사 중 낮은 빈도수를 제외한 명사와 해당 명사가 익일 주가 등락에 미친 영향을 나타내는 단어 긍정 점수이다. 이 때, 전체 뉴스 데이터에서 출현한 빈도가 낮은 명사는 주가 상승 혹은 하락에 얼마나 영향을 미쳤는지 일반화하기 어려우므로 추출된 명사 리스트의 총 출현 빈도수를 평균한 후 해당 평균보다 낮은 빈도로 등장한 명사는 감성 사전 후보 명사 리스트에서 삭제한다.

단어 긍정 점수 계산 과정은 수식 7과 같이 개별 기업 감성사전 구축 시에는 개별 단어가 발생한 날 익일에 주가가 상승한 경우 해당 뉴스 데이터에 1, 그 외의 경우 0의 값을 부여하고, 섹터별 감성 사전 구축 시에는 개별 단어가 발생한 날 익일에 섹터 주 가지수가 상승한 경우 1, 그 외의 경우 0의 값을 부여한다. 수식 8의 단어 긍정값(wordpositivevalue)은 감성사전 수록 단어 리스트에서 개별 단어별로 해당 단어가 포함된 뉴스 데이터의 NSP값을 모두 더해 개별 단어들의 단어 긍정값을 계산하고, 수식 9는 개별 단어의 총 출현 빈도수를 나눠 해당 단어의 긍정 점수를 계산한다. 출현 빈도 수계산 시에는 특정 명사가 한 뉴스 데이터에 여러 번 등장해도 해당 뉴스에서의 등장 횟수를 1로 하고, 해당 명사가 출현한 모든 뉴스 데이터의 수를 합산한다. 이를 감성 사전 명사 리스트에 저장된 모든 단어를 대상으로 진행한 후 개별 기업 감성 사전과 섹터별 감성 사전을 구축 한다.

\(N S P(j)=\left\{\begin{array}{l} 1 \text { (ifnews joccured and next stockprice increased) } \\ 0(\text { else }) \end{array}\right.\)       (7)

\(\text { word.positive }(i)=\sum N S P(\text { if wordiisinnews } j)\)       (8)

\(\text { word.score }(i)=\frac{\text { word.positive }(i)}{\text { frequency }(i)}\)       (9)

감성 분석을 위해 구축된 개별기업 감성 사전, 섹터별 감성 사전을 바탕으로 수식 10, 11을 통해 사전에 수록된 단어가 개별 뉴스 데이터에 포함된 경우 해당 단어의 긍정 점수를 match.positive에 모두 더하고, 해당 단어가 특정 뉴스 데이터에 포함되었는지 여부를 의미하는 match를 1로 변경한다. 그리고 수식 12에서 match.positive를 해당 뉴스에 등장한 사전 수록 단어의 개수로 나누어 개별 뉴스 데이터의 긍정 점수를 의미하는 news.positive를 도출한다. 수식 13에서 같은 날에 발행된 뉴스 데이터의 긍정 점수를 평균하여 일별 긍정 지수를 도출하는 방식으로 감성 분석을 수행한다.

\(\text { match.positive }(j)=\sum \text { word.positive }(i)\)        (10)

\(\operatorname{match}(i, j)=\left\{\begin{array}{l} 1 \text { (if wordiis in news } j) \\ 0(\text { else }) \end{array}\right.\)       (11)

\(\text { news.positive }(j)=\frac{\text { match.positive }(j)}{\sum \text { match }}\)       (12)

\(\text { Daily Positive Index }(k)=\frac{\text { news.positive }(k ; j)}{n}\)       (13)

이 때, 수식 13에서 k는 특정일을 의미하고, n은 특정일에 발행된 뉴스의 개수이다.

2.3 특징 선별 및 분류

본 절에서는 Table 1, 2, 3에서 언급한 바와 같이 주가 데이터 및 기술적 지표 30개, 거시경제 및 금융 지표 29개, 관심도 지표 9개, 비정형 데이터 기반 긍정 지수 2개, 총 70개의 특징을 대상으로 특징 선별 방법인 RFE를 적용하여 중복 특징 및 중요도가 낮은 특징을 제외하여 분류 성능을 개선하며, 분류 과정에서 SVM, XGBoost, LightGBM의 세 가지 머신러닝 모델에 거시경제 지표, 기술적 지표, 관심도 지표, 긍정 지수를 입력하여 익일 주가 등락을 예측한다. 출력 값은 익일 주가가 상승하는 경우 1, 주가 유지 또는 하락일 때 -1로 설정한다.

SVM은 선형 분류를 수행하는 것 외에도 커널 트릭을 사용하여 비선형 분류를 효율적으로 수행하여 입력 데이터를 고차원 특정 공간에 매핑할 수 있는 분류 모델이며 XGBoost는 분산 경사 부스팅(dis-tributed gradient boosting)알고리즘으로 많은 문제를 빠르고 정확하게 해결하는 병렬 트리 부스팅 (parallel tree boosting)을 제공한다. LightGBM은 XGBoost와 마찬가지로 분산 경사 부스팅 알고리즘이며 의사결정 트리 알고리즘 기반이지만 XGBoost 보다 학습에 걸리는 시간이 적으며 메모리 사용량도 XGBoost에 비해 상대적으로 적은 것이 장점이다[20]. 본 논문에서 사용한 모델별 하이퍼파라미터 셋팅 범위는 Table 5와 같고, 지정된 셋팅 범위에서 Scikit-Learn에서 제공하는 GridSearchCV을 통해 최적의 하이퍼파라미터를 기업별로 지정하였다.

Table 5. Hyper Parameter Setting Range.

3. 실험 및 결과 분석

실험을 위해 프로그램 언어는 Python3를 사용하였으며, 전처리와 모델 학습을 위해 라이브러리 TA-Lib, Scikit-Learn, XGBoost, LightGBM을 사용하였다. 검증을 위해 각 종목에 Stratified5-겹 교차 검증을 적용하였으며, 한 겹(fold)은 약 98일로 구성되었다. 성능 평가 지표로는 각 겹의 등락 예측 평균 정확도를 사용하였다. 대체 데이터인 관심도 지표와 섹터 긍정 지수의 성능 검증을 위해 네 가지 비교 실험을 수행한다. 관심도 지표의 유용성을 알아보기 위해 정형 데이터에서 관심도 지표 사용 여부에 따른 결과를 비교하고, 섹터 긍정 지수를 평가하기 위해 비정형 데이터에서 섹터 긍정 지수 사용 여부에 따른 결과를 비교한다. 비정형 데이터의 유용성을 평가하기 위해 정형 데이터에 비정형 데이터 통합 여부에 따른 결과를 확인하고, 지표별 성능을 알아보기 위해 RFE 특징 선별 기법을 사용하여 성능 평가를 진행한다.

Table 6은 정형 데이터를 사용한 주가 변동 예측에서 관심도 지표의 효과를 확인하기 위해 관심도 지표를 제외한 기술적 지표, 거시경제·금융지표를 우선적으로 투입하고 이후 관심도 지표와 통합하여 실험 후 비교한 결과이다. 실험 결과 XGBoost, LGBM 모델에서 관심도 지표를 투입하였을 때 평균 2.14 %p, 2.73%p 향상되는 결과를 보였으며, SVM을 통한 실험에서는 평균 0.83%p 하락하였으나 3개 기업에서 평균 정확도가 향상되는 결과를 보였다. 특히 XGBoost, LGBM 실험 결과 평균 정확도가 상승한 9개 기업 중 3개 기업에서 평균 정확도가 4%p 이상, 최대 7%p 상승하였으며 하락한 1개 기업 역시 0.60%p,1.07%p로 낮은 하락폭을 보였다.

Table 6. Accuracy of Structured Data Based Stock Price Fluctuation.

Table 7은 비정형 데이터를 사용한 주가 변동 예측에서 섹터 긍정 지수의 유용성을 확인하기 위해 섹터 긍정 지수를 제외한 개별 기업 긍정 지수를 우선적으로 각 모델에 투입하고 이후 섹터 긍정 지수와 통합하여 실험 후 비교한 결과이다. 실험 결과 SVM, XGBoost, LGBM 3개의 모델에서 섹터 긍정 지수를 투입하였을 때 평균 정확도가 4.90%p, 4.89%p, 5.62%p 향상되는 결과를 보였다. 또한 실험 대상인 10개 기업의 정확도가 모든 모델에서 상승하고 SVM에서 최대 8.41%p, XGBoost에서 최대 10.62%p, LGBM에서 최대 10.81%p 상승하여 섹터 긍정 지수의 유용성을 입증하였다.

Table 7. Accuracy of Unstructured Data Based Stock Price Fluctuation.

Table 8은 비정형 데이터의 효과를 측정하기 위해 정형 데이터를 이용하여 실험을 우선적으로 실험을 진행한 후 비정형 데이터에서 추출한 개별 기업 긍정 지수, 섹터 긍정 지수를 정형 지표에 통합하여 실험한 결과이다. 실험 결과 SVM, XGBoost, LGBM 3개의 모델에서 비정형 지표를 투입하였을 때 평균 정확도가 0.29%p, 0.03%p, 0.49%p 향상되는 결과를 보였다. 또한 SVM, XGBoost모델에서 실험 대상 10개 기업 중 6개 기업의 평균 정확도가 상승하고 LGBM 모델에서는 7개 기업의 평균 정확도가 상승하여 과반 이상의 기업에서 비정형 데이터 투입 후 모델 성능이 향상되는 결과를 확인할 수 있었다.SVM, LGBM 모델에서 비정형 데이터 투입 시 최대 1.80%p의 상승률, XGBoost에서는 1.02%p의 상승률을 보였다. 각 모델에서 성능 지표가 하락한 기업의 하락률을 평균한 결과 SVM, XGBoost, LGBM에서 0.58%p, 0.92%p, 0.57%p로 낮은 하락률을 보였다.

Table 8. Accuracy of Structured and Unstructured Data Based Stock Price Fluctuation.

Table 9는 RFE를 적용한 특징 선별 전후 모델, 기업별 평균 정확도 및 RFE 적용 결과 선택된 특징 의 개수이다. RFE 적용 후 XGBoost 실험 결과 평균 정확도는 최소 0.00%p, 최대 1.08%p로 평균 0.28%p 상승하였으며, LGBM 실험 결과 평균 정확도는 최소 0.25%p, 최대 3.78%p로 평균 1.16%p 상승하였다. 또한 선택된 특징의 개수는 평균 41.6개, 25.4개로 전체 특징의 59.43%, 36.29%에 해당하였다.

Table 9. Accuracy of Selected Feature Based Stock Price Fluctuation and Number of Features.

Table 10은 RFE를 사용하여 측정한 특징 중요도 순위의 분류별 평균 및 특징 선별율이다. 특징 중요도 순위는 RFE적용 이후 선별되는 특징의 순위를 1, 차순위로 판정된 특징의 순위를 2 이상의 자연수로 산정하였다. 중요도 순위 책정 결과 XGBoost모 델에서 기존 정형 데이터인 주가, 기술적 지표는 평균 15.67위, 거시경제·금융지표는 평균 24.72위를 기록하며 각각 38.39%, 20.69%의 선별율을 보였으나 신규 정형 데이터인 관심도 지표는 평균 6.70위, 비정형 데이터 기반 지표인 긍정지수는 평균 1.15위의 높은 중요성을 보이며 평균 63.33%, 90.00%의 선별율을 보였다. 또한 LGBM모델에서도 주가, 기술적 지표는 평균 6.98위, 거시경제·금융지표는 평균 10.83위로 각각 63.67%, 45.86%의 선별율을 보였으나 관심도 지표는 평균 4.20위, 80.00%, 긍정지수는 평균 1.00위로 100% 선별되며 매우 높은 중요도를 보였다.

Table 10. Average Feature Importance Ranking and Selected Ratio by Categories.

4. 결론

본 논문에서는 주가 데이터, 기술적 지표, 거시경제 지표, 금융 지표, 관심도 지표와 온라인 뉴스에서의 개별 기업 일별 긍정 지수, 섹터 일별 긍정 지수를 활용하여 주가 등락을 예측하는 모델을 제시하였다. 또한 XGBoost, SVM, LGBM모델을 활용하여 실험을 진행하였으며, 특징간 비교를 위해 RFE기반의 특징 선별을 실시하였다. 정형 데이터 실험의 관심도 지표 통합 실험 이후, SVM 모델을 제외하고 XG Boost모델에서 10개사의 정확도가 상승하며 평균 정확도가 2.14%p 상승하였고 LGBM모델에서 9개 사의 정확도가 상승하며 평균 정확도가 2.72%p 상승 하였다. 이 실험을 통해 Boosting모델에서 검색지수와 커뮤니티 조회수와 같은 관심도 지표가 주가의 등락 강화[15]뿐만 아니라 실제 주가의 방향성 예측에도 유의미한 영향력을 가지는 것을 확인하였다. 비정형 데이터 실험 과정에서는 섹터 긍정 지수 투입 이후 투입 이전에 비해 모든 모델에서 실험 대상 10개사의 정확도가 상승하고 3개 모델 평균 정확도가 5.13% 상승하였다. 이 실험은 기업 특화 사전에 산업 우량기업 사전을 추가로 사용해 기업 특화 사전을 단독으로 사용한 것에 비해 정확도를 최대 1.4%p 상승시킨 기존 유사 연구[9]보다 모델의 성능이 큰 폭으로 향상되는 결과를 보였다. 특징 간 비교 실험 결 과로는 관심도 지표와 비정형 지표의 평균 중요도 순위는 5.45위, 1.08위로 주가 데이터 및 기술적 지표, 거시경제 및 금융 지표의 11.33위, 17.78위 대비 높은 중요도를 보였다. 특히 비정형 데이터 기반 긍정 지수는 전체 실험 중 95%의 특징 선별율을 보였으며, 관심도 지표 역시 71.84%의 특징 선별율을 보이며 해당 지표의 유용성을 입증하였다. 따라서 관심도 지표와 섹터 긍정 지수를 추가로 활용하여 KOSPI상 장기업에 비해 뉴스 데이터가 부족해 연구하기 어려웠던 KOSDAQ중소형 기업의 주가예측을 시도한 해당 실험을 통해 투자 업계에 기여하고자 한다. 다만 4차 산업혁명 관련 전 산업이 아닌 특정 산업군에 대한 예측을 진행한 것과 비정형 데이터로 온라인 뉴스만을 이용한 점은 본 연구의 한계로 남는다.

References

  1. The Fourth Industrial Revolution: What It Means, How to Respond. https://www.weforum.org/agenda/2016/01/the-fourth-industrialrevolution-what-it-means-and-how-to-respond (accessed November 16, 2020).
  2. Financial Service Commission, Reorganization of Listing and Public Offering System to Build a Dynamic Capital Market, October 5, 2016.
  3. ISO/IEC 20546:2019(en) Information technology-Big data-Overview and Vocabulary. https://www.iso.org/obp/ui/#iso:std:iso-iec: 20546:ed1:v1:en (accessed November 24, 2020).
  4. D.H. Seo, S.G. Bae, S.J. Kim, H.S. Kang, and J.M. Bae, "Development of a Continuous Prediction System of Stock Price Based on HTM Network," Journal of Korea Multimedia Society, Vol. 14, No. 9, pp. 1152-1164, 2011. https://doi.org/10.9717/kmms.2011.14.9.1152
  5. I.T. Joo and S.H. Choi, "Stock Prediction Model based on Bidirectional LSTM Recurrent Neural Network," Journal of Korea Institute of Information, Electronics, and Communication Technology, Vol. 11, No. 2, pp. 204-208, 2018. https://doi.org/10.17661/JKIIECT.2018.11.2.204
  6. H.H. Ha and K.M. Ha, "Forecast of the Stock Market Price Using Artificial Neural Network and Wavelet Transform," Journal of KIISE, Vol. 46, No. 12, pp. 1249-1261, 2019. https://doi.org/10.5626/jok.2019.46.12.1249
  7. D.W. Hah, Y.M. Kim, and J.J. Ahn, "A Study on KOSPI 200 Direction Forecasting Using XGBoost Model," Journal of the Korean Data & Information Science Society, Vol. 30, No. 3, pp. 655-669, 2019. https://doi.org/10.7465/jkdi.2019.30.3.655
  8. D.Y. Kim, J.W. Park, and J.H. Choi, "A Comparative Study Between Stock Price Prediction Models Using Sentiment Analysis and Machine Learning Based on SNS and News Articles," Journal of Information Technology Services, Vol. 13, No. 3, pp. 221-233, 2014. https://doi.org/10.9716/KITS.2014.13.3.221
  9. N.K. Lee, Forecasting of Stock Prices Based on Blue-Chip Keyword Dictionary of News Articies, Master's Thesis of Korea Advanced Institute of Science and Technology, 2017.
  10. D.Y. Kim and Y.I. Lee, "News Based Stock Market Sentiment Lexicon Acquisition Using Word2 Vec," Journal of Korea Bigdata Society, Vol. 3, No. 1, pp. 13-20, 2018. https://doi.org/10.36498/kbigdt.2018.3.1.13
  11. N.Y. Seong and K.H. Nam, "Predicting Stock Movements Based on Financial News with Systemic Group Identification," Journal of Intelligence and Information Systems, Vol. 25, No. 3, pp. 1-17, 2019. https://doi.org/10.13088/JIIS.2019.25.3.001
  12. S.H. Song, K.S. Han, S.J. Choi, and S.M. Park, "A Study on Improving Financial Asset Trading Model Using Social Big Data Analysis Based on Machine Learning," Entrue Journal of Information Technology, Vol. 16, No. 1, pp. 51-62, 2017. https://doi.org/10.3923/itj.2017.51.61
  13. D.Y. Park and K.H. Lee, "Price Fluctuation Prediction for Theme Stocks Using Online News and Technical Indicators," Journal of KI ISE Database Society of Korea, Vol. 35, No. 3, pp. 66-76, 2019.
  14. M. Choi, Stock Investment Strategy Using Social Media Data and Machine Learning, Master's Thesis of Seoul National University, 2020.
  15. H. Ahn, Big Data Quant Strategy, Korea Investment & Securities Co.,Ltd., 2016.
  16. Eunjeon Project(2013). http://eunjeon.blogspot.com/2013/02/blog-post.html (accessed November 17, 2020).
  17. Y.J. Lee, S.B. Kim, H.S. Hong, and J.W. Gim, "Comparison and Evaluation of Morphological Analyzers for Patent Documents," Proceeding of Korean Institute of Information Technology, pp. 264-265, 2019.
  18. Mirae Asset Daewoo Securities Term Dictionary. https://www.miraeassetdaewoo.com/hki/hki3028/r01.do (accessed November 17, 2020).
  19. E.J. Yu, Y.S. Kim, N.G. Kim, and S.R. Jeong, "Predicting the Direction of the Stock Index by Using a Domain-Specific Sentiment Dictionary," Journal of Intelligence and Information Systems, Vol. 19, No. 1, pp. 95-100, 2013. https://doi.org/10.13088/jiis.2013.19.1.095
  20. E.A. Daoud, "Comparison between XGBoost, LightGBM and CatBoost Using a Home Credit Dataset," World Academy of Science, Engineering and Technology International Journal of Computer and Information Engineering, Vol. 13, No. 1, pp. 6-10, 2019.