2026년 9월 7일 · 옵션

옵션 백테스트의 기반이 되는 행: Deribit BTC 콜 하나, 필드별 해부

옵션 백테스트의 기반이 되는 행: Deribit BTC 콜 하나, 필드별 해부

지난달 리서치팀에서 누군가 우리 옵션 에이전트들이 그럴듯한 롱 감마 아이디어를 계속 거부하는 이유를 물었습니다. 시그널은 괜찮았습니다. 변동성 예측도 괜찮았습니다. 문제는 시장 데이터 피드의 필드 2개와 피드에 아예 없는 숫자 하나였습니다.

그래서 당시 우리가 논쟁하던 실제 객체를 보여드리겠습니다. Deribit 티커 응답 BTC-25SEP26-110000-C로, 계약 만기까지 18일 남은 월요일 11:20 UTC에 가져온 데이터입니다. 더 이상 사용되지 않는 필드는 덜어내고 중요한 내용만 남겼습니다.

{
  "instrument_name": "BTC-25SEP26-110000-C",
  "index_price": 96412.18,
  "underlying_price": 96980.44,
  "underlying_index": "SYN.BTC-25SEP26",
  "estimated_delivery_price": 96412.18,
  "mark_price": 0.0041,
  "mark_iv": 42.14,
  "best_bid_price": 0.0038,  "best_bid_amount": 4.9,
  "best_ask_price": 0.0045,  "best_ask_amount": 12.1,
  "bid_iv": 40.42,           "ask_iv": 43.94,
  "last_price": 0.0043,
  "interest_rate": 0.0,
  "open_interest": 812.7,
  "greeks": {
    "delta": 0.0962, "gamma": 0.0000189,
    "vega": 36.77,   "theta": -42.91,  "rho": 4.61
  },
  "stats": { "volume": 61.2, "high": 0.0051, "low": 0.0036 }
}

instrument_name: 문자열 하나에 담긴 사실 4가지

BTC-25SEP26-110000-C. 기초자산 BTC, 만기 2026년 9월 25일, 행사가 110,000, 콜입니다. 이 문자열에는 표시되지 않지만, 새로운 옵션 백테스트가 한 번쯤은 꼭 틀리는 나머지 계약 명세가 있습니다. 계약 1개는 기초자산 1 BTC에 해당하고, 프리미엄은 BTC로 호가되고 결제되며, 만기는 16:00 현지 시각이 아니라 08:00 UTC입니다.

여기서 날카로운 함정은 BTC 표시 호가입니다. 마크 0.0041은 0.0041 BTC이며, 지수 가격 기준으로 대략 $395입니다. 이 열을 가격으로 저장한 다음 USD 기준 전략 손익에 결합하면, 옵션 가격은 그대로인데도 달러 가치가 현물 가격에 따라 움직이는 포지션을 자신도 모르게 만든 셈입니다. BTC가 하락한 날 롱 콜 포지션이 수익을 냈던 백테스트를 본 적이 있습니다. 프리미엄 열을 달러로 해석한 탓에, 연구자는 실제로 코인 표시 프리미엄을 달러 회계 기준에 맞춰 매도하고 있었습니다. 원인을 찾는 데 이틀이 걸렸습니다.

index_price와 underlying_price: 568달러 차이, 맞는 것은 하나뿐

두 값은 $568.26 차이가 나지만 오류가 아닙니다. index_price는 Deribit BTC 지수입니다. 주요 거래소 가격을 혼합한 현물 기준값이며, 계약이 최종 결제되는 기준입니다. underlying_price는 해당 만기의 합성 선물 가격인 SYN.BTC-25SEP26로, 같은 만기의 선물 시장에서 계산됩니다. 연율 약 12%의 캐리 비용을 18일간 반영하면 이 $568 차이가 생깁니다.

페이로드의 모든 그릭스와 마크 IV는 선물 가격을 기준으로 계산됩니다. 직접 내재 변동성을 다시 계산하면서 마침 불러와 둔 시계열이 현물 가격이라 그걸 사용하면 행사가마다 다른 값을 얻게 되고, 오차는 일정한 방향으로 나타납니다. 콜은 실제보다 변동성 기준으로 저렴해 보이고 풋은 더 비싸 보입니다. 베이시스가 0.6%인 18일 만기 계약에서는 이 행사가의 마크 IV가 대략 1.5포인트 잘못 계산됩니다. 사람들이 전략을 설계할 때 기대하는 변동성 엣지 대부분보다 큰 오차입니다.

interest_rate: 0.0는 Deribit이 금리 대신 선물 가격을 통해 할인한다는 뜻입니다. 여기에 적용할 무위험 금리 곡선을 찾지 마세요. 이중 계산이 됩니다.

mark_price와 mark_iv: 거래 상대방이 없는 가격

0.0041 BTC. 누구도 이 가격에 체결하지 않았습니다. Deribit은 주문장에서 기준을 잡고 행사가와 만기 전반에 걸쳐 매끄럽게 보정한 변동성 표면으로 마크를 계산합니다. 호가 하나가 크게 움직여도 증거금과 강제 청산이 요동치지 않도록 하기 위해서입니다. 증거금과 미실현 손익에 쓰이고, 모든 포지션 엔드포인트에 표시되는 값이 마크입니다.

그래서 마크는 암호화폐 옵션 리서치에서 가장 유혹적인 체결 가격이면서, 가장 잘못된 가격입니다. 마크에 사서 마크에 파는 백테스트는 스무딩 스플라인을 상대로 거래합니다. Sharpe는 나오겠죠. 그 Sharpe는 표면 적합기의 특성을 설명할 뿐, 실제로 체결할 수 있었는지는 전혀 알려주지 않습니다.

우리가 코드에 반영한 규칙은 다음과 같습니다. 마크는 증거금, 리스크, 미드 가격 기준 손익 귀속에 사용합니다. 체결 가격으로는 절대 사용하지 않습니다. 백테스트에 체결 가격이 필요한데 해당 시점의 호가 스냅샷이 없으면 마크에 체결한 것으로 처리하지 않고 가격 산정 불가로 표시합니다. 그 행은 버리는 편이 낫습니다.

best_bid 0.0038 / best_ask 0.0045: 3가지 단위로 본 스프레드

BTC 기준으로 7틱 너비입니다. $395짜리 옵션에서 $67.50, 즉 프리미엄의 17%입니다. 변동성 기준으로는 3.5포인트로, bid 40.4에 ask 43.9입니다. 옵션 트레이더에게 폭이 얼마나 되느냐고 물으면 실제로 듣게 될 숫자가 바로 이것입니다.

가격만큼 수량도 중요합니다. bid에 4.9계약, ask에 12.1계약이 있습니다. Deribit 옵션의 수량 단위는 계약이므로 기초자산 4.9 BTC, 명목 가치 약 $472k에 해당하지만, 이 행사가에서 델타는 0.47 BTC에 불과합니다. 전략에 의미 있는 감마가 필요하다면 계약 수십 개가 필요한데, 최우선 호가에 보이는 물량은 그 일부에 지나지 않습니다. 보통 2레벨에는 2~3틱 더 불리한 호가가 있습니다. 수량 모델이 있는 옵션 백테스트라면 호가창을 순회하거나 RFQ/블록 가격을 가정해야 합니다. 두 가정은 결과가 크게 다릅니다.

last_price: 0.0043는 지난 24시간 중 어느 시점에 체결된 거래입니다. 19시간 전, 현물 가격이 크게 달랐을 때의 거래일 수도 있습니다. 하루 61계약이 거래되는 상품에서 이 값은 구조적으로 오래된 가격입니다. 이 값으로 수익률 시계열을 만들지 마세요.

그릭스: 숫자 5개, 단위 관례 4가지

이 블록은 페이로드의 나머지 부분을 모두 합친 것보다 더 많은 오류를 조용히 일으킵니다. 각 값의 차원은 맞지만, 짐작할 법한 단위로 표시된 값은 하나도 없기 때문입니다.

필드값단위흔한 오해
delta0.0962계약당 기초자산 BTC달러 델타로 간주
gamma0.0000189기초자산 $1 변동당 Δdelta1% 변동당으로 간주
vega36.77변동성 1포인트당 USD변동성 100%당 또는 BTC 기준으로 간주
theta-42.91역일 1일당 USD거래일당으로 간주
rho4.61금리 1%당 USD무시함, 올바른 처리

델타는 코인 단위, vega와 theta는 달러 단위, gamma는 현물 가격 1달러 변동당 수치입니다. 코인 표시 델타를 달러 표시 리스크 합계에 섞으면 평평해 보이는 포지션이 사실 40 BTC 롱인 상황이 생깁니다. 주말 전략을 무너뜨리는 건 theta가 역일 기준이라는 점입니다. 금요일 종가부터 월요일 시가까지는 감쇠가 3일분 발생합니다. 여기서는 계약당 약 $129이며, 거래 세션은 0일입니다. 백테스트가 바 단위로 진행되면서 각 스텝마다 theta를 적용하면 주말이 사라지고, 모든 프리미엄 매도 전략의 성과가 실제보다 조용히 나빠집니다.

open_interest 812.7, volume 61.2: 실제 옵션 체인의 모습

어제 61계약 거래된 행사가의 미결제약정이 800계약입니다. 실제로 거래가 활발한 행사가입니다. 만기까지 3주 남은 110,000은 둥근 숫자이고, 바로 이런 곳에 거래 흐름이 집중됩니다. 행사가를 2개 더 벗어나 120,000으로 가면 미결제약정은 10분의 1 수준으로 줄어듭니다. 비월물 만기의 둥글지 않은 행사가를 보면 bid는 있지만 ask는 40%나 벌어져 있고, 일주일 동안 거래가 없는 상품을 만나게 됩니다.

상장된 모든 상품을 순회하는 전체 체인 백테스트는 그런 상품들에서도 문제없이 체결을 가정합니다. 우리는 다음 조건을 모두 적용했습니다. 호가 스프레드가 마크의 20% 미만이고, 양쪽에 최소 1계약이 있으며, 직전 24시간 거래량이 0보다 커야 합니다. 평소 하루 기준 BTC 체인 상장 상품의 약 3분의 1만 이 조건을 통과합니다. 나머지 3분의 2에 가짜 알파가 숨어 있습니다.

페이로드에 없는 필드

이 객체에는 거래 비용이 얼마인지 알려주는 정보가 없습니다. Deribit은 옵션 계약당 0.0003 BTC를 maker와 taker 구분 없이 부과합니다. 프리미엄이 아니라 기초자산의 0.03%이며, 옵션 가격의 12.5%를 상한으로 둡니다. 이 계약에서는 한쪽 거래당 $28.92이고 상한에 걸리지 않습니다. 0.0041의 12.5%는 0.000513이며, 정액 수수료가 그보다 작기 때문입니다.

명목 가치 기준 수수료와 변동성 기준 프리미엄이 만나면 외가격으로 갈수록 지불한 금액 대비 비용이 치솟습니다.

$67.50호가 스프레드 (마크의 17%)
$28.92계약당 편도 수수료
31%프리미엄 대비 왕복 비용
3.5 pts변동성 기준 bid/ask 폭

0.0045($434)에 ask를 매수하고, 0.0038($366)에 bid로 매도한 다음 수수료를 2번 냅니다. 마크가 $395인 계약을 왕복하는 데 $125.80이 듭니다. 본전이 되려면 전망이 프리미엄의 31%만큼 가치 있어야 합니다. 롱 감마 아이디어가 거부된 이유가 바로 이것이며, 시그널과는 무관했습니다.

델타에 드는 비용을 보면 더 흥미롭습니다. 수수료는 계약 수에 비례하고, 계약 수는 델타에 반비례하기 때문입니다. 계산을 위해 행사가 전체에서 마크 IV를 42.1%로 고정하겠습니다. 실제 체인에는 스큐가 있고, 암호화폐에서는 콜 윙이 보통 ATM보다 높게 거래되므로 이 표는 낙관적인 추정치입니다.

상품마크 (BTC)델타델타 1 BTC당 계약 수편도 수수료델타 1 BTC당 비용
97000-C (ATM)0.03730.5181.93$28.92$55.80
110000-C0.00410.09610.4$28.92$301
120000-C0.00040.01379.4$4.82 (상한 적용)$383
BTC 무기한 선물—1.01.0$48.21$48.21

마지막 행에서는 12.5% 상한이 실질적인 역할을 합니다. 이 상한이 없다면 깊은 윙의 델타 1 BTC당 비용은 $2,300이 되어 복권형 전략은 그저 성과가 나쁠 뿐 아니라 계산상 불가능해집니다. 상한을 적용해도 120,000 행사가로 익스포저를 확보하는 비용은 무기한 선물보다 약 8배 비쌉니다. 옵션은 방향성 익스포저를 싸게 표현하는 방법이 아닙니다. 그렇다고 말하는 백테스트는 이 표를 빼놓은 것입니다.

08:00 UTC, 9월 25일

티커만으로 알 수 없는 마지막 정보는 포지션의 종료 방식입니다. Deribit은 만기일 08:00 UTC 직전 30분간의 지수 평균을 기준으로 옵션을 결제하고, 내가격 계약에는 인도 수수료 0.00015 BTC를 부과합니다. 이 수수료에도 결제 금액의 12.5% 상한이 적용됩니다.

백테스트에는 두 가지 결과가 따릅니다. 첫째, 이 평균 구간은 실제로 결과를 바꿀 수 있습니다. 07:59에 $300 내가격인 옵션도 마지막 30분이 좋지 않으면 가치 없이 결제될 수 있습니다. 08:00 가격 하나를 기준으로 결제하는 백테스트는 대부분의 만기에서 모의 계좌와 몇 bp 차이가 나고, 일부 만기에서는 차이가 크게 벌어집니다. 둘째, 결제를 원했는지와 관계없이 인도 수수료가 부과됩니다. 만기까지 보유하는 전략은 사이클당 수수료를 3번 내고, 07:30에 청산하는 전략은 수수료 2번과 스프레드 비용을 냅니다. 어느 쪽이 저렴한지는 행사가에 따라 다르며, 프리미엄 약 0.0012 BTC 부근에서 유불리가 바뀝니다. 우리는 일괄 규칙을 정하지 않고 포지션마다 계산합니다.

이 글에서 원래 다루고 싶었던 건 변동성 예측이었습니다. 대신 일주일을 단위와 수수료 상한에 썼습니다. 옵션 리서치에서 화려함과 현실의 비율은 대체로 이 정도가 맞습니다.

필드 스무 개. 의도적으로 값이 다른 가격 2개, 거래된 적 없는 가격 하나, 4가지 단위 체계로 표시된 그릭스, 그리고 문서 페이지에만 있는 비용 모델. 옵션 백테스트를 시작한다면 첫날은 이런 객체 하나를 완전한 비용이 반영된 올바른 단위의 포지션으로 바꾸는 함수를 작성하는 데 쓰세요. 스프레드, 수수료, 상한, 인도 비용, 코인 대 달러 환산까지 포함해야 합니다. 그 이후 작성하는 모든 전략은 그 함수의 계산 방식을 물려받습니다.

암호화폐 옵션deribit내재 변동성수수료백테스팅
← 전체 글