짧게 말하면
봇 판매자들은 전략이 «무작위 진입을 이긴다»는 말을 좋아합니다. 연구자들도 이 시험을 좋아하고, 실제로 좋은 시험입니다. 다만 특정한 방식으로 틀어질 수 있고, 저희는 그렇게 틀렸습니다.
저희가 페이퍼 트레이딩 중인 규칙 하나(내부 이름 F5-P)를 시험했습니다. 거래대금 기준 상위 10개 USDT 무기한 선물 중 하나를 돌파 때 롱으로 사고, 손절 3%, 익절 20%, 48시간 시간 청산을 씁니다. 무작위 진입 1,000세트와 비교하니 1번째 백분위가 나왔고, 저희는 이것을 «신호가 무작위보다 못하다»로 읽었습니다.
대조군이 틀렸습니다. 대조군은 F5-P 가 매매한 날에서만 무작위 진입을 뽑았는데, 그날을 고르는 것은 같은 날 나중에 나오는 돌파입니다. 돌파로 끝날 것을 이미 아는 날의 03:00 에 들어가는 진입은 무작위가 아닙니다. 미래를 본 것입니다.
무작위 진입을 하루 중 시각으로 나눠 보니, 그날 첫 돌파 전에 들어간 진입은 매매당 +0.83% 를 벌었습니다. 첫 돌파 시각 이후(같은 시각 포함)에 들어간 진입은 −0.14% [−0.59, +0.34], F5-P 자신은 평균 −0.09% [−0.67, +0.50] 였습니다. 저희는 «무작위보다 못하다»는 해석을 철회했습니다. 2024-02-01..2026-07-31 에서 두 구간은 모두 넓고 0 을 포함합니다. 둘 사이의 차이는 검정하지 않았으므로, F5-P 가 그날 첫 신호 시각 이후에 들어간 무작위 상위 10개 롱보다 낫다거나, 못하다거나, 같다는 결론은 내리지 않습니다.
아래 숫자는 모두 한 기간, 2024-02-01 부터 2026-07-31 까지에 대한 저희 측정값이며, 체결마다 수수료 0.05% 와 슬리피지 0.2%, 그리고 펀딩비를 넣었습니다. 데이터는 USDT 무기한 선물 1시간봉으로, Binance·OKX 과거 자료가 섞여 있고 출처가 바뀌는 지점은 심볼과 시각마다 다르며, 펀딩비는 Binance 값을 대리로 씁니다. 고정된 연구 패널은 출처 변경으로 마스크한 시각에 걸치는 매매를 건너뜁니다. 표본내 결과입니다. 그 기간의 과거를 설명할 뿐이고 미래 수익에 대해서는 아무것도 말하지 않습니다.
약점부터
- 설명은 재실행이 아니라 분할에서 나왔습니다. 이미 있던 무작위 매매를 그날 첫 신호 시각으로 나눴을 뿐, 원래 시험을 고친 설계로 다시 돌리지는 않았습니다. «고친 시험이 보여준다»가 아니라 «분할이 보여준다»로 읽어 주십시오.
- 두 무작위 묶음은 서로 다릅니다. 원래 시험은 1,000세트를 썼습니다. 분할은 청산 조건이 같은 별도 연구의 시드 20개를 씁니다. 아래의 +0.31% 는 원래 +0.378% 를 재현한 값이 아닙니다.
- «이후» 묶음도 여전히 그날에 조건이 걸려 있습니다. F5-P 가 신호를 낸 날만 씁니다. 첫 신호 시각 뒤에는 그 사실을 알 수 있으니 실전 트레이더도 쓸 수 있는 정보이지만, 깨끗한 무조건 대조군은 아닙니다.
- 두 번째 대조군은 다른 그림을 보여줍니다. F5-P 와 무관하게 날짜를 고르고 청산은 같게 한 무작위 진입은 F5-P 보다 더 많이 잃었습니다(아래 참조). 차이는 매매당 약 +0.55 퍼센트포인트이고, 신뢰구간의 아래 끝은 거의 0 입니다. 둘 다 비용 뒤 음수입니다.
- 생존 편향. 2026-06-14 이전에 상장폐지된 코인은 저희 데이터에 없습니다. 이런 롱 쪽 결과를 실제보다 좋게 보이게 합니다.
무작위 진입 대조군은 무엇을 위한 것인가
위약 시험은 한 가지를 묻습니다: 전략의 판단이 무언가를 보태는가? 그 답을 얻으려면 대조군은 전략이 하는 모든 것을 따라 하되 그 판단만 빼야 합니다. 같은 코인, 같은 청산, 같은 비용, 같은 보유 시간. 진입만 우연으로 바꿉니다.
그래서 너무 많이 따라 하는 대조군을 만들기 쉽습니다. 전략이 어느 날 매매했는지까지 따라 하고, 그 날들이 전략이 나중에야 가진 정보로 골라졌다면, 대조군은 전략이 가진 적 없는 미래의 한 조각을 물려받은 것입니다.
저희가 돌린 것
원래 대조군은 무작위 매매 1,000세트를 뽑았습니다. 매매마다 그날의 상위 10개 목록에서 코인 하나를, 그날 안에서 균등하게 무작위인 시각 하나를 고르고, F5-P 의 손절·익절·시간 청산·비용을 그대로 썼습니다. 이 기간 F5-P 매매 529건에 대해:
| 매매당 평균 | |
|---|---|
| 무작위 대조군 (1,000세트) | +0.378% |
| F5-P | −0.086% |
| 무작위 세트 사이에서 F5-P 의 백분위 | 1번째 |
독립 검토가 이 산수를 다시 확인했고 맞았습니다. 산수는 맞았고 설계가 틀렸습니다. 산수를 확인해도 대조군이 무엇에 조건이 걸려 있는지는 시험되지 않습니다.
무엇이 틀렸나
대조군의 날짜는 이 기간 F5-P 자신의 진입일 274일이었습니다. F5-P 는 돌파가 나오면 들어갑니다. 그러니 그 날들은 구성상 모두 돌파를 품고 있고, 그 움직임의 일부는 자정 뒤, 신호 전에 일어납니다. 그날 일찍 들어간 무작위 진입은 나중에 돌파가 확인해 줄 움직임을 그대로 탑니다.
날짜 선택만으로도 결과가 크게 움직입니다. 별도의 시드 20개 무작위 연구(같은 3% / 20% / 48시간 청산)에서:
| 무작위 진입 | 매매 수 | 매매당 평균 [95% CI] |
|---|---|---|
| F5-P 진입일 | 2,928 | +0.31% [−0.07, +0.70] |
| 그 밖의 모든 날 | 6,975 | −0.95% [−1.16, −0.73] |
분할
F5-P 진입일의 무작위 진입을, 그날 F5-P 첫 진입 시각보다 앞인지로 나눴습니다:
| 묶음 | 매매 수 | 매매당 평균 [95% CI] |
|---|---|---|
| 무작위, 첫 신호 시각 전 | 1,340 | +0.83% [+0.34, +1.33] |
| 무작위, 첫 신호 시각 이후(같은 시각 포함) | 1,588 | −0.14% [−0.59, +0.34] |
| F5-P 자신 | 529 | −0.09% [−0.67, +0.50] |
플러스 결과는 그날을 정의하는 돌파 전에 들어간 진입에 몰려 있습니다. 실전 시스템은 그날을 미리 알 수 없습니다. 신호 시각 뒤로는 2024-02-01..2026-07-31 에서 무작위 진입과 F5-P 모두 구간이 넓고 0 을 포함합니다. 둘 사이 차이의 검정은 하지 않았으므로, 이 분할은 어느 쪽이 나은지도, 둘이 같은지도 말하지 않습니다.
시각이 아니라 날짜의 문제입니다. 매일 00:00 UTC 에 들어가는 고정 진입, 가장 단순한 진입조차 날짜를 사후에 고르면 강해 보입니다:
| 00:00 UTC 진입 | 매매 수 | 매매당 평균 [95% CI] |
|---|---|---|
| F5-P 진입일 | 1,679 | +0.90% [+0.42, +1.38] |
| 그 밖의 모든 날 | 4,603 | −1.28% [−1.53, −1.01] |
미래를 보지 않는 무작위 대조군과 비교하면
같은 빈도, 같은 청산으로, F5-P 와 무관하게 뽑은 날짜에 무작위 진입도 돌렸습니다. 이 대조군은 매매당 −0.577% [−0.771, −0.390] 를 잃었고, F5-P 는 −0.086% [−0.666, +0.504] 였습니다. 시드 140개를 합치면 F5-P 가 매매당 +0.55 퍼센트포인트 앞섰고, 날짜 짝 신뢰구간은 [+0.004, +1.10] 입니다. 아래 끝이 거의 0 입니다. 별도 진단으로 F5-P 가 고른 코인은 그대로 두고 진입을 같은 달의 무작위 날짜, 무작위 시각으로 옮겼습니다. 차이는 +0.30 퍼센트포인트 [−0.28, +0.91] 였습니다. 이 진단은 그 달의 뒤쪽 날짜도 쓰므로 그 자체가 미래를 봅니다: 거래할 수 없고 기준선도 아닙니다. 차이의 대략 절반은 코인 선택, 절반은 타이밍에서 온다는 거친 힌트로만 읽어 주십시오. 어느 쪽도 혼자서는 뚜렷하지 않습니다.
두 대조군을 함께 읽으십시오. 타이밍 없는 무작위 롱과 비교하면 F5-P 가 덜 잃었습니다. 이 비교는 차이 자체를 검정한 것이고, 그 구간은 0 바로 위에 있습니다. 같은 날 첫 신호 시각 이후에 들어간 무작위 롱과는 차이를 검정하지 않았으므로 어느 쪽으로도 결론을 내리지 않습니다. 어느 경우든 이 기간 비용 뒤 평균은 음수입니다.
같은 결함, 두 번째
나중에 다른 잣대에서도 같은 실수를 찾았습니다. 이전 비교는 F5-P 진입일마다 동일가중 상위 10개 바스켓을 00:00 부터 하루 내내 보유했습니다. 그 274일 동안 바스켓은 00:00 부터 첫 진입 시각까지 +1.70% 올랐습니다. 이 기간 912일 전체의 같은 시각대 평균은 −0.04% 였습니다. 무작위 진입과 똑같이, 바스켓이 돌파 전 상승분까지 받고 있었던 것입니다. F5-P 를 바스켓보다 뒤처진 것으로 보였던 그 비교는 철회했습니다.
지금 쓰는 잣대는 같은 동일가중 상위 10개 바스켓을, 매일 F5-P 자신의 직전 30일 평균 노출로 다시 맞춘 노출로 보유하는 것입니다. 과거 정보만 쓰므로 트레이더가 실제로 보유할 수 있습니다. 한계가 둘 있습니다. 기간의 처음 30일은 이력이 짧고, 첫날은 노출이 0 입니다. 그리고 바스켓 노출을 날마다 바꾸는 데 드는 추가 매매 비용은 청구하지 않았고 측정하지도 않았습니다. 이 잣대 대비 이 기간 F5-P 의 차이는 하루 +0.008% [−0.024, +0.046] 입니다. 구간이 0 을 포함하므로 둘을 구별할 수 없습니다. 대신 바스켓을 F5-P 의 정확한 보유 시각에 맞추면, 청산 시각과 바스켓 자체 비용을 어떻게 세느냐에 따라 답이 하루 −0.042% 에서 +0.021% 까지 갈립니다. 이 판은 코인 선택을 점검하는 용도로만 보고합니다.
참고로 그 바스켓 자체는 이 기간 비용 뒤 하루 −0.121% 를 잃었습니다. 이 기간에는 상위 10개 롱 노출이 손실 포지션이었습니다. 이 날짜들에 대한 서술이지 예측이 아닙니다.
직접 위약 시험을 할 때의 점검표
- 대조군은 어디서 뽑나? 전략과 같은 날짜나 코인을 쓴다면, 그 날짜·코인을 어떻게 골랐고 그 정보가 언제 존재했는지 물으십시오.
- 대조군이 표본을 정의한 정보보다 먼저 들어갈 수 있나? 03:00 의 대조군 진입이 15:00 의 사건으로 고른 날에 있다면 미래를 보고 있는 것입니다.
- 0 말고 실제로 보유할 수 있는 기준선이 있나? 과거 정보만으로 만든, 같은 평균 노출의 수동 바스켓과 비교하십시오.
- 산수뿐 아니라 설계도 검토했나? 저희 산수는 독립 확인을 통과했습니다. 결함은 대조군이 무엇을 알 수 있었느냐에 있었습니다.
- 두 대조군이 같은 답을 내나? 같은 날 대조군과 타이밍 없는 대조군의 답이 다르면 둘 다 보고하십시오.
이것이 바꾸는 것, 바꾸지 않는 것
한 기간의 규칙 하나를 읽는 방식이 바뀝니다: «무작위보다 못하다»는 서술도, 비용 뒤 우위가 있다는 주장도 없어졌습니다. F5-P 가 앞으로 이길지 질지는 말하지 않고, 다른 전략에 대해서도 아무것도 말하지 않습니다. 이 규칙의 다음 판단은 저희 페이퍼 실전 기록에서, 0 이나 옛 무작위 대조군이 아니라 직전 30일 노출 바스켓과 비교해 이뤄집니다.
다른 검사들이 이 사이트에서 전략을 어떻게 내렸는지는 우리는 전략이 죽었다고 어떻게 판단하는가에 있습니다. 저희 것을 포함해 어떤 백테스트에든 던질 질문은 검증 점검표에 정리했습니다.
자주 묻는 질문
백테스트의 미래 참조 편향이란? 아직 존재하지 않던 시점에 정보를 쓰는 것입니다. 보통은 전략 안에 있습니다. 이번에는 대조군 안에 있었습니다: 대조군의 날짜를 그날 나중에 일어난 사건이 골랐습니다.
«무작위 진입을 이긴다»는 좋은 시험인가? 네, 무작위 진입이 전략이 갖지 못한 정보 없이 뽑혔다면요. 비교를 믿기 전에 무작위 날짜와 코인을 어떻게 골랐는지 물으십시오.
돌파 전략은 안 된다는 뜻인가? 위에 적은 무기한 선물 1시간봉 패널, 2024-02-01 부터 2026-07-31 까지, 체결마다 수수료 0.05% 와 슬리피지 0.2%, 펀딩비를 넣었을 때, 돌파 규칙 하나가 공정한 대조군 대비 비용 뒤 우위를 보이지 않았다는 뜻입니다. 다른 규칙, 거래소, 기간은 다루지 않습니다.
공개: 저희 가격 데이터는 USDT 무기한 선물 1시간봉으로, Binance·OKX 과거 자료가 섞여 있고 출처가 바뀌는 지점은 심볼과 시각마다 다르며, 펀딩비는 Binance 값을 대리로 씁니다. PRUVIQ 는 거래소 레퍼럴 수수료를 받으며, 배분은 수수료 페이지에 있습니다. 이 글에는 레퍼럴 링크가 없습니다. 모든 수치는 2024-02-01..2026-07-31 (표본내) 저희 측정값입니다. 제3자 자료는 쓰지 않았습니다.