Build 06. 자동매매에서 먼저 발목을 잡은 건 전략이 아니라 데이터였다 — 정합성과 파이프라인을 맞춰간 기록

자동매매 시스템이 불안정한 데이터와 씨름하는 장면의 일러스트

자동매매를 처음 코드로 옮기기 시작할 때는 대개 전략에 시선이 먼저 갑니다. 어떤 기준으로 진입할지, 어떤 조건을 붙일지, 어떤 흐름에서 추세를 볼지를 더 많이 고민하게 됩니다. 저 역시 초반에는 그쪽이 더 중요하다고 생각했습니다. 자동매매는 결국 전략을 구현하는 일처럼 보였기 때문입니다.

그런데 실제로 시스템을 움직이기 시작하고 나니, 제일 먼저 발목을 잡은 건 전략 그 자체가 아니었습니다. 오히려 더 크게 다가온 건 데이터가 얼마나 안정적으로 맞아떨어지느냐, 그리고 그 데이터를 어떻게 받아오고 유지하느냐 쪽이었습니다.

이번 글에서는 자동매매 봇 초기 단계에서 왜 데이터 정합성과 파이프라인 문제가 생각보다 훨씬 더 중요하게 느껴졌는지, 그리고 그걸 어떻게 하나씩 맞춰가기 시작했는지를 기록해보려고 합니다.

차트와 코드 결과가 어긋나는 데이터 정합성 문제를 보여주는 일러스트
초기 자동매매 단계에서는 전략보다 입력 데이터가 먼저 흔들리는 순간이 더 자주 보였습니다.
BUILD
처음엔 신호보다 데이터가 더 흔들렸다

초기 가동 단계에서는 전략 로직이 돌아가는 것처럼 보여도, 실제로는 입력값이 생각보다 자주 흔들렸습니다.

예를 들면:

  • JSON 파일 처리 중 일부 데이터가 누락되거나
  • 계산에 필요한 값이 일정하지 않게 들어오거나
  • 이전엔 잘 맞던 값이 어느 순간 어긋나는 식이었습니다

겉으로 보면 작은 차이처럼 느껴질 수 있지만, 자동매매에서는 이게 꽤 중요합니다. 왜냐하면 결국 시스템은 입력된 데이터가 맞다고 가정한 채 조건을 판단하기 때문입니다.

즉 전략이 아무리 좋아도, 그 전략이 기대고 있는 데이터가 흔들리면 결과 역시 흔들릴 수밖에 없습니다.

BUILD
트레이딩뷰와 코드 결과가 완전히 같지 않았다

이건 초기에 꽤 크게 체감했던 지점이었습니다.

차트를 볼 때는 트레이딩뷰를 기준으로 생각하게 되는데, 실제로 파이썬 코드로 지표를 계산하면 그 값이 완전히 똑같이 나오지 않는 순간들이 있었습니다.

원인은 아주 거창하지 않을 수도 있습니다.

  • 캔들 기준 처리 차이
  • 데이터 수집 타이밍 차이
  • 반올림 방식 차이
  • 라이브러리 계산 방식 차이

하지만 자동매매에서는 이런 작은 차이도 결국 신호 차이로 이어질 수 있습니다. 그래서 초반에는 “전략을 잘 짰는가”보다 먼저, 지금 내가 보고 있는 값이 정말 같은 기준으로 계산되고 있는가를 더 자주 확인하게 됐습니다.

API 타이밍과 로그, 저장 흐름을 조정하며 데이터 파이프라인을 안정화하는 장면의 일러스트
전략을 더 다듬기 전에, 데이터가 들어오는 흐름 자체를 안정화하는 일이 먼저 필요했습니다.
BUILD
그래서 전략보다 먼저 파이프라인을 손보게 됐다

원래는 전략을 더 다듬고 싶었습니다. 조건을 더 예쁘게 만들고, 더 나은 진입과 청산 기준을 붙이고 싶었습니다.

그런데 실제로는 그보다 먼저 해야 할 일이 보였습니다. 바로 데이터가 들어오는 흐름 자체를 안정화하는 일이었습니다.

그래서 초반에는 이런 쪽을 먼저 손보게 됐습니다.

  • 파일 기반 저장 흐름 정리
  • JSON 처리 방식 점검
  • 누락 발생 구간 확인
  • OKX API 호출 주기 조정
  • 계산 타이밍 맞추기

이건 겉으로 보면 전략 개발보다 덜 멋져 보일 수 있습니다. 하지만 실제로는 이 단계가 훨씬 더 중요했습니다.

왜냐하면 자동매매는 결국 신뢰할 수 있는 입력 위에서만 전략이 의미를 가지기 때문입니다.

BUILD
오차를 줄인다는 건 성능보다 기반을 맞추는 일이었다

초기 단계에서 목표는 완벽한 일치가 아니었습니다. 그보다는 시스템이 감당 가능한 수준으로 오차를 줄이는 것이 더 중요했습니다.

그래서 여러 조정을 거치며:

  • API 호출 간격을 손보고
  • 저장 흐름을 정리하고
  • 계산 기준을 다시 맞춰가면서

지표 오차를 대략 1% 이내 수준으로 줄이는 방향으로 갔습니다.

이건 단순히 숫자를 맞추는 문제가 아니라, 이 시스템 위에 다음 단계를 올려도 되는지를 판단하는 문제에 더 가까웠습니다.

즉 오차를 줄인다는 건 성능을 자랑하는 일이 아니라, 이 파이프라인을 믿고 다음 기능을 붙여도 되는가를 확인하는 과정이었습니다.

BUILD
결국 자동매매 초반에는 전략보다 데이터가 먼저였다

돌이켜보면 초반 자동매매 구축기에서 가장 크게 남은 건, 전략보다 데이터에 대한 감각이었습니다.

처음에는:

  • 어떤 전략이 더 좋아 보이는지
  • 어떤 조건이 더 똑똑해 보이는지
  • 수익률을 어떻게 높일지

이런 것들에 더 관심이 갔습니다.

하지만 실제로는:

  • 데이터가 안정적으로 들어오는가
  • 계산이 같은 기준으로 맞는가
  • 파이프라인이 흔들리지 않는가
  • 입력값을 얼마나 믿을 수 있는가

이런 것이 훨씬 더 중요하게 다가왔습니다.

그래서 제게 자동매매의 초반은 전략을 뽐내는 시기라기보다, 전략이 기대고 서 있을 기반을 겨우 맞춰가던 시기에 더 가까웠습니다.


다음 글 예고

다음 글에서는 초기 시스템 위에 AI 필터를 붙여보기 시작하면서 어떤 애매함이 생겼는지, 왜 사람 눈에는 쉬워 보이는 판단이 AI에겐 의외로 까다로웠는지를 이어서 정리해보려고 합니다.


이 글은 AI의 도움을 받아 작성되었습니다.

데이터 기반을 맞춘 뒤 더 신뢰할 수 있는 자동매매 시스템이 되는 장면의 일러스트
결국 자동매매 초반에는 전략보다도, 그 전략이 기대고 설 데이터 기반을 맞추는 일이 더 중요했습니다.
Series
앞선 글 이어보기

전략을 코드로 옮기고 첫 가동을 시작하던 1편을 먼저 보고 오시면, 이번 2편의 데이터 정합성 이야기가 더 자연스럽게 이어집니다.

Build 05 보러 가기

댓글 남기기