Allen's 데이터 맛집
[0] Intro : 주식 투자 자동화 트레이딩 봇 개발 본문
프로젝트를 시작하게 된 계기
안녕하세요~ 현 개발자이며 데이터 분석을 통해 취직을 준비하고 있는 Allen입니다!
오늘은 저의 기술 블로그에 올리는 첫 프로젝트를 소개하려 합니다.
데이터 분석에 입문하던 시점에 코로나가 기승을 부리면서 떠오른 키워드는 바로 주식이었습니다. 그러다 보니 당시에 주식 데이터에 관심이 가기 시작했고, 데이터를 수집하여 학습을 해보자는 생각을 하던 도중 저의 Needs에 딱 맞는 것 또한 주식 데이터였습니다. 과거의 데이터도 잘 정리 되어 있고 데이터를 크롤링 하기에도 크게 어렵지 않았었거든요:)
처음에는 네이버 금융과 전자공시시스템(DART)을 웹 크롤링하여 데이터를 수집하고 분석했습니다.
그러던 중, 모든 과정을 자동화할 수 있을까? 하는 개발자적인 사고^^가 들어와서 프로젝트를 기획하게 되었습니다.
결론적으로 이 프로젝트는 제가 데이터 분석과 파이썬 프로그래밍에 관심을 갖게 된 계기가 되었습니다. 이제 간략하게 프로젝트에 대해 소개하겠습니다.
주식 투자는 뛰어난 투자 능력과 꾸준한 시장 조사가 필요합니다. 하지만 제한된 시간과 리소스로 인해 실시간으로 시장을 모니터링하기 어려웠습니다. (직장인인 저로써는 계속 주식 어플만 보고 있는건 큰 곤욕이었습니다.)
이러한 어려움을 데이터 분석과 프로그래밍으로 해결하고자 주식 투자를 자동화하는 트레이딩 봇을 개발하기로 결심했습니다.
프로젝트의 목표
이 프로젝트의 목표는 데이터 분석과 머신러닝 기법을 활용하여 주식 시장의 트렌드를 파악하고, 이를 기반으로 자동으로 주식을 매수 또는 매도하는 트레이딩 봇을 개발하는 것입니다. 그리고 더 나아가 모든 기록(로그)들을 카카오톡 메세지로 실시간으로 받아오는 것입니다. 하지만 저 처럼 주식 전문가가 아닌 이상, 어떤 주식 종목에 언제, 얼마나 투자하고, 나아가 수익을 낸 다는 것은 매우 어려운 일 입니다. 그래서 해당 프로젝트에서는 적절한 알고리즘(변동성 돌파 전략 알고리즘)을 사용합니다.
물론, 모든 투자는 손실을 가져올 수 있으므로 이 프로젝트는 손실을 최소화하는 것을 목표로 합니다.
사용한 도구와 기술
주식 시장 데이터 수집을 위해 파이썬을 활용하였고, 데이터 수집을 위한 웹 크롤링과, 데이터 분석과 주로 Pandas, Beautiful Soup, Url-lib등의 라이브러리를 사용하였습니다.
또한, 주식 거래 자동화를 위해서는 주식 거래 API(CREON)를 연동하고 해당 시스템과 연동되는 트레이딩 알고리즘(변동성 돌파 전략 알고리즘)을 구현하였습니다.
그리고 카카오톡 메신저를 사용하여 실시간으로 거래 결과를 받아 볼 수 있게 만들었습니다.
- Python
- Pandas
- Beautiful Soup
- Url-lib
- Selenium
- Kakao Chatbot
- CREON API
프로젝트 결과 & 리뷰
제가 개발한 주식 투자 자동화 트레이딩 봇은 수개월 동안 테스트를 거쳤으며, 안정적인 수익률과 안정적인 성능을 보여주었습니다. 하지만 절때 해당 프로젝트는 수익을 보장하는 수단이 아니며 단지 과거 데이터에 기반하여 테스트된 결과일 뿐입니다. 따라서 트레이딩 봇을 개발하고 사용하실 때에는 신중하게 판단하시기 바랍니다.
프로젝트의 목표는 주식거래를 통한 수익이 아닌 데이터분석과 개발의 학습에 맞춰져 있다는 것을 말씀드립니다.
이번 프로젝트를 통해 배운 것들 개발한 코드들, 알고리즘들을 제 블로그와 하단의 GITHUB에 포스팅하여 저의 데이터 맛집 블로그의 메뉴들을 저와 함께 데이터 분석 공부를 하는 분들을 위해 지속적으로 포스팅 하려고 합니다 .
감사합니다.
GITHUB : https://github.com/siilver94/Stock-investment-automation