스플X코드스테이츠
인공지능을 배운 사람들이라면 한 번쯤 고민해본 내용이 아닐까 생각합니다.
“알고리즘 트레이딩 만들어서 돈 좀 벌어볼까?”
알고리즘 트레이딩은 나무Wiki에서 다음처럼 소개합니다.
'특정 매매기법(시스템)을 컴퓨터 프로그램을 이용하여 완전히 자동으로 주식을 사고파는 거래 방식을 뜻한다.'
사람의 심리와 주문의 실수와 같은 문제가 관여할 여지가 없는 것이 큰 장점이라고 하지만, 실제로 정말 잘 동작할까? 기존 글에서 “블록체인 개발자도 코인에 물릴까?“의 주제로 글을 작성했었는데요, 정답은 YES 였죠. 그럼 같은 맥락으로 AI개발자들 역시 트레이딩에 성공할까요? 답은 NO라고 할 수 있습니다. 질문이 긍정형이냐 부정형이냐에 따라 답변은 달랐지만, AI개발자라고 해도 주식시장의 데이터 흐름을 완벽하게 짜지 못하기 때문에 쉽지 않은 일이라고 생각합니다.
아쉽게도 저는 해보지 않았습니다. 2014년 주식을 처음 접해서, 8년째 투자하고 있는 개미입장에서, 거래량과 정보와 심리전만 생각해도 너무나 복잡한데, 개발자 혼자서 (주식)시장을 이기는 프로그래밍을 할 자신이 없어서 하지 않았습니다. 실제로 지인분이 하는 사이드 프로젝트에 참여해본 적은 있는데요. 알고리즘은 나름대로 잘 짰지만, 우리 코드에 ‘거래수수료'를 반영하지 않은 실수를 모르고 시작을 했더니, 무한정 사고팔고를 반복하다가 넣어둔 돈이 0원으로 수렴하는 결과가 나타났습니다. 처참한 실패였죠. 시도해본 분들이라면 어느정도 공감하실지도 모르겠습니다. 금융수학, 퀀트 등을 하시는 분들이 참 대단하다고 간접적으로 느꼈죠.
알고리즘 트레이딩을 시작하기 위해서는 제공된 도구모음(ToolBox)을 이용하거나, 직접 개발하는 방법이 있습니다. 한국에서는 개미 투자자들이 주로 사용하는 ‘키*증권'에 API 존재합니다. API라는 용어는 개발에 관련된 직군이시라면 많이 들어보셨을텐데요, “Application Programming Interface”라고해서 개발자들이 프로그래밍 할 수 있도록 만들어둔 창구라고 생각하시면 됩니다. 은행에 가면, 창구에 가서 창구 담당자와 대화를 통해서 일을 처리하는 것처럼, 개발자들도 이런 알고리즘 트레이딩을 하기 위해서 키*증권에서 만들어둔 창구를 이용해서 자동으로 업무를 처리할 수 있도록 만든다고 생각하시면 됩니다. 거기에 어떻게 알고리즘이 매매를 할 것인가? 기준들을 정할 때 인공지능, 머신러닝 모델들을 활용할 수 있을 것입니다.
알고리즘 트레이딩에 넣어야 하는 데이터는 어떤 것들이 있을까요? 알고리즘에 주식과 관련 데이터를 다 담을 수 있을까요? 그럴 수 없습니다. 월가에서는 온라인에서 뉴스기사를 수집해서 트레이딩에 반영하겠다는 기사를 2010년에 낸 적이 있습니다. 그만큼 주식과 관련된 데이터는 끝이 없습니다. 기사를 읽으시는 모든 분들이 주식을 하지 않기 때문에 다른 예시를 통해서 알아보겠습니다.
(예) 올해 건강검진을 받으셨나요?
회사에서 혹은 나라에서 1년 혹은 2년에 한번씩 건강검진을 해야한다고 합니다. 건강검진을 할 때, 머리끝부터 발끝까지 모든 검사를 한 번에 하는 검사는 본 적이 없는 것 같습니다. 보통은 사전에 어떤 검사를 할 지, 필수검사가 있고, 선택 검사가 있습니다. 최근 세계 1위 부자로 알려진 테슬라의 일론 머스크는 건강검진을 어떻게 하는 지 모르겠지만, 대부분의 사람들은 검진을 할 때, 비용 때문이든 병원의 환경 때문이든 꼭 필요하다고 생각되는 항목을 ‘선택'해서 검사를 진행하게 됩니다.
여기서 주식시장에서 사용하는 데이터도 마찬가지인데요, 돈을 벌기위해서 모델을 만들고, 학습하고, 운영해야 하는데 모든 데이터를 담으려고 하다 보면 모델을 운영하는데 배보다 배꼽이 더 커질 수 있습니다. (어쨋든 알고리즘 트레이딩은 수익을 내려고 하는 것이니) 알고리즘 트레이딩을 만들 때에도 우리가 사용할 데이터들을 선택을 해야 합니다.
주식의 데이터에는 주식 가격이 변경되는 이동평균선(5일선, 10일선, 20일선, 60일선, 120일선)이 있을 것이고, 주식이 얼마나 거래 되었는지 나타내는 ‘거래량’, 이동평균선간의 차이를 나타내는 MACD 지표도 있을 것이고, 뉴스에서 연일 보도하는 한국의 주가 지표 KOSPI, KOSDAQ 등 여러가지의 데이터가 있습니다. 주식을 해본 사람이라면 본인만이 확신을 가질 수 있는 다양한 지표들을 가지고 계실 것이고, 그런 것들을 선택해서 내 모델에서 사용하는 데이터로 정할 수 있습니다.
‘가격변동을 예측해서 올라갈 때 사고, 내려갈 때 팔면 되지 않을까?’ 하는 단순한 생각이 들 수도 있겠지만, 거기에 여러분의 재산을 넣을 수 있을까요? 결과적으로 인공지능을 설계할 때 ‘데이터를 어떻게 설계할 것인가?’가 정말 중요하게 작용한다는 것만 기억하시면 되겠습니다.
최근 ‘인공지능 모델보다 데이터가 중요’하다는 인식이 많이 생겨나고 있습니다.
지난 주 CNN의 아버지 Yaan LeCun이 “Papers With Code”에 인공지능을 위한 데이터셋이 6,000개가 넘었다는 피드를 올렸습니다. ‘데이터가 이미 이렇게나 많은데 왜 데이터가 중요하다고 하지?’라고 생각하실 수 있을 것 같습니다. 그러나 여전히 우리는 GIGO(garbage in, garbage out)를 외치고 있습니다.
이상한 데이터를 넣지 않기 위해서는 목적부터 바르게 해야 한다고 생각합니다. ‘내 알고리즘은 어떤 문제를 풀 것인가?’에 집중해야 한다는 결론이 나옵니다. 제가 금융업에 종사하지는 않지만, 여러 트레이딩 알고리즘이 있을 것이라고 생각합니다. 국내 주식 모델과 해외 주식 모델이 같을 수 없다고 생각하고, KOSPI, KOSDAQ에도 같은 모델을 적용할 수 없다고 생각합니다. 결국 모델에 적용할 대상들을 잘 골라내는 것이 중요하다고 생각할 수 있습니다.
채용과정을 경험해 보신 분들(면접자, 면접관 모두 해당)이라면 ‘면접'의 경험이 많으실텐데요. 제가 면접자로 가는 경우에도 저는 당돌하게 기업 담당자분께 항상 물어보는 질문이 있습니다.
“회사가 풀고자 하는 궁극적인 문제는 무엇인가요? 어떻게 문제를 풀고 계신가요? 어떤 데이터가 있으신가요? 타겟하시는 시장은 어느정도 규모인가요?” 비단 주식의 관점이 아니라 스타트업이라면 정말 그들이 풀고자 하는 문제가 무엇인지, 그 문제를 풀었을 때 사회적으로 어떤 이슈를 만들어 낼 수 있고, 경제적인 가치는 어느정도가 될 지를 말입니다.
지금 우리가 풀고자하는 문제의 가치에 대해서 고민해보셨으면 좋겠습니다. 데이터를 축적하고 가공해서 모델링하기 전에 왜 그런 작업을 해야하는 지 말이죠. 인공지능으로 올바른 방법으로 접근하기 위해서는 데이터를 잘 살펴보아야 한다는 말씀을 드리고 싶습니다.
● 수많은 데이터도 내 눈으로 직접보자. 그리고 궁금해하자.
● EDA (Exploratory Data Analysis)를 진행해보자.
● 데이터의 분포가 왜 이렇게 나왔을까? 진짜 이렇게 생각해도 될까? 오류는 없을까? 확인 또 확인하자.
그렇다면 EDA가 필요한 이유는 무엇일까요?
1. 데이터의 분포 및 값을 검토함으로써 데이터가 표현하는 현상을 더 잘 이해하고, 데이터에 대한 잠재적인 문제를 발견할 수 있습니다. 이를 통해, 본격적인 분석에 들어가기에 앞서 데이터의 수집을 결정할 수 있습니다.
2. 다양한 각도에서 살펴보는 과정을 통해 문제 정의 단계에서 미쳐 발생하지 못했을 다양한 패턴을 발견하고, 이를 바탕으로 기존의 가설을 수정하거나 새로운 가설을 세울 수 있습니다.
알고리즘 트레이딩, 인공지능 무엇이든지 데이터의 중요성을 빼놓고 얘기할 수 없습니다.
트레이딩으로 시작했지만, 결론은 데이터를 강조드리고 있는데요. GIGO 다시한번 생각해보시고 앞으로 여러분의 업무에 있어서 데이터를 다루게 되실 때에도 꼭 여기서 드린 팁들을 활용해보시면 좋을 것 같습니다. 인공지능과 데이터에 관심이 생기고 스타트업에 종사하고 계신다면 데이터에 대해서 진지하게 생각해보시면 좋겠습니다. 여러분이 보시는 지표가 정말 그 목표를 달성하기 위한 지표일지를 말이죠.
스파크플러스 입주사, 코드스테이츠가 이야기하는 ‘인공지능 개발자는 알고리즘 트레이딩에 성공하나요?’ 흥미롭게 보셨나요?
알고리즘 트레이딩은 바쁜 현대인을 위해 고안된 주식거래 방법이자 오랜 시간을 들여 큰 수익을 버는 것이 아닌 작은 수익을 최대한 많이 모아서 단기간에 수익을 내기 위한 주식거래 방법인데요. 이는 초단기 주식거래에 사용하는 만큼 세계 정세나 기업 이슈 같은 외부 요인에 미리 대처할 수는 없어 외부 요인에 따라 주식투자자가 매도와 매수를 결정할 필요가 있습니다. 이처럼 이미 개발된 알고리즘 트레이딩 프로그램은 투자자의 성향을 완전히 맞출 수는 없다는 단점이 있죠. 하지만 이미 우리가 자주 사용하는 검색엔진이나 사회관계망서비스(SNS)는 알고리즘의 거대한 집합체라고 할 수 있으며, 우리의 삶에서 뗄레야 뗄 수 없는 존재가 되었습니다.
스파크플러스에는 이러한 알고리즘을 기반으로 서비스를 운영하는 수많은 기업들이 입주해 계시는데요. 저희는 앞으로도 빠르게 변해가는 시대에 발맞춰 여러분의 성장과 성공에 집중할 수 있는 오피스가 될 수 있도록 더욱 노력할 예정입니다.
[스플X코드스테이츠]의 콜라보 콘텐츠는 한 달에 한 번 발행되고 있는데요.
다시 찾아올 코드스테이츠와의 콜라보 콘텐츠, 많이 기대해 주세요!
▼ 스타트업부터 대기업까지 함께하는 스파크플러스 더 알아보기 ▼