토익 끝! 인공지능 주가예측 프로젝트 개요(8.15)

피아노과 개발자도전?·2023년 8월 15일
post-thumbnail

토익 끝! 이제 뭐하지..

7월 30일 토익을 마치고, 결과를 보니 일단 원하는 800점대가 나와줘서 토익은 여기까지 하기로 했습니다. 그 후 일주일정도 쉬면서 개강까지 무엇을 해야할까 고민했습니다. 9월 9일에 SQLD 시험이 있지만, 한달동안 SQLD 공부만 하기엔 뭔가 아쉬웠습니다.

그동안 CS공부와 코딩테스트 준비를 해왔지만, 또 다른 중요한 것 중 하나인 프로젝트는 '언젠간 해야하는데..' 라며 생각만 해왔었습니다. 개강까지 한달도 남지 않았지만, 그래도 할만한 프로젝트가 있나 생각해보았습니다.


살짝 번아웃? 개발자가 되려고 한 이유

프로젝트에 관해 고민하면서 잠깐 자신을 되돌아보는 시간을 가졌습니다. 1년 3개월 이틀이상 푹 쉬는날 없이 쭉 빠르게 달려왔습니다. 1년 3개월 전 막 전역한 직후와 지금을 비교해보면, 개인적으로 엄청난 성장을 한 것 같습니다. 그런데 요즘은 뭔가 이전보다는 살짝 천천히 가고싶은 느낌입니다.


공부를 하면서 이 공부들이 나중에 어떻게 도움이 되는건지 의문이 드는 경우가 많았습니다. 공부해놓고 나중에 활용하지 않아 의미없는 공부가 되는건 아닐까 생각이 들었던 것 같습니다.

내가 왜 개발자가 되려고 했었는지, 왜 IT관련 공부를 열심히 해왔었는지, 왜 주말 휴일 가릴것 없이 이틀 연속이상 푹 쉬는날 없이 매일 달려왔는지, 조금은 까먹었던 것 같습니다.

물론 좋은 기업에 취업하여 준수한 급여를 받으며 안정적인 삶을 사는것도 목표 중 하나였습니다. 하지만 그것 말고도, 제가 원하던 것이 있었습니다. 제가 공부를 열심히 해온 목적은 내가 만들고 싶은것이 생기면 어떤 것이든지 만들수 있는 능력을 가지는것, 말 그대로 개발자가 되는 것이라고 생각합니다.

내가 하고싶은 것, 만들고 싶은 것, 개발하면서 재밌어 할 수 있는것이 뭘까 생각해보았습니다. 요즘 경제와 주식등에 관심을 많이 가지게 되었습니다. 그리고 매우 어렵겠지만, 모두의 꿈인 주식 가격을 예측하는 것에 대해 자연스럽게 관심을 가지게 되었습니다.


주가를 예측할 수 있을까?

어떤 회사의 주가를 예측하는것은 매우 어려운 문제입니다. 그냥 다음날 상승과 하락을 53%정도의 확률로 맞출수만 있어도 꽤 준수한 프로그램이라고 합니다. 이를 위해선 일반적인 프로그램이 아니라 인공지능 모델을 만들어야 할 것 같습니다.

저는 백엔드 개발자를 목표로 해와서 인공지능에 대해서는 깊은 지식은 가지고 있지 않습니다. 혼자 공부하는 머신러닝&딥러닝 책에서 공부했던 내용과, 2022-2에 수강하였던 인공지능개론과 2023-1에 수강하였던 데이터사이언스, 인공지능(딥러닝과 CNN)과목에서 배운 기본적인 내용들을 활용해야 할 것 같습니다.

물론, 제가 만든 프로그램이 정말 주가 예측에 대해 의미있는 결과를 도출해줄 것 같진 않습니다. 하지만 저번학기에 데이터사이언스 수업에서 데이터 분석 프로젝트를 하며 데이터 분석도 꽤 재밌는 면이 있다는 것을 알게됐습니다. 제가 해보고싶은 분석들을 해보는 것만으로도 의미가 있다고 생각합니다.


과연 가능할까..

인공지능 주가예측에 대해 여러가지 조사해보니, 보통 자연어 처리 또는 주가와 같은 시계열 데이터를 분석할때 LSTM이라는 딥러닝 모델을 사용한다고 합니다. 하지만, 자연어처리는 다음 학기인 2023-2에 수업이 있고, 저는 자연어처리 모델들에 관해서는 지식이 거의 없어 깊은 분석을 하기가 어려웠습니다.

그래서 일단 그래디언트 부스팅 머신러닝 모델인 LGBM 모델을 이용해 다음날 상승 또는 하락을 예측해보려고 시도했지만, 의미있는 결과를 얻지 못했습니다. LSTM도 살짝 건드려 보았지만, 제 기량으로는 역부족이였습니다.

그리고 결정적으로, 조사하며 느낀것은, LSTM으로 주가를 예측했다는 자료들을 보면, 대부분 실제 주가 그래프를 반박자 늦게 따라가기만 할 뿐, 크게 의미있는 결과를 얻은 자료들은 찾기 힘들었습니다. 그래서 어떻게 해야 의미있는 결과를 도출할 수 있을 것인가에 대해 고민을 많이 했던 것 같습니다.


자세한 경과는 다음에..! 일단 결론

이 글은 프로젝트를 어느정도 마무리하면서 쓰는 글입니다. 저는 딥러닝으로 직전 32거래일의 차트를 분석하여, 향후의 주가(5일 또는 10일)가 어떻게 될 것인가에 대해 예측하는 식으로 방향을 잡았습니다.

아무 종목을 골라 아무 시점에서의 향후 방향을 맞추는 것은 너무 어렵습니다. 하지만, 폭등이나 폭락하기 전 차트들을 분석하면 많이 보이는 패턴들이 있을 것이라고 가정했습니다.

결론적으로, 약60%의 확률로 향후 5거래일 종가의 평균이 현재 종가보다 상승인지, 하락인지 맞추는 모델을 만들었습니다. 하지만 시가총액 1조이하 특정종목 한정에, 하루 한개꼴의 종목추출, 270개정도의 적은 검증데이터등 아직 부족한 점이 많습니다. 아마 저 수치는 운이고 제데로 수를 늘려 검증해보면 정확도가 많이 낮아질 것으로 예상됩니다.

이후 자세한 분석 내용들은 시간날때 작성해보겠습니다.

profile
공부한 내용 정리

1개의 댓글

comment-user-thumbnail
2023년 8월 15일

공감하며 읽었습니다. 좋은 글 감사드립니다.

답글 달기