DOI QR코드

DOI QR Code

Analysis and Design of Stock Item Buy/Sell Recommend System using AI Machine Learning Technology

인공지능 머신러닝 기술을 이용한 주식 종목 매수/매도 추천시스템의 분석 및 설계

  • Cho, Byung-Ho (Dept. of Software, Catholic Kwandong University)
  • 조병호 (가톨릭관동대학교 소프트웨어학과)
  • Received : 2021.04.30
  • Accepted : 2021.08.06
  • Published : 2021.08.31

Abstract

It is difficult to predict an increase or decrease of stock price because of uncertainty. Researches for prediction of stock price using AI technology have been done for a long time. Recently stock buy/sell recommend programs called by Robot Advisor using AI machine learning technology are used. In this paper, to develop a stock buy/sell recommend system using AI technology, an core engine of this system is designed. An analysis and design method of a stock buy/sell recommend system software using AI machine learning technology will be presented by showing user requirement analysis using object-oriented analysis method, flowchart and screen design.

주식이 오를지 내릴지를 예측하는 것은 주식의 불확실성으로 매우 어렵다. 인공지능 기술을 이용한 주가예측 방법에 대한 연구가 오랫동안 이루어져왔다. 최근에는 증권 회사에도 로봇 어드바이저라는 이름으로 인공지능 기술을 이용한 주식 매수/매도 추천 프로그램이 사용되고 있다. 본 논문에서는 인공지능 머신러닝 기술을 이용한 매수/매도 추천 시스템을 개발하기 위하여 여러 가지 기술적 분석 방법의 결과를 활용하는 이 시스템의 핵심인 엔진을 설계한다. 또한 객체지향 분석 방법을 이용한 요구사항 분석 및 플로우차트, 화면 설계 등을 보여여줌으로써 효과적인 인공지능 머신러닝 기술을 이용한 매수/매도 추천 시스템의 소프트웨어 분석 및 설계 방법을 제시하고자 한다.

Keywords

Ⅰ. 서론

주식의 불확실성으로 인하여 현재 주가의 흐름이 상승할 것인지 하락할 것인지 예측하는 것은 매우 어려운 일이다. 주식투자가가 주식을 매수 및 매도하기 위해 주가를 예측하고 분석하는 방법으로는 그 주식의 기업의 기초 역량에 따른 매출액 대비 이익률, 시장동향, 시장 점유율, 경제지표, 정치적 상황 등의 여러 가지를 분석해서 매수할 주식을 선택하는 방법이 있다. 다음으로는 기술적인 분석에 의한 것으로, 이는 지난 과거 주식의 가격 흐름, 거래량 등을 이용한 방법이다. 현재 주가를 예측하는 많은 기술적 분석방법이 존재하고 있지만 한 가지의 방법만 적용해서 정확한 예측하는 결과를 얻기는 쉽지 않다.

최근에는 인공지능 기법을 이용한 주가예측 프로그램개발이 이루어지고 있다. 증권회사에서도 이와 같은 인공지능 기술을 이용한 주가예측 프로그램(로봇 어드바이저)이 많이 개발되어 사용자에게 이를 이용한 매매 시에 수수료를 받고 사용하도록 하고 있다.

주가예측 프로그램 개발에 인공지능 기술 응용하는 방법으로는 머신러닝 기술로 SVM(Support Vector Machine)과 CNN(Convolutional Neural Network) 신경망 학습방식을 적용하여 주가종목의 상승/하락을 예측하는 프로그램을 제작하고 있다[11,13]. 본 논문에서는 오픈 머신러닝 라이브러리인 텐소플로우(TensorFlow) 를 이용해서 주식 매수/매도 추천 프로그램 앱을 제작하는 것을 목표로 주식종목 매수/매도 추천 시스템을 분석하고 설계하도록 한다[10].

본 논문의 구성은 다음과 같다. 2장에서는 기존 인공지능 기술을 이용한 주식 분석 시스템의 연구동향, 3장에서는 주식종목 매수/매도 추천 시스템 분석, 4장에서는 주식종목 매수/매도 추천 시스템 의 설계, 5장에서는 결론을 기술한다.

Ⅱ. 주식 종목 매수/매도 추천 시스템 관련 인공지능 기술 동향

최근에 인공기능 기술이 주가의 추세를 예측하는 기법으로 많이 개발되고 있다. 그 중에서도 ANN(Artificial Neural Networks)과 SVM(Support Vector Machine) 알고리즘을 사용한 것이 주가 추세를 예측하거나 주가지수 상승/하락 등을 예측하는 기법으로 가장 널리 사용되고 있다. 각각 알고리즘은 학습 패턴으로 자신의 방식을 가지고 있다. ANN은 뉴론 네트워크를 이용해서 인간의 뇌를 모방하는 형태이다. 이와 같은 연구로서 Hassan, Nath, and Kirley이 HMM(Hidden Markov Model), ANN 및 GA(Genetic Algorithms)를 합성한 방법으로 주가 추세를 예측하는 기법을 제시하였다[1]. Chen, Leung, and Daouk는 확률적 뉴럴 네트워크인 PNN(Probabilistic Neural Networks)을 과거의 데이터를 이용해서 주가지수의 방향을 예측하는 사용하고 있다[2].

가장 잘 알려진 것은 SVM 알고리즘을 사용하는 방법이다. 이는 판단기능, 커널기능 및 솔루션부족 등의 제어능력을 발휘하는데 SVM을 사용하는 방법으로 Huang, Nakamori and Wang이 니케이 225 주별 주가지수 방향을 예측하는데 SVM으로 재정적인 예측방향을 결정하는데 사용하는 방법으로 주가추세를 결정하는데 사용하는 연구가 있다[3]. 다른 연구동향으로는 Kim이 12개의 기술적인 지표로서 주가지수 초기속성을 결정하는 요소로서 사용하고 매일 KOSPI 주가 변화 데이터를 SVM 를 이용하여 코스피 주가추세를 예측하는 방법을 제안한 것으로 비교 대상으로 BPN(Back Propagation Network) 방식과 CBR(Case-Based Reasoning) 방식과의 실험치를 비교해서 SVM 방식이 우수함을 보여주고 있다[4].

머신러닝 학습은 입력 데이터에서 특징요소를 추출하여 이를 학습하는 방식으로 주가예측에 사용하는 방식이지만 특징요소를 분류자로 사용하는 분류모델을 이용하는 방법으로 Tsai, Lin, Yen, and Chen이 분류자 (classifier)로서 주가 예측하는 방법을 제안한 것이 있다 [5]. 다른 연구로는 Sun and Li 가 제안한 방법으로 단순 SVM 요소가 아닌 여러 개의 요소를 혼합한 SVM 방식을 사용하는 것으로 단수의 요소로 SVM을 적용하는 것보다 우수하다는 것을 보여주고 있다.[6] 본 논문에서 주가 예측에 사용하는 기술적 분석 여러 기법을 다중요소로 혼합한 SVM 방식을 딥러닝 학습에 의한 결과치를 얻도록 한다[14,15].

유전자 알고리즘(GA) 또한 주식 마켓을 예측하는 기법으로 사용할 수 있다. 이에 대한 연구로는 Garg, Sriram, and Tai 가 NYSE 주가지수에 대하여 유전자 알고리즘을 이용한 유전자알고리즘 프로그래밍을 이용해서 뉴욕주가 지수의 방향을 예측하는 기법을 제안하고 있다[7]. Nair et al은 적응형 뉴럴네트워크 시스템에 기반한 5가지의 국제적인 주식지표를 이용해서 다음날의 종가를 예측하는 방법을 제안하고 있는데 ANN에 유전자 알고리즘을 결합한 방식을 사용하고 있다[8]. 국내에서도 이형용의 유전자 알고리즘을 사용하고 있는 연구가 있다. 이는 제안모형은 등락을 판단하는데 활용되는 임계치까지 유전자 알고리즘을 이용해 동시에 최적화하도록 설계한다는 점에서 차별화된다. 제안모형의 유용성을 검증하기 위해, 이 논문에서는 지난 1998년부터 2007년까지의 KOSPI 지수 등락 예측을 위해 구축된 로지스틱 회귀모형, 인공신경망, SVM모형의 결과들을 제안모형과 비교한 실험치를 보여주고 있다[9].

Ⅲ. 인공지능 머신러닝 기술을 이용한 주식 종목 매수/매도 추천 시스템의 분석

그림 1은 제작하고자 하는 주식종목 매수/매도 추천시스템의 구조를 표시하고 있는데, 핵심 기능은 기술적 분석 알고리즘 여러 개를 이용해서 측정한 값을 머신러닝 기술 적용해서 나온 결과를 가지고 주식 종목 매수/매도 시점을 결정하도록 하는 주식종목 추천시스템 엔진이다. 클라이언트 쪽에는 이 결과 값을 이용해서 매수/매도추천 종목을 표시하는 스마트폰 앱으로 푸시 메시지로 보내는 모듈, 추천종목 검색 모듈과 가입회원의 등록, 결재 모듈, 소셜 네트워크 서비스(SNS) 기능을 갖는 5개의 모듈로 구성된다. 이와 같은 시스템의 기능을 구현하기 위한 요구사항을 기술하면 아래와 같다.

OTNBBE_2021_v21n4_103_f0001.png 이미지

그림 1. 주식종목 매수/매도 추천 시스템 구조

Fig. 1. an Architecture of Stock Item for Buy/Sell Recommend System

1. 요구사항 분석

주식종목 매수/매도 추천 시스템 설계 이전의 분석 단계로서 요구사항에 대하여 기술한다. 위에서 언급한 그림 1의 구조를 고려해서 개발하여 할 주요 기능들을 기술하면 아래와 같다.

가. 주식종목 매수/매도 추천 기능

(1) 여러 개의 기술적 분석 알고리즘 적용 결과 값을 입력 값으로 이용한 머신러닝 학습수행 기능

(2) 머신러닝 결과를 이용한 주식종목 매수/매도 종목선정 기능

나. 회원관리 기능

(1) 신규회원 가입 기능

(2) 로그인 시에 아이디/패스워드로 인증하는 기능

다. 추천종목 푸시 기능

(1) 주식종목 매수/매도 추천 엔진에서 선택한 매수/ 매도 종목을 서버에서 스마트폰 앱으로 푸시 전송하는 기능

(2) 푸시메세지로 전송된 매수/매도 추천 종목을 사용자가 볼 수 있도록 스마트폰에 표시하는 기능

라. 추천종목 검색 기능

(1) 기존에 푸시메시지로 보내주었던 매수/매도 종목을 바로 확인하지 못했을 때 조건검색하는 기능

(2) 검색 결과를 스마트폰 앱 상에서 조건 검색 결과를 보여주는 기능

바. SNS(소셜 네트워크 서비스 기능)

(1) 토론방에서 본인이 매수/매도한 종목에 대한 글을 남기는 기능

(2) 게시된 글에 댓글을 다는 기능 및 좋아요 표시기능

2. 유스 케이스 다이아그램(Use Case Diagram)[4]

주식종목 매수/매도 추천 시스템의 개발을 위해 요구사항을 분석하여 간략하게 기술한 주요 기능들을 UML(Unified Manipulation Language) 의 유스케이스 다이아그램(Use Case Diagram)으로 표시하면 그림 2와 같다.

OTNBBE_2021_v21n4_103_f0002.png 이미지

그림 2. 유스케이스 다이아그램

Fig. 2. Use Case Diagram

3. 객체지향 클래스 다이어그램[4].

객체지향 분석을 위하여 서버, 스마트폰 및 결재 서버를 객체로 설정하고 속성(attribute)과 메소드(method) 로 구성된 클래스 다이아그램(Diagram)을 그리면 그림3과 같다.

OTNBBE_2021_v21n4_103_f0003.png 이미지

그림 3. 객체지향 클래스 다이아그램

Fig. 3. Object-Oriented Class Diagram

IV. 인공지능 머신러닝 기술을 이용한 주식 종목 매수/매도 추천 시스템의 설계

주식종목 매수/매도 추천 시스템의 핵심기술은 머신러닝 매수/매도 시스템엔진으로 그림4와 같다. 과거 주식시세를 제공하는 곳은 네이버나 다음과 같은 포털이나 증권정보 제공 사이트 등이 있는데 이들 사이트에서 주식 종목별 및 일자별로 주식 종가와 거래량 데이터를 수집해서 기술적 분석 기법으로 많이 알려진 7가지 기법의 알고리즘을 적용해서 어떤 종목의 주식이 상승할 것인지 하락할 것인지를 0에서 1의 결과 값을 얻게 된다. 0에 가까우면 상승 가능성이 높고 1에 가까우면 하락 가능성이 높게 나타나는 값을 갖게 된다. 이 7개의 값을 평균값을 가지고 주식 종목의 매수/매도를 정하는 방법도 있으나 7개의 값을 머신러닝 학습에 의한 결과 값를 사용하면 좀 더 정확한 매수/매도 종목 추천이 가능하다. 이와 같은 머신러닝 학습을 이용한 매수/매도 종목을 추천하는 기능을 구현하는 알고리즘 설계는 그림 5와 같다.

OTNBBE_2021_v21n4_103_f0004.png 이미지

그림 4. 주식종목 매수/매도 추천 시스템 엔진

Fig. 4. the Recommend System Engine for Buy/Sell Stock Item

OTNBBE_2021_v21n4_103_f0005.png 이미지

그림 5. 주식종목 매수/매도 추천을 위한 흐름도

Fig. 5. Flowchart for Stock Item Buy/Sell Recommend

본 주식 매수/매도 추천 시스템의 우수성을 알아보기 위해 그림 5의 알고리즘을 적용해서 텐소플로우와 파이썬으로 테스트 프로그램을 제작하였다. 과거 코스피 종목을 일부를 그림 4의 주식종목 매수/매도 추천 시스템 엔진을 적용한 것과 각각의 기존 7가지 알고리즘을 적용해서 매수시점과 매도시점의 추천 결과를 시뮬레이션 해본 결과 본 추천 시스템의 정확도가 평균 78.3%이고 각각의 알고리즘의 경우는 평균적으로 56.7% 정도로 본 추첨시스템이 효과적임을 알 수 있었다.

이와 같은 주식종목 매수/매도 추천 시스템의 엔진이 완성되면 추천 시스템 엔진 서버에서 추천 종목을 푸시 메시지로 종목을 스마트폰 화면에 표시해주고 이미 추천한 종목의 추천종목을 검색해볼 수 있도록 한다. 또한 추천 종목에 대하여 소셜네트워크서비스(SNS)로 글쓰기, 댓글달기, 좋아요의 기능과 회원가입 및 관리 가능 등의 스마트폰 앱의 화면 설계를 그림 6과 같이 설계하도록 한다.

OTNBBE_2021_v21n4_103_f0006.png 이미지

그림 6. 스마트폰 앱 화면 설계

Fig. 6. Design of Screen for Smartphone App.

V. 결론

주가를 예측하기 위한 방법은 여러 가지 있다. 과거부터 기술적 주가분석 방법이 많이 사용되고 있지만 일반인이 기술적 주가분석 방법을 잘 알기도 어렵고 기술적 분석 방법이 잘 맞지 않는 경우가 많다. 따라서 본 논문에서의 시스템 개발은 주식을 하는 개인 투자자가 인공지능 기술을 이용한 주식종목 매수/매도 추천시스템의 도움을 받아 높은 수익률을 올리면서 편리하게 주식매매를 할 수 있는 주식 매수/매도 추천 시스템을 제작하는 것을 목표로 하고 있다.

본 논문에서는 이와 같은 인공지능 기술을 이용한 주식 종목 매수/매도 추천시스템의 소프트웨어를 개발하기 위하여 요구사항 분석을 통해 알아낸 주요 기능으로는 주식/매도 추천 기능, 회원관리 기능, 추천종목 푸시 기능, 추천종목 검색 기능 및 소셜네트워크 서비스 기능 등이 있는데 이는 객체지향 분석방법인 UML을 통해 유즈케이스 다이아그램과 클래스 다이아그램을 통해 분석내용을 잘 이해하도록 기술하였고 설계 방법으로는 핵심기술인 주식종목 매수/매도 추천 시스템의 엔진의 설계와 주식종목의 매수/매도 추천을 위한 엔진의 동작 및 스마트폰으로 푸시 전송되는 과정의 알고리즘 설계를 위한플로우차트 제작 및 화면 디자인 설계 예시를 보여주었다.

이와 같은 본 논문에서 제시한 인공지능 기술을 이용한 주식종목 매수/매도 추천시스템의 알고리즘 설계는 고전적인 주식 매수/매도 분석 알고리즘보다 우수함이 시뮬레이션 결과로 확인되었다. 따라서 본 주식종목 매수/매도 추천시스템 소프트웨어 분석 및 설계방법은 실제 주식종목추천 시스템 소프트웨어를 개발하는데 있어 매우 유용하고 주요 분석 및 설계 프로세스를 세우는 기준이 될 수 있으리라 본다. 또한 본 연구에서 제안한 주식 종목추천 시스템 분석 및 설계 방법이 나중에 실제 증권사의 로봇어드바이저 시스템 구축이나 증권 주식 종목추천 어플을 제작하고자 할 때에 실무자들에게 어떻게 그 소프트웨어를 분석하고 설계할지에 대한 주요 가이드라인으로 자리매김할 수 있기를 기대한다.

References

  1. Hassan, M. R., Nath, B., & Kirley, M., "A fusion model of hmm, ann and ga for stock market forecasting.", Expert Systems with Applications, 2007. https://doi.org/10.1016/j.eswa.2006.04.007
  2. Chong-Lae Hoh, Chong-Ho Lee, "Methods of Prediction of the Composition Stock Price Using Error Back-Propagation", IEEK Paper, 1991.
  3. Kyoung-Jae Kim, "Financial time series forecasting using support vector machines", Neurocomputing, Volume 55, Issues 1-2, September 2003, Pages 307-319. https://doi.org/10.1016/s0925-2312(03)00372-2
  4. An-Sing Chen, Hazem Daouk, Mark T. Leung. "Application of neural networks to an emerging financial market: Forecasting and trading the taiwan stock index". Computers & Operations Research, 2003. https://doi.org/10.2139/ssrn.237038
  5. Chih-Fong Tsai, Yuah-Chiao Lin, David C. Yen, Yan-Min Chen, "Predicting stock returns by classifier ensembles. Applied Soft Computing, .42 Pages, Aug 2001. https://doi.org/10.1016/j.asoc.2010.10.001
  6. Jie Sun, Hui Li, "Financial distress prediction using support vector machines: Ensemble vs. individual", Applied Soft Computing, 2012. https://doi.org/10.1016/j.asoc.2012.03.028
  7. A. Garg, S. Sriram, K. Tai, "Empirical analysis of model selection criteria for genetic programming in modeling of time series system.". In 2013 IEEE Conference on Computational Intelligence for Financial Engineering & Economics, 2013. https://doi.org/10.1109/cifer.2013.6611702
  8. Nair, B. B., Sai, S. G., Naveen, A., Lakshmi, A., Venkatesh, G., & Mohandas, V., "A ga-artificial neural network hybrid system for financial time series forecasting.", In Information Technology and Mobile Communication, 2011.
  9. Hyoun-Gyong Lee, "A Combination Model of Multiple Artificial Intelligence Techniques Based on Genetic Algorithms for the Prediction of Korean Stock Price Index(KOSPI)", Entrue Journal of Information Technology Vol.7, No.2, July 2008. https://doi.org/10.15719/geba.10.1.200903.215
  10. Yoo-Jeong Song, Jong-Woo Lee, "A Design and Implementation of Deep Learning Model for Stock Prediction using TensorFlow", Korea Information Science Society Paper, 2017.
  11. Huang, W., Nakamori, Y., & Wang, "Forecasting stock market movement direction with support vector machine", Computers & Operations Research, 2005. https://doi.org/10.1016/j.cor.2004.03.016
  12. Wan-Su Cho, "UML Object-Oriented Analysis and Design", Hongnung Publishing Company, 2000.
  13. Chong-Lae Roh, Chong-Ha Lee, "Method of Prediction of the Composition Stock Price Using Error Back-Propagation", The Institute of Electronics Engineers of Korea Paper, 1991.
  14. Sanghyun Nam, Taeho Han, Leeju Kim, Eunji Lee, "Real-Estate Price Prediction in South Korea via Machine Learning Modeling", The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), Vol. 20, No. 6, pp.15-20, Dec. 31, 2020. https://doi.org/10.7236/JIIBC.2020.20.6.15
  15. Nak-Hun Choi, Jong-Seok Oh, Jong-Rok Ahn, Key-Sun Kim, "A Development of Defeat Prediction Model Using Machine Learning in Polyurethane Foaming Process for Automotive Seat", Journal of the Korea Academia-Industrial cooperation Society, Vol. 22, No. 6 pp. 36-42, 2021. https://doi.org/10.5762/KAIS.2021.22.6.36