논문리뷰

[논문리뷰]Explainable Machine Learning Exploiting Newsand Domain-Specific Lexicon for StockMarket Forecasting - 1

komizke 2024. 9. 2. 06:00

* 본글의 사진과 내용은 논문을 바탕으로 작성하였습니다.

논문출처 

 

Explainable Machine Learning Exploiting News and Domain-Specific Lexicon for Stock Market Forecasting

In this manuscript, we propose a Machine Learning approach to tackle a binary classification problem whose goal is to predict the magnitude (high or low) of future stock price variations for individual companies of the S&P 500 index. Sets of lexicons are g

ieeexplore.ieee.org


1. INTRODUCTION

'Adaptive Market Hypothesis'에 따르면 주식 시장의 초과 수익률은 정보 비대칭성에 의해 기인한다.

 

주식 시장은 사회적 매체처럼 외적 요소로부터 영향을 받기 때문에,

이들로부터 얻는 다양한 정보들은 금융영역의 예측 및 분류 문제의 향상을 위해 사용될 수 있다.

 

LNP 연구 초반에는 통계학적 방법과 결합된 bag-of-words와 같은 text representation models를 사용했다.

 

그리고 hardware, middleware의 이점과 살린 Deep Learning이 활용되었으며,

이는 NLP 기반 금융 예측 영역에 대한 연구의 증가를 가져왔다.

 

2010년, Twitter2와 StockTwits3과 같은 사회 매체 플랫폼에서는

기존의 분류 기술을 향상하기 위해 거대한 양의 Text contents를 개발했다.

 

금융에서 변동성은 시간에 따른 거래 가격 시리즈의 변동성 정도이며

이는 로그 수익률의 표준편차로 측정된다.

 

주가 정도 변화 예측은 고성능 트레이딩 알고리즘 및 정책을 개발하는데 필요하다.

 


본 연구는 NLP 기반 접근법을 활용하여 S&P500지수에 포함된 개별 기업의 미래 주가 변동 정도를 예측한다.

 

Walk-forward strategy를 통해, 국제 뉴스 기사로부터 특정 기간동안

시장에 영향력 있는 어휘를 식별하여 생성한다.

 

주어진 시간 간격동안 회사와 산업과 관련된 통계학적 지표를 제작하기 위해

관련있는 features set 을 뉴스에서 생성한 lexicon으로부터 추출한다.

 

Decision Tree는 제작된 features로 훈련되며 주가 변동 예측에 사용된다.

 

기존 방법에 대해 비교했을 때, 본 연구의 접근법이 더 효과적이였으며,

feature engineering은 뉴스들 사이의 숨겨진 시장의 특성을 올바르게 식별할 수 있다.

 


본 연구에서 가져올 혁신

 

1. Dow Jones DNA로부터 생성한 lexicon과 뉴스를 사용하여

features set를 추출하는 feature engineering를 제안한다.

 

2. 생성된 features와 다음날의 주가 변동의 예측 레이블로 고려한

머신러닝 기반의 예측 알고리즘을 사용한다.

 

3. 모델의 explainability와 관련하여, 추론된 Decision Tree를 검사하고

높은 주가 변동과 연관된 단어 리스트를 제공한다.

 

4. S&P500지수의 산업에 대한 실험적 연구를 통해

우리의 lexicon과 개별 기업의 주가 변동 간의 상관관계를 확인한다.

 

5. 우리의 접근 방식이 일반적인 점에서 다른 주식 시장, 뉴스 소스, 다른 종류의 classifier 등

새로운 조합을 채택하여 쉽게 확장될 수 있다.


2. RELATED WORK

NLP, Text Mining, Sentiment Analysis는 금융 섹터에서 다방면으로 사용되고 있다.

 

probabilistic topic models, word-embeddings와 같은 텍스트정보 자동 처리 기술의 개발이 이루어졌으며,

Twitter, StockTwits와 같은 소셜 매체의 탄생 및 확산으로 인해 발달하게 되었다.

 

NLP 기술은 chatbots, voice assistants, text analytics에서 핵심 구성 요소였으며,

오늘날 금융 영역의 차세대 파괴자로 간주된다.

 


금융 분야에서 활용된 NLP 예시

1. Cleo

재정 조언이나 재정 목적을 달성하도록 돕는 개인 금융 어시스턴트 

2. LendoScore

진화된 NLP와 머신러닝 알고리즘을 사용하여 차용인의 신용도를 평가하는 시스템.

 


연구1. transformer encoderBiLSTM-CRF event recognizer와 결합한 end-to-end model를 구축하여 financial announcements로부터 financial events를 추출한다.

 

연구2. 은행 주문으로부터 관계 그래프를 자동적으로 구성하고

뉴스와 은행 접속 기록을 사용하여 Granger causality analysis을 통해

기업과 고객 사이의 관계를 포착하는 알고리즘을 제안한다.

 

개인 지식 그래프구축은 미래 연구 방향으로 고려될 것이다.

 

이것은 고객의 일상 생활에서 extra features를 찾고 보험 회사의 위험 평가,

상업 은행 채무 불이행 가능성 측정,  개인화된 정밀 마케팅과 같은 작업에 사용될 수 있다.

 


Adaptive Market Hypothesis에 영감을 얻은 금융 분야 여러 연구에 따르면,

공공 뉴스는 주식 시장에 영향력을 갖고 있으며 부분적으로 수익률 변화를 설명할 수 있다.

 

유망한 연구분야로는 event detection techinques를 활용하여 뉴스 자료에서

관련있는 이벤트를 추출하는 것이다.

 

아래는 그 예시이다.

 

연구 예시1. sentence-level multilabel classifier을 통해 뉴스 기사의 문장으로부터

미리 지정한 경제 이벤트 카테고리를 자동으로 식별하는 지도 알고리즘을 제안한다.

 

연구 예시2. 특정 주식과 관련된 새로운 스토리의 이벤트를 감지하는 clustering 기반 방법을 개발하여

평균 연결을 기반으로 한 계층적 알고리즘을 개선한다.

다음으로, single-pass clustering algorithm은 식별된 이벤트를 추적하기 위해 사용되고

관련있는 주제는 chronological ordedr의 최종 사용자에게 보여진다.

 

연구 예시3. Open Information Extraction tool은 금융 뉴스에서 이벤트 식별하고 튜플로 표현한다.

neural tensor network는 이벤트 임베딩을 학습하도록 훈련된 다음,

딥러닝 모델에 공급되어 S&P500의 단기 및 장기 주가 움직임 예측을 위해 사용된다.

 


그 외 다양한 연구들

 

연구1. 뉴스 텍스트 데이터와 S&P500 가격을 결합하고

Support Vector Machine을 사용하여 뉴스 기사가 발표된 20분 이후의 개별 주가를 추정한다.

 

연구2. 주식 수익 예측성의 시간 평행성에 대해 뉴스 감정과 다양한 집계수준의 영향을 분석한다.

긍정적인 뉴스에는 주가 수익이 빠르게 반응하지만 부정적인 뉴스에는 긴시간에 걸쳐 반응한다고 말한다.

 

연구3. 하버드 심리학 사전과 Loughran-McDonald 금융 감정 사전을 사용하여

개별 주식, 섹터 및 지수 수준에서 주가 예측이 개선됨을 증명하는 감정 공간을 구성했습니다.

 


본 연구는 엄청난 양의 뉴스 데이터를 활용하여 주가 변동의 크기를 예측하는 것이 목표이며 

고전적인 머신러닝 기법중 하나인 Decision Tree를 사용하며

주가 변동에 영향력 있는 features를 표시한다.  

 

제안한 접근법이 제안된 업무의 랜덤 분류를 능가하는 것을 확인하고 싶기 떄문에

transformers와 같은 딥러닝 기법은 본 연구의 범위를 벗어닌다.


3. PROBLEM FORMULATION

$\Delta _{d,c}$ 는 회사$c$ 에 대해,

$d-1$ 일의 종가와 $d$ 일의 종가 사이의 상대적 증가 혹은 감소를 의미한다.

 

 

위 공식은 주가 변동의 방향성을 측정하는 것이 아니며, 절대값만 고려한다.

 

주가 변동과 관련된 지표인 점에서 리스크 측정과 관련된 VIX 지수와 유사하다.

 

VIX 지수는 다가오는 30일에 대해 S&P500 지수의 변동성을 추정하는 실시간 시장 지수이지만,

미래 변동성을 예측하는 효과에 대해 논란의 여지가 있다.

 


아래 식을 통해 'day,compnay'를 한 쌍으로 하여 분류 작업을 거친다.

 

class_threshold는 시장 변동에서 중요한 것으로 간주되는 고정된 값이다.

 


4. PROPOSED APPROACH

 

 

i. lexicon creation

뉴스 기사를 통해 특정 산업 분야에서 주가에 영향을 미치는 중요한 단어를 식별한다.

 

lexicon 생성을 위한 알고리즘의 첫번째 input 소스는 기업 $c$ 가 산업 $I$ 에 속할 때

그 기업에 대한 뉴스 모음이며 발행 기간은 $[d-l; d-1]$이다.

 

이 때, 뉴스 기사의 제목, 요약, 본문을 결합하여 텍스트를 표현한다.

 


전처리 과정은 아래와 같다.

 

1. 구두점을 없애고 토큰화하여 단어 리스트를 생성한다.

유의미한 정보가 손실되는 경우를 극복하기 위해 n이 2~4 사이의 값을 갖는 $n-grams$ 를 고려한다.

 

2. 전치사, 접속사와 같은 의미 없는 단어를 제거한다.

또한, 너무 자주 사용되는 단어는 stop-words와 유사할 가능성이 높으며

거의 사용되지 않는 단어들은 영향력을 추정하는 것이 불확실하기 때문에 말뭉치에서 제거한다.

 

3. 기본형이 아닌 inflected 형태에서 기본형인 root 형태로 바꾸어

동일한 의미를 갖는 단어에 대해 형태의 차이점을 무시할 수 있다.

 

전처리 이후, 특정 기업의 주가 변동성과 관련된 뉴스 문서 단어에 가중치를 부여한다. 

 

문서의 각 단어에 Equaion1의 값인 주가 변동의 절대값의 점수 $s$ 를 부여한다.

 

이 단어들을 바탕으로 용어 사전을 생성한다.

 


ii. feature extraction

 

 

앞에서 생성한 lexicon을 활용하여

산업 및 특정 기업과 관련 있는 뉴스를 특징 짓는 features의 집합을 생성하는 단계이다.

 

회사 $c$ 와 산업 $I$에 대해 지난 30일 동안 개시된 뉴스로부터 데이터를 추출한다.

 

뉴스는 '회사'와 관련된 것과 '산업'과 관련된 것으로 나눈다.

 

장기간, 중기간, 단기간으로 시간 간격을 구분하여 단어의 효과를 고려하기 위해

 '이전 달', '이전 주', '전 날' 이내 출판된 세 그룹으로 나눈다.

 

'이전 달', '이전 주' 그룹에 대해서, 'high' 혹은 'low' 주가 변동의 그룹으로 나눈다.

 

하지만, '전 날' 그룹은 예측의 타겟 값인 다음 날의 주가 변동을 알 수 없기 때문에

위와 같은 방법으로 나눌 수 없다.

 

위 방법을 통해 생성된 최종 10개의 그룹에 대해,

전처리를 거친 문서의 전체 단어수에 대한 그룹의 각 문서에 포함된 lexicon-words의 백분율을 계산한다.

 

그리고 각 그룹에 대한 lexicon-words 평균 백분율을 계산한다.

 

$[0-100]$ 으로 표현되는 이 10개의 값은 classifier로 공급되는 샘플을 구성하는 features이며,

이는 산업과 기업의 통계적 지표를 나타낸다.

 


iii. prediction algorithm

Features vectorsDecision Tree classifier에 입력하여 일일 주가 변동이 'high' 혹은 'low'인지 예측한다.

 

Decision Tree는 지도 학습 형태이며

features로부터 간단한 결정 규칙을 배워 타겟 값을 예측하는 모델을 생성한다.

 

Decision Tree의 장점은 white-box 모델을 사용하기 때문에

시각화가 가능하고 boolean logic에 따라 쉽게 설명될 수 있다는 점이다. 

 


iv. model explanation

model explanation의 목적은 특정 입력으로부터 특정 예측에 대한 모델의 작동 메커니즘을 설명함에 있다.

 

본 연구에서는 아래 두가지 설명을 제공한다.

 


1. 예측을 위해모델이 따르는 순서

Decision Tree에서 루트를 포함한 전체 노드는 규칙에 의해 연결되며,

$feature <= value$ 이며, 리프 노드는 타겟 레이블과 연결된다.

예측 단계 중에 feature vector는 트리의 루트에서 리프 노드 중 하나까지의 규칙과 일치한다.

따라서 설명을 생성하기 위해,

경로를 따라 feature vector에 의해 충족된 boolean 조건의 순서를 사용자에게 제공한다.

 

단, 사용자에게 쉽게 설명하기 위해

트리의 level은 규칙의 수에 비례하기 때문에 트리의 depth를 작은 값으로 고정하는 것을 추천한다.

 

2. features를 생성한 뉴스 기사에서 추출한 문장들

lexicon의 단어가 포함되어 있는 기사로부터 문장을 추출하고

예측 결과에 대한 설명을 위해 사용자에게 제공할 수 있다.