Tháng trước, một người bên nhóm nghiên cứu hỏi tôi vì sao các agent quyền chọn của chúng tôi cứ bác bỏ một ý tưởng long gamma trông có vẻ hoàn toàn hợp lý. Tín hiệu ổn. Dự báo vol cũng ổn. Vấn đề nằm ở 2 trường trong luồng dữ liệu thị trường và một con số hoàn toàn không có trong luồng đó.
Đây là đối tượng dữ liệu thực tế mà chúng tôi tranh luận. Phản hồi ticker của Deribit, BTC-25SEP26-110000-C, lấy lúc 11:20 UTC vào một ngày thứ Hai, khi hợp đồng còn 18 ngày đáo hạn. Tôi đã lược bỏ các trường không còn dùng và giữ lại mọi thứ quan trọng.
{
"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 thông tin, 1 chuỗi
BTC-25SEP26-110000-C. Tài sản cơ sở là BTC, ngày đáo hạn 25 tháng 9 năm 2026, giá thực hiện 110,000, quyền chọn mua. Chuỗi này không cho biết điều gì, và điều mà mọi backtest quyền chọn mới đều mắc lỗi ít nhất 1 lần, là phần còn lại trong quy cách hợp đồng: 1 hợp đồng tương đương 1 BTC tài sản cơ sở, phí quyền chọn được báo giá và thanh toán bằng BTC, và thời điểm đáo hạn là 08:00 UTC, không phải 16:00 theo giờ địa phương nào đó.
Báo giá bằng BTC là chỗ dễ mắc sai lầm nhất. Mức đánh dấu 0.0041 nghĩa là 0.0041 BTC, tương đương khoảng $395 theo chỉ số. Nếu bạn lưu cột này dưới dạng giá rồi ghép nó với P&L của chiến lược tính bằng USD, bạn đã âm thầm tạo ra một vị thế có giá trị đô la biến động theo giá giao ngay dù quyền chọn không đổi. Tôi từng thấy một backtest trong đó chân long call có lãi vào ngày BTC giảm, chỉ vì phí quyền chọn bị hiểu là đô la trong khi nhà nghiên cứu thực chất đang bán khống khoản phí tính bằng coin trong một hệ thống kế toán bằng đô la. Mất 2 ngày mới tìm ra lỗi.
index_price so với underlying_price: chênh $568, nhưng chỉ 1 mức đúng
Hai mức này chênh nhau $568.26 và đó không phải lỗi. index_price là chỉ số BTC của Deribit — mức tham chiếu giao ngay, tổng hợp từ các sàn lớn, và là giá cơ sở cuối cùng dùng để thanh toán hợp đồng. underlying_price là giá hợp đồng kỳ hạn tổng hợp cho đúng kỳ hạn đó, SYN.BTC-25SEP26, được suy ra từ thị trường hợp đồng tương lai cùng ngày. Mức carry khoảng 12% theo năm trong 18 ngày tạo ra chênh lệch $568 đó.
Mọi greek trong dữ liệu, cùng mark IV, đều được tính dựa trên giá kỳ hạn. Nếu bạn tự tính lại biến động hàm ý bằng giá giao ngay vì đó là chuỗi dữ liệu đã nạp, kết quả sẽ khác ở từng mức giá thực hiện, và sai lệch có hướng rõ rệt: call trông rẻ hơn thực tế xét theo vol, còn put trông đắt hơn. Với hợp đồng 18 ngày có basis 0.6%, bạn sẽ định giá sai mark IV khoảng 1.5 điểm tại mức giá thực hiện này. Sai số đó lớn hơn hầu hết lợi thế vol mà người ta xây chiến lược quanh đó.
interest_rate: 0.0 có nghĩa là Deribit chiết khấu thông qua giá kỳ hạn chứ không thông qua lãi suất. Đừng tìm đường cong lãi suất phi rủi ro để đưa vào; bạn sẽ tính trùng.
mark_price và mark_iv: mức giá không có đối tác giao dịch
0.0041 BTC. Không ai trả mức giá đó. Deribit tính mark từ bề mặt vol được khớp, neo theo sổ lệnh nhưng được làm trơn qua các mức giá thực hiện và kỳ hạn để mức ký quỹ và thanh lý không nhảy loạn khi một báo giá giãn rộng đơn lẻ dịch chuyển. Mark được dùng để tính ký quỹ, P&L chưa thực hiện và xuất hiện trong mọi endpoint vị thế.
Vì thế, đây là giá khớp lệnh hấp dẫn nhất trong nghiên cứu quyền chọn crypto, đồng thời cũng sai nhất. Backtest mua ở mark rồi bán ở mark là đang giao dịch với một đường spline làm trơn. Nó sẽ tạo ra Sharpe. Sharpe đó chỉ mô tả bộ khớp bề mặt, không cho biết bạn có thể giao dịch được hay không.
Quy tắc chúng tôi đưa vào hệ thống: mark dùng cho ký quỹ, rủi ro và phân bổ lãi lỗ theo mid-to-mid. Tuyệt đối không dùng làm giá khớp. Nếu backtest cần giá khớp mà không có ảnh chụp sổ lệnh tại thời điểm đó, lượt chạy được gắn cờ là chưa định giá thay vì giả định khớp tại mark. Chúng tôi chấp nhận mất dòng dữ liệu đó.
best_bid 0.0038 / best_ask 0.0045: chênh lệch theo 3 đơn vị
Chênh 7 tick nếu tính bằng BTC. Đó là $67.50 trên quyền chọn giá $395, tương đương 17% phí quyền chọn. Tính theo vol thì chênh 3.5 điểm, bid 40.4 so với ask 43.9 — đây là con số mà nhà giao dịch quyền chọn sẽ báo cho bạn khi hỏi độ rộng chênh lệch.
Khối lượng cũng quan trọng ngang với giá: bid 4.9 hợp đồng, ask 12.1. Khối lượng quyền chọn trên Deribit tính theo hợp đồng, vậy 4.9 BTC tài sản cơ sở tương đương notional khoảng $472k — nhưng ở mức giá thực hiện này chỉ là 0.47 BTC delta. Nếu chiến lược cần gamma đáng kể thì phải dùng hàng chục hợp đồng, trong khi sổ lệnh hiển thị tại mức giá tốt nhất chỉ có một phần nhỏ chừng đó. Mức giá thứ hai thường cách thêm 2 hoặc 3 tick. Backtest quyền chọn nào có mô hình khối lượng cũng cần khớp lần lượt qua sổ lệnh hoặc giả định giá RFQ/block, và 2 giả định này cho kết quả rất khác nhau.
last_price: 0.0043 là giao dịch đã xảy ra vào một thời điểm nào đó trong 24 giờ qua, có thể từ 19 giờ trước khi giá giao ngay rất khác hiện tại. Theo bản chất, nó đã cũ đối với một công cụ chỉ giao dịch 61 hợp đồng mỗi ngày. Đừng lấy nó làm chuỗi lợi suất.
greek: 5 con số, 4 quy ước đơn vị
Khối này âm thầm gây thiệt hại nhiều hơn toàn bộ phần còn lại của dữ liệu cộng lại, vì mọi giá trị đều đúng về thứ nguyên nhưng chẳng giá trị nào dùng đơn vị bạn có thể đoán.
| Trường | Giá trị | Đơn vị | Cách hiểu sai thường gặp |
|---|---|---|---|
| delta | 0.0962 | BTC tài sản cơ sở trên mỗi hợp đồng | Bị xem là delta đô la |
| gamma | 0.0000189 | Δdelta trên mỗi $1 biến động tài sản cơ sở | Bị hiểu là trên mỗi biến động 1% |
| vega | 36.77 | USD trên mỗi 1 điểm vol | Bị hiểu là trên mỗi 100% vol hoặc tính bằng BTC |
| theta | -42.91 | USD mỗi ngày theo lịch | Bị hiểu là ngày giao dịch |
| rho | 4.61 | USD trên mỗi 1% lãi suất | Bị bỏ qua, đúng vậy |
Delta tính bằng coin, vega và theta tính bằng đô la, gamma tính trên mỗi đô la biến động giá giao ngay. Trộn delta tính bằng coin vào tổng hợp rủi ro tính bằng đô la là cách khiến một danh mục trông như cân bằng nhưng hóa ra long 40 BTC. Theta tính theo ngày lịch là điều gây rắc rối cho chiến lược qua cuối tuần: từ lúc đóng cửa thứ Sáu đến khi mở cửa thứ Hai có 3 ngày hao mòn thời gian, khoảng $129 mỗi hợp đồng ở đây, dù không có phiên giao dịch nào. Nếu backtest chạy theo từng thanh giá và áp dụng theta mỗi bước, ngày cuối tuần biến mất và mọi chiến lược bán premium đều bị đánh giá kém đi so với thực tế.
open_interest 812.7, volume 61.2: thanh khoản thực sự nằm ở đâu
Mức giá thực hiện có 812 hợp đồng mở, trong khi hôm qua chỉ giao dịch 61 hợp đồng. Đây là một mức giá thực hiện đang hoạt động thực sự — 110,000 là số tròn, còn 3 tuần nữa đáo hạn, đúng nơi dòng lệnh tập trung. Đi thêm 2 mức giá thực hiện tới 120,000, open interest giảm 10 lần; chuyển sang mức không tròn ở kỳ hạn không phải hàng tháng, bạn sẽ gặp công cụ có bid, ask cách nhau 40% và cả tuần không có giao dịch nào.
Backtest toàn bộ chuỗi quyền chọn lặp qua mọi công cụ được niêm yết sẽ thoải mái giả định khớp lệnh cho tất cả. Cuối cùng chúng tôi đặt điều kiện lọc kết hợp: chênh lệch báo giá dưới 20% mark, mỗi bên có ít nhất 1 hợp đồng và khối lượng 24 giờ trước lớn hơn 0. Vào một ngày điển hình, khoảng 1/3 chuỗi BTC được niêm yết vượt qua bộ lọc. Hai phần ba còn lại là nơi alpha giả trú ngụ.
Trường không có trong dữ liệu
Không có gì trong đối tượng dữ liệu này cho biết một giao dịch tốn bao nhiêu. Deribit thu 0.0003 BTC mỗi hợp đồng quyền chọn, áp dụng như nhau cho maker và taker — bằng 0.03% tài sản cơ sở, không phải phí quyền chọn — và giới hạn ở mức 12.5% giá quyền chọn. Với hợp đồng này, mức phí mỗi chiều là $28.92 nếu chưa tính trần, vì 12.5% của 0.0041 là 0.000513, lớn hơn khoản phí cố định.
Phí tính trên notional còn premium tính theo vol, nên khi đi xa khỏi mức giá thực hiện, chi phí sẽ phình lên so với số tiền bạn trả.
Mua ở ask 0.0045 ($434), bán ở bid 0.0038 ($366), trả phí 2 lần: tổng cộng $125.80 cho một vòng giao dịch với hợp đồng được đánh dấu ở mức $395. Quan điểm của bạn phải đáng giá 31% premium thì mới hòa vốn. Đó là toàn bộ lý do ý tưởng long gamma bị bác bỏ, và chẳng liên quan gì đến tín hiệu.
Sẽ thú vị hơn khi hỏi một đơn vị delta tốn bao nhiêu, vì phí tăng theo số hợp đồng còn số hợp đồng tăng tỷ lệ nghịch với delta. Để tính toán, giữ mark IV cố định ở mức 42.1% qua các giá thực hiện (chuỗi thực tế có độ lệch, và trong crypto cánh call thường giao dịch cao hơn ATM, nên bảng này đưa ra con số lạc quan):
| Công cụ | Mark (BTC) | Delta | Số hợp đồng cho mỗi 1 BTC delta | Phí mỗi chiều | Chi phí trên mỗi BTC delta |
|---|---|---|---|---|---|
| 97000-C (ATM) | 0.0373 | 0.518 | 1.93 | $28.92 | $55.80 |
| 110000-C | 0.0041 | 0.096 | 10.4 | $28.92 | $301 |
| 120000-C | 0.0004 | 0.013 | 79.4 | $4.82 (đã áp trần) | $383 |
| BTC perp | — | 1.0 | 1.0 | $48.21 | $48.21 |
Mức trần 12.5% tạo khác biệt thực sự ở hàng cuối đó; nếu không có trần, cánh quyền chọn xa tiền sẽ tốn $2,300 trên mỗi BTC delta, khiến chiến lược vé số bất khả thi về mặt toán học thay vì chỉ đơn giản là tệ. Ngay cả khi có trần, mua mức độ phơi nhiễm qua giá thực hiện 120,000 vẫn tốn gấp khoảng 8 lần hợp đồng perpetual. Quyền chọn không phải cách rẻ để thể hiện quan điểm về hướng đi của giá; backtest nào nói ngược lại đều đã bỏ qua bảng này.
08:00 UTC, 25 tháng 9
Điều cuối cùng ticker không cho biết là vị thế kết thúc ra sao. Deribit thanh toán quyền chọn theo mức trung bình của chỉ số trong 30 phút trước 08:00 UTC ngày đáo hạn, đồng thời thu phí giao nhận 0.00015 BTC trên các hợp đồng có giá trị nội tại, cũng bị giới hạn ở mức 12.5% giá trị thanh toán.
Backtest cần lưu ý 2 hệ quả. Thứ nhất, cửa sổ lấy trung bình đó có thật và bạn có thể tính sai: một quyền chọn đang có giá trị nội tại $300 lúc 07:59 có thể đáo hạn vô giá trị nếu nửa giờ cuối biến động xấu, còn backtest thanh toán theo giá tại 08:00 sẽ lệch tài khoản mô phỏng vài điểm cơ bản ở hầu hết kỳ hạn và lệch nhiều ở một số kỳ. Thứ hai, phí giao nhận vẫn áp dụng dù bạn có muốn thanh toán hay không, nên chiến lược giữ tới đáo hạn trả 3 khoản phí mỗi chu kỳ, còn chiến lược đóng lúc 07:30 trả 2 khoản phí cộng thêm chênh lệch giá. Cách nào rẻ hơn còn tùy giá thực hiện, và điểm đảo chiều nằm đâu đó quanh premium 0.0012 BTC. Chúng tôi tính riêng cho từng vị thế thay vì chọn một quy tắc chung.
Phiên bản bài viết tôi định viết ban đầu nói về dự báo vol. Thay vào đó, tôi mất cả tuần xử lý đơn vị và mức trần phí — tỷ lệ giữa hào nhoáng và thực tế trong nghiên cứu quyền chọn đại khái là như vậy.
20 trường. 2 mức giá cố tình không khớp nhau, 1 mức giá chưa từng được giao dịch, các greek dùng 4 hệ đơn vị, còn mô hình chi phí nằm hoàn toàn bên ngoài dữ liệu, trên một trang tài liệu. Nếu bạn đang xây dựng backtest quyền chọn, hãy dành ngày đầu tiên viết một hàm duy nhất chuyển một đối tượng như thế này thành vị thế đã tính đủ chi phí và đúng đơn vị — chênh lệch, phí, mức trần, giao nhận, coin hay đô la. Mọi chiến lược viết sau đó đều thừa hưởng những giả định của hàm đó.
← Tất cả bài viết

