이 글은 특정 종목이나 매매 시점을 추천하는 글이 아닙니다. 투자 전략을 자동화할 때 필요한 데이터의 종류와, 그것을 가져오며 겪은 경험을 정리한 글입니다.
전략을 자동화하려면, 결국 데이터다
규칙 기반으로 움직이는 투자 시스템을 만들려면, 그 시스템이 판단할 재료가 있어야 한다. 사람이 뉴스를 보고 차트를 보며 판단하듯, 자동 시스템도 무언가를 ‘보고’ 판단한다. 그 ‘보는 대상’이 바로 데이터다. 데이터가 없으면 아무리 좋은 전략도 한 발짝도 못 움직인다. 데이터는 자동 투자 시스템의 연료인 셈이다.
그런데 막상 시작하려고 보니, “그래서 대체 어떤 데이터가 필요하고, 그걸 어디서 어떻게 가져오지?”부터 막막했다. 오늘은 그 이야기를 해보려 한다.
어떤 데이터가 필요한가
투자 판단에 쓰이는 데이터는 크게 세 종류로 나눌 수 있다. 표로 정리하면 이렇다.
| 데이터 종류 | 무엇인가 | 예시 |
|---|---|---|
| 시세 데이터 | 가격이 어떻게 움직였는지 | 주가, 거래량 |
| 재무 데이터 | 기업의 살림살이가 어떤지 | 매출, 이익, 부채 |
| 거시 데이터 | 경제 전체의 환경이 어떤지 | 금리, 환율, 물가 |
📌 시세 · 재무 · 거시 데이터 시세 데이터는 “가격이 얼마였나”에 대한 것이고, 재무 데이터는 “그 기업이 돈을 잘 버는가”에 대한 것이다. 거시 데이터는 개별 기업을 넘어 “경제 전체가 지금 어떤 상황인가”를 보여준다. 어떤 전략을 쓰느냐에 따라 이 중 필요한 데이터가 달라진다.
내 전략이 무엇을 보고 판단하느냐에 따라, 이 중에서 필요한 데이터가 정해진다. 예를 들어 가격 흐름만 보는 전략이라면 시세 데이터면 충분하지만, 시장 국면(레짐)까지 따지려면 금리 같은 거시 데이터도 필요해진다.
API — 데이터를 가져오는 통로
그럼 이 데이터는 어떻게 손에 넣을까. 일일이 손으로 옮겨 적을 수는 없으니, 프로그램이 알아서 받아오게 해야 한다. 이때 쓰는 것이 API다.
📌 API란? 프로그램끼리 데이터를 주고받는 ‘통로’다. 내 시스템이 데이터 제공처에 “이 종목의 지난 1년 주가를 줘”라고 요청하면, 그쪽에서 데이터를 정해진 형식으로 보내준다. 사람이 웹사이트를 눈으로 보는 대신, 프로그램이 데이터를 직접 받아오는 방법이라고 보면 된다.
전체 흐름을 그림으로 보면 이렇다.

먼저 내 전략이 무엇을 보고 판단할지 정하고(①), 그에 따라 필요한 데이터를 추리고(②), API로 데이터 제공처에 요청해서 받아온다(③). 그리고 받은 데이터가 정말 내가 원하던 것인지 확인하고(④), 문제없으면 시스템에 넣어 돌린다(⑤). 말로만 들으면 순서가 깔끔해 보인다. 그런데 실제로 해보니, 저 ④번 ‘확인·검증’ 단계가 가장 큰 벽이었다.
그런데, 막상 해보면 여기서 막힌다
솔직히 처음엔 API로 데이터를 어디서 어떻게 가져오는지부터가 막막했다. 그런데 데이터 제공처를 찾은 뒤에도 문제는 계속됐다.
가장 답답했던 건, 그 API가 정확히 어떤 데이터를 주는지 미리 알기가 어렵다는 점이었다. 제공처의 설명 문서를 아무리 꼼꼼히 읽어도, “이 통로로 요청하면 대체 어떤 정보들이 딸려 오는지”가 명확하게 안 나오는 경우가 많았다. 결국 직접 한 번 호출해서 받아봐야 무엇이 오는지 알 수 있었다.
여기에 혼란을 더한 게 하나 더 있었다. 같은 데이터 제공처라도, 무료로 쓸 때와 돈을 내고 쓸 때 주는 데이터가 달랐다. 무료로는 일부만 찔끔 열어주고, 더 많은 데이터나 더 긴 기간의 자료는 유료로만 받을 수 있는 식이다. 게다가 고를 수 있는 옵션이 어찌나 많은지, 각 옵션이 정확히 무엇을 뜻하고 무엇을 주는지 파악하는 것부터가 일이었다. 이름만 봐서는 도무지 감이 안 잡혀서, 이것 역시 하나하나 눌러보고 받아봐야 겨우 이해되곤 했다.
더 힘든 건 그다음이었다. 어렵게 데이터를 받아냈는데, 그 안에 내가 진짜 원하는 항목이 들어 있는지 아닌지를 가려내기가 또 만만치 않았다. 받은 데이터가 잔뜩 쌓여 있어도, 그중 내 전략에 꼭 필요한 그 하나가 있는지 없는지, 있다면 어느 것인지를 일일이 확인하고 검증하는 일은 생각보다 훨씬 품이 많이 들었다. “문서를 봐도 모르고, 받아봐도 헷갈린다”는 게 초보 시절 내가 이 단계에서 느낀 솔직한 심정이었다.
그래서 배운 것
이 과정을 겪으며 얻은 결론은 단순하다. 데이터는 머리로 이해하기 전에, 일단 직접 받아보고 눈으로 확인해야 한다는 것이다. 문서만 읽고 “이 데이터면 되겠지” 하고 넘어가면 나중에 반드시 발목이 잡힌다. 작게라도 한 번 호출해서, 무엇이 오는지, 내가 원하는 게 그 안에 있는지를 눈으로 직접 확인하는 습관 — 이게 데이터를 다루는 첫걸음이었다. 돌아보면 당연한 말 같지만, 처음엔 이 당연한 걸 몰라서 한참을 헤맸다.
정리하며
자동 투자 시스템의 연료는 데이터다. 크게 시세·재무·거시 세 종류가 있고, 이걸 API라는 통로로 받아온다. 다만 API 문서만 봐서는 무엇이 오는지 알기 어려워서, 직접 호출해 받아보고 원하는 데이터가 있는지 눈으로 확인하는 과정이 꼭 필요하다.
이렇게 데이터를 손에 넣은 다음에는, 그 지저분한 데이터를 어떻게 정리하고 다듬어 전략에 넣을지가 또 하나의 숙제로 남는다. 그 이야기는 나도 아직 씨름하는 중이라, 좀 더 정리가 되면 그때 나눠보고 싶다.
※ 이 글은 개인의 학습 과정을 공유하기 위한 것으로, 투자 권유나 자문이 아닙니다. 모든 투자의 판단과 책임은 투자자 본인에게 있습니다.