주가 예측 프로그램을 만들어 보았다. 파이썬 주피터 노트북 사용

2020. 11. 29. 21:19인공지능,프로그래밍

반응형

이 블로그를 시작하는 초장기에 내가 해 보고 싶었던 것 중 하나가 

바로 주가 예측 프로그램이었다. 

 

사실 시중에 인공지능을 활용한 주가 예측 프로그램 앱들이 많이 있지만 

어떻게 돌아가는지도 모르고

그게 정말 인공지능을 사용하는 것인지 아니면 

그냥 인공지능의 탈을 쓰고 나오는 것인지 알 수 없었다. 

 

그래서 내가 직접 만들어 보고 검증해 보고 싶었고, 

혹시 하다가 잘 되면 그러니까 잘 맞는다고 생각하면 

부업으로도 괜찮을 것이라는 생각이 들었기 때문에 본 프로젝트?를 시작하고 싶었다. 

 

하지만 초기에 열정을 시간이 갈 수록 줄어들고

 

방대한 배울 것들로 인해서 진도를 나가기가 어려웠다. 

 

일단 프로그래밍 환경을 조성하는 것부터가 만만치 않았다. 

 

하지만 그런 이야기들은 뒤로 하고 오늘은 실제로 구현해 본 이야기만 해 보려고 한다. 

 

프로그램 소스는 유튜브의 내용을 참고했다. 

 

따라서 본 블로그가 아니어도 유튜브를 통해서 프로그램에 대한 설명을 충분히? 들을 수 있을 것이지만

 

굳이 블로그를 쓰는 것은 그렇게 하기까지도 어려운

 

즉, 유튜브의 내용을 따라하기도 어려운 분들에게 혹시 참고가 될 수 있지 않을까 하는 생각에서이다. 

 


흔히 예측을 하는데 사용하는 프로그램이라고 하면

 

최근 많이 사용하고 있는 파이썬을 들 수 있다. 

 

하지만 파이썬이라는 환경이 오픈되어 있음에도 불구하고 

 

기본 환경을 구축하는 방법도 여러가지이고, 

 

버젼도 여러가지여서 여간 햇갈리는 것이 아니다. 

 

나는 그 중에서 쥬피터 노트북이라는 환경을 통해서 구축해 보았다. 

 

일단 아래 그래프는 주식 한 종목을 선택해서 돌려본 결과이다. 

 

 

 

실제 데이터는 파란색이고 예측한 데이터는 주황색이다. 

 

각 구간을 보면 상당한 차이가 있지만 추세는 얼추 비슷한 것을 보여준다. 

 

여기까지만 보면 '대박인데?'하는 생각이 드는 분도 있을 텐데,

 

어찌됐건 올라간다는 생각만 들면 버틸 수 있고 적당한 시기에 이익을 내고 빠져나올 수도 있겠다는 생각이 들 수 있기 때문이다. 

 

나 역시 처음 유튜브에 이와 같은 그래프를 보고 관심을 갖게 되었다. 

 

유튜브에서는 삼성전자 데이터를 가지고 주가 예측을 했었는데,

 

나는 종목을 한 번 바꾸어서 해 본 것 뿐이다.

 

그래도 추세가 비슷하게 나와서 놀랐으나,

 

여기에는 작은? 함정이 있다. 

 

예측 그래프는 순수하게 저 기간을 예측한 것이 아니라는 이유가 그것인데,

 

무슨 말이냐 하면 하루 하루를 보면 예측한 데이터가 맞지만,

 

예측을 할 때마다 그 이전 실제 50일의 실제 값을 기준으로 했기 때문이다. 

 

그래서 제대로 된 예측값을 보이는지 알려면 적어도 3~4일 정도를 순수하게 예측해보고 

실제 데이터가 그런지 확인해 보는 것이 맞기 때문이다. 

 

 


 

그럼 어떻게 파이썬을 시작해야 할까?

 

이번에 코딩을 하면서 어려웠던 점 중 하나는 예전에 설치해 둔 파이썬 때문인지 몰라도 

 

자꾸 에러가 나는 것이었다. 

 

그래서 혹시 파이썬을 처음 해 보려고 하는 분이라면 

 

처음에는 아나콘다를 설치하는 것을 추천한다. 

 

아나콘다를 설치하면 파이썬이 함께 설치되고 무엇보다 쥬피터 노트북이라는 강력한 도구를 사용 할 수 있기 때문이다. 

 

쥬피터 노트북의 장점이 많이 있겠지만,

 

코딩한 내용을 한 줄 한 줄 확인해가면서 코딩할 수 있기 때문이다. 

 

코딩한 내용을 바로 실행해서 제대로 코딩을 했는지 무슨 오류가 있는지를 바로 확인하면서 진행할 수 있어서

 

초보가 사용하기에는 아주 좋은 기능을 가지고 있다. 

 

 

아나콘다를 설치하려면 구글에서 아나콘다를 검색하면 처음에 나오기 때문에 

 

바로 설치할 수 있는데, 혹시 귀찮은 분들을 위해 아래 링크를 걸어 두었다. 

 

www.anaconda.com/products/individual

 

Anaconda | Individual Edition

Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

그럼 코딩은 어떻게 했을까?

 

코딩 내용은 아래와 같다. 

 

 

위의 코딩은 비교적 간단하지만 

 

막상 구현하는 것은 쉽지 않았다. 

 

아나콘다를 설치해도 위 코딩을 하려면 관련 라이브러리들을 설치해야 하는데

 

인공지능의 기초가 되는 텐서플로우를 설치하는것부터 쉽지가 않았다. 

 

설치를 위해서는 코멘드 모드에서 다음을 입력해야 한다.  

 

>> pip install tensorflow

 

그런데 그렇게 하니까 아래와 같은 에러가 났는데 쉽게 해결할 수 없었다. 

 

 

이 문제를 해결하기 위해 검색을 열심히 하고 진행을 했지만 잘 해결되지 않았다. 

 

그러다가 아래 웹페이지에서 해결책을 찾았다. 

 

stackoverflow.com/questions/51427372/ssl-error-while-using-pip-install-to-install-tensorflow-gpu/61004065#61004065?newreg=be25db704cdb4f0dbf2064454392eb3e

 

SSL error while using pip install to install tensorflow-gpu

I am trying to install tensorflow-gpu by running pip install tensorflow-gpu Windows, inside an Anaconda enviornment, but I am getting the following error: Could not install packages due to an

stackoverflow.com

알고보면 아주 간단한 것이었는데

 

랜선을 뽑고 와이파이로 설치를 한 것이었다. 

 

이처럼 코딩을 하는 과정에서는 해결하고 나면 간단하지만 

 

어떻게 해도 해결이 안될 것 같은 문제들이 계속 발생하는 것 같다. 

 

그럼 위 코딩이 어떻게 동작하는지는 다음 글에서 하나하나 언급해 보려고 한다. 

 

궁금하신 분들은 계속되는 글을 참조하시기 바라며

 

이번 글을 마치기로 한다. 

 

 

반응형