2023 NH 투자증권 빅데이터 경진대회, “블룸버그, 나스닥과 함께 세계속으로!”

아이디어 | 정형 | 언어 | 해외주식 분석 | 금융 | 정성평가

  • moneyIcon 상금 : 5,000만 원
  • 1,137명 마감

 

GRU를 바탕으로 한 뉴스 감성분석과 기술지표를 이용한 매수/매도 결정 방법

공동작성자

stroke
2023.10.16 03:22 1,545 조회 language

1. 1~8월 뉴스 데이터를 병합해 감성분석을 실시한다. 데이터 전처리 방법은 다음과 같다.
- 뉴스 제목과 요약 정보를 합친 열을 생성한다. 해당 열에서 HTML 태그, 숫자, 특수문자, nltk가 정의한 불용어의 일부, 길이가 짧으면서 빈도가 낮은 단어 등 감성분석에 영향을 미치지 않을 것이라고 판단되는 문자들을 제거한다. 그리고 기업명의 풀네임을 티커코드로 변환하고 괄호로 둘러싸인 부분을 제거하여 길이를 최소화한다.

2. 주가 데이터는 1월부터 8월까지의 데이터가 저장되어 있다. 각 종목의 1월에 대한 기술지표를 구하기 위해서는 전달(12월)의 주가 데이터가 필요하다. 따라서 각 종목의 12월 데이터(종목시가, 종목종가, 종목고가, 종목저가)를 추가로 불러온다. 또한 NASDAQ_RSS_IFO 데이터에는 있지만 NASDAQ_DT_FC_STK_QU.csv 데이터에는 없는 종목의 12월부터 8월까지의 주가 데이터를 추가로 불러온다. 

3. 5개의 기술지표(RSI, BOP, STOCH_fastk, CMO, WILLR )를 사용해 각 종목과 날짜에 대한 기술지표 값을 구한다. 각각의 기술지표에 대하여 매수 타이밍이면 1, 매도 타이밍이면 0, 둘 다 아닐 경우 2(중립)로 분류한다.

4. 다섯 가지 지표 중 가장 많은 숫자를 해당 종목, 날짜의 최종 값으로 설정한다. 만약 중복된다면 중립으로 판단한다.

5. 뉴스 데이터의 타겟값은 다음과 같이 정의한다. 만약 뉴스가 호재일 경우 다음 날 관련 종목의 주가가 상승해 매수 신호가 나올 것으로 예상한다. 뉴스가 악재일 경우 다음 날 관련 종목의 주가가 하락해 매도 신호가 나올 것으로 예상한다. 따라서 구한 기술지표를 전 날 뉴스와 매칭해 타겟값으로 간주한다.

6. 중립인 뉴스를 제외하고 전체 데이터 중 70%의 데이터를 GRU 모델에 학습시킨다.
나머지 30%의 데이터에 대해 정확도 약 70%를 얻어냈으며, 해당 모델이 뉴스를 이용한 단기 주식 투자에 도움이 될 수 있을 것이라고 생각한다.

코드