Jev가 Bitcoin을 예측할 수 있을까? 지표를 거꾸로 읽고 있다
요약
본 기사는 AI 모델 Jev가 비트코인(BTCUSDT)의 다음 봉 움직임을 예측하는 능력을 테스트한 결과를 다룹니다. Jev는 기술적 지표를 정확히 읽었으나, 실제 시장 예측에서는 일반적인 부스팅 모델보다 낮은 성능을 보였습니다. 이는 AI가 교과서적인 데이터 패턴은 이해하지만, 비정형적이고 복잡한 금융 시장의 역동성을 포착하는 데 한계가 있음을 시사합니다.
핵심 포인트
- Jev는 기술 지표를 수치적으로 잘 읽었으나, 실제 예측 성능은 기대에 미치지 못했습니다.
- AI 모델이 교과서적인 패턴을 이해해도, 실시간 금융 시장의 비정형성은 예측 난이도를 높입니다.
- 단순히 지표를 많이 제공하는 것보다, 데이터가 가진 맥락적 해석 능력이 중요합니다.
Jev가 비트코인을 예측할 수 있을까? 테스트 결과는 '아니오'였다. 나는 Jev에게 일반적인 그래디언트 부스팅 모델(gradient-boosting model)이 사용한 것과 동일한 12가지 기술적 지표(technical indicators)를, 한 번도 본 적 없는 1,500개의 BTCUSDT 5분 봉 데이터로 제공했다. Jev는 통제 질문들(control questions)에 대해 99.8%의 정확도로 정답을 맞혔기 때문에, 수치 자체는 잘 읽고 있었다. 하지만 다음 봉이 상승 마감할지 여부라는 실제 질문에서는 AUC 점수 0.486점(동전 던지기 수준은 0.500)을 기록했다. 반면, 부스팅 모델은 0.522점을 기록했다. Jev를 부스팅 모델 위에 추가하거나 필터로 혼합하여 사용해도 성능 향상은 없었다.
흥미로운 부분은 '왜' 그런지이다. Jev는 지표들을 교과서처럼 읽지만, 5분 단위의 비트코인 시장은 교과서처럼 움직이지 않는다.
이 테스트를 진행한 이유
이것은 시리즈의 파트 5이다. 파트 4에서는 QuantDinger가 Jev에게 진입 주문을 거부(veto)하게 하는 방법을 다루었다. 그 규칙들은 합리적이었지만, 모두 Jev가 시장을 올바른 방식으로 읽는다는 가정하에 세워졌으며, 이 게이트를 백테스트(backtest)하여 확인할 수는 없다.
그래서 나는 이 가정을 가장 좁은 형태로 분리하여 테스트해 보았다. Jev는 JSON 형태의 "상태(state)"를 입력받고 질문 유형을 지정한 후 확률을 반환하기 때문에, 나는 깨끗하게 정제된 지표들과 방향에 대한 단 하나의 질문만 제공하고, 동일한 수치를 받은 일반적인 통계 모델과 비교했다. 아무도 나에게 이 테스트 비용을 지불하지 않았으며, 나는 Jev를 기반으로 무언가를 판매하지 않는다.
테스트 방법
임무는 의도적으로 좁게 설정되었다: BTCUSDT 5분 봉이 마감될 때, 다음 봉이 시가보다 높은 가격에 마감할 것인가?
| 설정 | 값 |
|---|---|
| 데이터 | Binance의 공개 API를 사용한 BTCUSDT 5m |
| ... |
테이블 내용보다 더 중요한 두 가지 사항이 있다.
기준선(Baseline). "Jev가 53% 정확하다"는 것만으로는 아무 의미가 없다. 만약 한 줄짜리 규칙도 53%의 정확도를 보인다면, Jev는 지연 시간과 비용만 추가할 뿐이다. 따라서 여기 제시된 모든 결과는 동일한 수치를 공급받은 그래디언트 부스팅 모델과 비교된다.
Jev에게 공정한 기회 부여. 저는 원본 캔들 데이터를 그대로 던져주지 않았습니다. 51개의 지표(indicators)를 검증 기간(validation window)에서 가장 중요하다고 판단되는 12개로 줄였고 (저는 이 세트를 A_top12라고 부릅니다), Jev에게는 이를 숫자와 정의가 포함된 형태로, 그리고 일반 영어 설명(plain-English description) 형태로 모두 제공했습니다. 데이터는 블라인드 상태였습니다: 심볼도 없고, 날짜도 없고, 가격도 없었기 때문에 Jev는 비트코트 역사상 유명한 날을 인식할 수 없었습니다. 또한 모든 요청에는 데이터 안에 답이 존재하는 두 가지 제어 질문(control questions)("RSI가 50 이상인가?")이 포함되었습니다. 만약 Jev가 이 질문들에 실패했다면, 주요 결과는 예측(prediction)에 관한 것이 아니라 구문 분석(parsing)에 관한 것이었을 것입니다.
지표들이 실제로 무언가를 예측하는가?
조금은 그렇습니다. 전체 테스트 기간 동안:
| 방법 (181,290개 테스트 캔들) | 정확도 (Accuracy) | AUC (95% 신뢰구간) |
|---|---|---|
| 항상 기본 비율 예측 (Always predict the base rate) | 49.9% | 0.500 |
| ... |
작지만 실제적인 수치입니다. A_top12는 모든 구간에서 유효했습니다: 2025년 상반기(H1)에 AUC 0.529, 2025년 하반기(H2)에 0.524, 그리고 2026년에 0.527을 기록했습니다. 이 신호는 단기적인 **역전(reversal)**입니다. 가격이 9기간 지수 이동 평균(EMA)보다 훨씬 높게 움직인 직후, 다음 5분봉은 약간 아래로 기울고, 반대 경우도 마찬가지입니다.
하지만 이는 거래 가능한 전략은 아니며, 누군가 질문하기 전에 미리 말씀드립니다.
심지어 모델이 가장 확신하는 상위 10%의 호출만 하더라도 비용을 제외하고 거래당 0.74 베이시스 포인트(basis points)를 벌어들입니다. Binance 현물 왕복 거래는 15에서 20을 소모합니다. 따라서 이것은 전략이 아닙니다. 측정 기준일 뿐이며, 그 역할에 충실하면 됩니다.
Jev가 다음 비트코트 캔들을 예측할 수 있는가?
이 1,500개의 캔들에서는 추측하는 것보다 나을 것이 없습니다.
| 방법 (1,500개 테스트 캔들 동일) | 제어 질문 정답 수 | 정확도 | AUC (95% CI) |
|---|---|---|---|
| Gradient boosting, A_top12 | n/a | 51.6% | 0.522 (0.493–0.550) |
| ... | |||
| 실제 오차 막대에 대해 솔직하게 말하자면: 1,500개의 샘플로 인해 이 간격들 중 어느 하나도 0.5와 겹치지 않으며, boosting 모델도 마찬가지입니다. 단독으로 이 표만으로는 두 모델을 구분할 수 없습니다. 결정적인 것은 다음 섹션인데, Jev가 단순히 노이즈를 발생시키는 것이 아니기 때문입니다. 방향 자체가 틀렸습니다. |
Jev가 틀리는 이유: 지표를 역방향으로 읽는다
각 지표와 상승 캔들 확률 간의 순위 상관관계(rank correlation)를 boosting 모델과 Jev 모델 각각에 대해 보여드립니다:
| 지표 | Boosting | Jev, 숫자 값 | Jev, 텍스트 설명 |
|---|---|---|---|
| EMA9로부터의 거리 (Distance from EMA9) | −0.80 | +0.83 | +0.72 |
| ... | |||
| Boosting 모델은 지난 3년간 데이터를 학습하여, 과도하게 움직인 추세(stretched move)는 되돌림 경향이 있다는 것을 파악했습니다. 하지만 Jev는 트레이딩 북에서 읽듯이 동일한 숫자를 해석합니다: EMA 위 가격, 높은 RSI 값, 연속된 네 개의 녹색 캔들, 따라서 더 큰 상승 여력이 있다고 판단하는 식입니다. 1,500개 캔들에 걸쳐 두 모델의 예측은 −0.71로 상관관계를 보이며, 이는 정반대에 가깝습니다. |
그리고 시장은 boosting 모델의 편을 들었습니다:
EMA보다 훨씬 아래에 있을 때, 다음 캔들 중 52.8%가 상승 마감했습니다. EMA보다 훨씬 위에 있을 때는 46.9%였습니다. Jev의 평균 예측은 반대 방향인 41.6%에서 54.4% 사이를 오갑니다.
솔직히 말해 저는 이것이 놀랍지 않습니다. 텍스트로 학습된 모델은 기술적 분석(technical analysis)이 무엇이라고 말하는지는 알지만, 한 시장이 특정 시간 프레임에서 실제로 어떻게 움직이는지에 대해서는 맞춰본 적이 없습니다. 5분봉 BTC의 경우 이 두 가지는 의견이 다릅니다.
Jev가 트레이드 필터로 작동할 수 있을까?
QuantDinger가 이를 사용하는 방식은 이러하니, 저는 세 가지 방식으로 테스트해 보았습니다:
| Jev 추가 방식 | 결과 | Boosting만 사용했을 때와 비교 |
|---|---|---|
| Jev가 boosting을 대체할 경우 | AUC 0.486 / 0.494 | 더 나쁨(worse) |
| ... |
필터 결과는 QuantDinger의 것처럼 Jev 게이트를 라이브 전략에 적용했을 때 제가 가장 우려하는 부분입니다. 저는 boosting이 가장 확신했던 300개 테스트 캔들(그 중 58.0%가 예측대로 움직인 경우)을 가져왔습니다. 수치 형식에서 Jev는 그중 6개와 일치했고, 294개에는 반대했습니다. Jev를 기반으로 구축된 게이트는 모델이 가장 선호하는 거의 모든 거래를 차단했을 것입니다.
Jev가 가격 데이터에서 실패한 것이 처음인가요?
아닙니다. 그전에 저는 금(XAUUSD)과 NZDUSD에 대해 네 가지 작은 테스트를 진행했습니다:
| 테스트 | Jev | 단순 기준선 (Simple baseline) |
|---|---|---|
| 다음 H1 캔들 상승? 원본 캔들, 500개 샘플 | AUC 0.49, 거의 모든 샘플에서 ~0.44라고 언급 | 능가할 것이 없음(nothing to beat) |
| ... |
BTC 테스트는 지금까지 가장 관대한 설정이었습니다: 사전에 계산된 지표, 두 가지 형식, 이미 신호로 선택된 지표들까지 갖추고 있었습니다. 그럼에도 불구하고 결과는 동일했습니다.
제가 검증하지 못한 것들
- 하나의 모델 버전. jev-1.13.0. 이후 버전은 다르게 작동할 수 있습니다.
- 하나의 시장, 하나의 시간 프레임. Binance의 BTCUSDT, 5분봉 캔들.
- 가격 데이터만. Jev는 정보가 가격에 없는 곳(뉴스, 공시 자료, 오더북 컨텍스트, 예측 시장)에서도 충분히 도움이 될 수 있습니다. 저는 그것을 테스트하지 않았습니다.
- 샘플 크기. 형식당 1,500개의 Jev 샘플. 역방향 읽기는 그 규모에서 명확하지만, AUC 포인트 몇 개 차이는 그렇지 않습니다.
- 프롬프팅(Prompting). 저는 Jev에게
QuantDinger 같은 게이트는 더 풍부한 상태(state)로 다른 질문을 던지기 때문에, 이것이 동일하게 실패할 것이라는 것을 증명하지는 못합니다. 하지만 어떻게 실패할 수 있는지는 보여줍니다: 시장이 되돌림(reverts)을 보일 때 모멘텀(momentum)을 읽는 AI는 최고의 진입 시점(entries)을 거부하고, 제 데이터에서도 실제로 그렇게 했습니다. 만약 Jev를 주문 앞에 배치하고 모든 역사적 신호의 상태를 저장하여 게이트를 먼저 백테스트(backtest)한다면 어떨까요? Jev의 가격 책정은 센트 단위로 비용이 들기 때문에, 실시간으로 알아내는 것보다 훨씬 저렴합니다.
모든 것이 GitHub에 있으니 다시 실행해 볼 수 있습니다: github.com/truongxxxx/jev-btc-test. Jev 부분은 약 $0.19가 소요됩니다.
다음으로, 마지막 부분입니다: 이 전체 시리즈를 통해 제가 결론 내릴 것은 무엇일까요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기


