2026년 11월 2일 · 리서치

백테스트의 달러는 USDC였다. 3월 11일, 그것은 87센트에 거래됐다.

백테스트의 달러는 USDC였다. 3월 11일, 그것은 87센트에 거래됐다.

설정에는 starting_capital: 100000이라고 적혀 있었고, 차트의 y축은 USD라고 되어 있었다. 로그의 모든 체결은 USDC 숫자였다. 그 런의 11개월 동안 두 사실은 같은 셀에 살았고, 아무도 둘을 갈라놓을 이유가 없었다.

그러다 Silicon Valley Bank가 파산했고, Circle은 USDC 준비금 중 $3.3 billion이 그곳에 묶여 있다고 밝혔으며, USDC는 87센트에 거래됐다. 우리의 "달러" 장부는 올랐다. USDC로 표시된 BTC는 폭등했다. 퍼프는 초록을 찍었다. 무위험 100,000으로 취급했던 그 현금이 바로 움직인 것이었다.

나는 아직도 USDC, USDT, USD를 한 열로 표시하는 리서치 파이프라인을 발견한다. 이것이 그 주말이다. 원장이 본 순서대로 분해한 것이다.

$100,000이라고 적힌 그 줄

페이퍼 계좌, USDC 마진 BTC 무기한, 소규모 롱. BTC 명목 30,000 USDC, 금요일 마크 약 $20,150에서 약 1.5 BTC. 다른 70,000은 USDC 담보로 앉아 있었다. 의도적으로 덜 투입한 상태였다. 전략을 워밍업하는 중이었다. 스택의 나머지는 현금에 앉아 있었다.

NAV 함수는 그런 함수들이 대개 하는 일을 했다. USDC 현금에 USDC 미실현 pnl을 더하고 그 합을 equity_usd라는 시계열에 썼다. 설정에는 내가 직접 쓴 주석이 있었다.

stablecoins = 1달러. FX를 이중으로 세지 마.

내가 뜻한 것은 이것이었다. USDT 펀딩 지급을 두 번 환산해 두 번째 달러 움직임으로 만들지 말 것. 내가 실제로 한 일은 파일 나머지 전체에 FX 환율을 1.0으로 얼려 버린 것이었다.

quote_asset = "USDC"

그 거래소는 USDC 거래소였다. 체결, 마진, 펀딩, 청산 마크, 로트 크기, 최소 명목, 전부. Hyperliquid, dYdX v3, Coinbase International, 그 밖의 12곳도 같은 모양이었다. 리서치 노트북은 BTCUSDC 캔들과 BTCUSD 캔들을 가져와, 거래에는 전자를 썼고, 차트에는 후자를 라벨로 붙였다. 달러로 그린 차트가 더 전문적으로 보였기 때문이다.

그리고 이것이 내가 아직도 이상한 시간에 생각하는, 작고 바보 같은 부분이다. 플로팅 라이브러리의 기본 축 제목은 "USD"다. 나는 그것을 덮어쓴 적이 없다. 사람들이 화면 옆을 지나가며, 그 시계열이 갖지 않은 단위를 읽었다.

금요일 밤, Circle의 트윗

2023년 3월 10일. SVB는 이미 사라졌다. Circle은 당시 약 $40 billion이던 USDC 준비금 가운데 $3.3 billion이 파산한 은행에 예치되어 있었다고 공시했다. 약 8%. Coinbase는 그날 밤 USDC 전환을 중단했다. 상환, 곧 실제 페그 메커니즘은 주말 동안 닫혔다.

백테스트에는 이 중 어떤 것에 대한 행도 없었다. 상환 중단 플래그도, 발행사 준비금 필드도, "월요일 전에 이 토큰을 달러로 바꿀 수 있는가"도 없었다. 있는 것은 종가였다. 금요일 종가는 우리 FX 파일에서 여전히 1.0000이었다. FX 파일이 USD로 시작하는 티커에는 무엇이든 1.0을 돌려주는 스텁이었기 때문이다.

나는 한때 USDT 프리미엄을 교과서적인 노이즈로 취급했다. 각주에 한 줄 적고 무시하는 그런 것. 우리는 주방에서 1.03이 "장부에 올릴 가치가 있는지"를 두고 20분을 논쟁한 적이 있다. 둘 다 사설을 쓰고 있었다. 그 페어는 시계열이다. 저장하라. 투표하지 마라.

0.8789

토요일 아침. CoinGecko의 USDC 저가는 $0.8789. 다른 테이프는 $0.87을 찍는다. 몇몇 DEX 풀은 $0.80을 통과한다. USDC를 담보로 잔뜩 넣은 DAI가 그것을 따라 내려간다. USDT는 반대 방향으로 간다. 어떤 화면에서는 $1.03, Kraken에서는 $1.06.

$0.87USDC 저가, 2023년 3월 11일
$26kKraken의 BTC/USDC 체결
13%$1로 표시된 현금의 구멍

스텁 FX 파일은 여전히 1.0을 돌려준다. 백테스트의 시계는 토요일이라는 것을 안다. 장부의 단위가 이제 부실 토큰이라는 것은 모른다.

Kraken의 26,000 체결

Bitstamp BTC/USD는 $20,200 주변을 돌고 있다. Kraken BTC/USDC는 $26,000 위에서 체결된다. 같은 비트코인이다. 두 번째 숫자는 달러 가격을 깨진 페그로 나눈 값에, 토요일의 얇은 USDC 북이 보태는 공기가 더해진 것이다.

우리 거래소는 무기한을 USDC로 마크했다. 보수적인 테이프를 잡으면, BTC/USDC는 약 $23,000, 곧 $20,200 / 0.88. 1.5 BTC 롱은 약 4,300 USDC 올랐다. 네이티브 단위 계좌: 104,300 USDC. 엔진은 $104,300, 4.3% 상승한 주말, 그리고 그 위에 같은 단위로 펀딩 지급이 착지한다고 보고한다.

달러로 보면 유휴 담보 70,000 USDC는 약 $61,600의 가치가 있다. 전체 104,300 USDC는 약 $91,800의 가치가 있다. "4.3%를 벌었다"는 그 장부는, 대부분 현금에 앉아 있는 동안 달러 자본의 8%를 잃었다.

그 주말 수익률은 운의 변화가 아니라 단위의 변화였다. USDC가 내려간 날의 BTC/USDC 롱 포지션은 기계적으로 디페그의 롱이다. 그 베팅을 원할 수는 있다. USD라고 라벨이 붙은 시계열에서 사후에 그것을 발견할 수는 없다.

Coinbase는 이미 USDC 전환을 중단한 상태였다. Binance는 USDC 페어를 정지했다. 08:00 UTC에 호가 자산을 달러로 던지기로 결정한 갓모드 백테스트조차, 아직 전환 중이던 거래소와, 디페그 그 자체가 아닌 스프레드와, 은행이 월요일에 문을 열기 전까지는 존재하지 않던 결제 경로가 필요했을 것이다.

cash_usd = cash_usdc * 1.0

내가 붙잡고 있는 줄은 바로 이 줄이다. 모든 바에서 실행됐다. USDCUSD가 0.87이던 바를 포함해서. 1.0을 곱하는 것은 무연산처럼 느껴지고, 그래서 코드 리뷰에서 살아남는다. 그것은 FX 마크다. 얼어 있는 마크다.

담보 70,000 USDC는 거래를 한 번도 트리거하지 않았으므로, 슬리피지 모델이 그것을 본 적도 없고, 수수료 테이블도, 펀딩도 없었다. 현금은 지루한 열이어야 한다. 이 장부에서 그것은 가장 큰 리스크였고, 우리가 가격을 매기지 않은 유일한 리스크였다.

그 주말 BTC 체결의 메이커 리베이트는, 체결이 되기만 했다면, 2 또는 3 bps였다. 호가 자산의 움직임은 1,300 bps였다. 우리에게는 3을 위한 스택 전체가 있고, 1,300을 위한 스텁이 있다.

차트의 초록 주말

월요일 아침 Slack, 아무도 USDCUSD를 열어보기 전: 우리는 오버나이트로 4%를 찍었다. 누군가 페이퍼 사이즈를 키워야 하냐고 물었다. 나는 차트를 보고, 그다음 Kraken을 보고, 그다음 스텁을 봤다.

원장 항목엔진이 저장한 것토요일, 네이티브같은 순간, 달러로
유휴 담보70,000 USDC × 1.0070,000 USDC~$61,600
BTC 퍼프 마크BTCUSDC last~23,000 USDC (Kraken에서는 26,000)BTCUSD ~$20,200
1.5 BTC의 미실현+4,300 USDC+4,300 USDC대부분 페그, 일부 비트코인
보고된 NAV104,300 "USD"104,300 USDC~$91,800

USDT 장부는 반대쪽 만화였다. USDT는 비싸게 거래됐으므로, USDT 마진의 플랫 계좌는 역시 벌지 않은 달러 이익을 보여 주었고, BTCUSD 대비 너무 낮은 BTCUSDT 마크를 보여 주었다. 그 주말 "동일한" BTC 퍼프 두 개를 순위 매겼다면, 하나는 USDC 거래소에, 하나는 USDT 거래소에, 당신은 호가 토큰을 순위 매기고 그것을 알파라고 부른 것이다.

페이퍼 계좌, 실제로 USDC를 들고 있던 그 계좌는 리서치 대시보드보다 진실에 더 가까웠다. 달러라고 주장한 적은 한 번도 없었다. 우리가 익스포트에서 그렇게 한 것이다.

월요일에 우리가 내보낸 익스포트

재무부, Fed, FDIC가 SVB 예금자를 온전히 보전하겠다고 말한 뒤, 그리고 Circle이 부족분을 메우겠다고 말한 뒤, USDC는 $1을 향해 기어 올라왔다. 월요일이 되자 페그는 대체로 기운 상태였다. 48시간 동안 틀렸던 스텁 FX 파일은 다시 맞았다.

그러나 일봉은 그것을 숨겼다. 3월 11일 00:00 UTC 샘플은 벤더에 따라 USDC가 이미 이탈한 상태이거나, 이미 반등한 상태였고, 3월 12일 샘플은 다른 영화였다. NAV만 저장하고 호가 마크는 저장하지 않았다면, 어느 쪽인지 재구성할 수 없었다. 추한 주말은 무시할 만큼 작은 점으로 납작해졌고, 우리는 그렇게 했다. 일별로 샘플링했기 때문이다.

우리가 이제 장부에 항상 남겨 두는 것은 3개의 시계열이다. 몇 달 동안 서로 겹쳐 앉아 있을 때조차:

  1. 거래소 호가 자산 단위의 NAV, 실제로 출금할 수 있는 단위.
  2. 호가 자산 대 USD, 실제 테이프. 토요일을 포함하고, 0.87을 포함하고, Coinbase가 전환하지 않던 시간을 포함한다.
  3. 파생 시계열로서의 달러 NAV. 그래서 USD라는 플롯 라벨에 부모가 있게.

에이전트가 백테스트를 작성한다면, 검사는 같다. 모든 포지션과 현금의 호가 자산을 물어라. USDC 거래소에서 USD라고 답하면, 그 런은 달러 런이 아니다. 2023년 3월은, 그 구분이 Sharpe를 움직이지 않는다고 누군가 말할 때 내가 다시 재생하는 주다. 그것은 전략이 움직인 것보다 더 많이 이 Sharpe를 움직였고, 전략은 우리가 모델을 가지고 있던 부분이었다.

스테이블코인호가 통화백테스팅암호화폐페이퍼 트레이딩
← 전체 글