คุณส่ง tearsheet มาให้ผมพร้อมคำถามเดียว: พอเพิ่มขนาดแล้วมันยังไปรอดไหม กลยุทธ์ mean reversion ระยะ 5 นาที เทรด perpetual สกุล USDT กลุ่ม mid-cap ราวสามสิบเหรียญ ทุกเทรดในการทดสอบย้อนหลังใช้ notional คงที่ $2,000 ค่า Sharpe นอกตัวอย่างเกือบ 2 และ edge ขั้นต้นเฉลี่ยต่อการซื้อขายไปกลับอยู่ที่ราว 22 basis points ก่อนหักต้นทุน คุณใช้เงินเล็กน้อยของตัวเองลองรันมา และตอนนี้อยากลงเงินจริงจังกับมัน — สมมติว่า $50,000 ต่อครั้ง
คำตอบที่ตรงไปตรงมาคือ ไม่มีใครยื่นตัวเลขความจุในการรองรับให้คุณได้ มันเป็นเส้นโค้ง และงานของคุณในสัปดาห์นี้คือวาดเส้นนั้น แต่คุณคำนวณส่วนใหญ่ได้ด้วยสเปรดชีต และผมอยากให้คุณทำก่อนจะได้รู้คำตอบด้วยวิธีที่แพงกว่า
เริ่มจากอัตราส่วนที่คุณมีข้อมูลอยู่แล้ว
ก่อนใช้แบบจำลองผลกระทบใด ๆ ให้คำนวณอัตราการมีส่วนร่วมก่อน ใช้คอลัมน์ quote volume ที่มีอยู่แล้วใน klines — index 7 ซึ่งเป็น turnover สกุล USDT ของแท่งนั้น — แล้วดูว่าคำสั่งของคุณจะคิดเป็นสัดส่วนเท่าไรของปริมาณในแท่งที่เข้าเทรดโดยทั่วไป
ภาพรวมของจักรวาลเหรียญแบบคุณจะประมาณนี้ โดยใช้ค่ามัธยฐาน quote volume ระยะ 5 นาที:
| กลุ่มสัญลักษณ์ | ค่ามัธยฐาน quote volume 5 นาที | คำสั่ง $2,000 | คำสั่ง $50,000 |
|---|---|---|---|
| BTCUSDT | $18,000,000 | 0.01% | 0.28% |
| SOLUSDT | $3,200,000 | 0.06% | 1.6% |
| LINKUSDT | $450,000 | 0.44% | 11% |
| ARBUSDT | $220,000 | 0.9% | 23% |
| กลุ่มท้ายของจักรวาลเหรียญ | $60,000 | 3.3% | 83% |
ที่ $2,000 คุณมีสัดส่วนเล็กจนแทบไม่มีผลกับทุกเหรียญ นี่จึงเป็นเหตุผลที่สมมติฐานเรื่องการจับคู่คำสั่งซื้อขายใน backtest ไม่เคยถูกทดสอบจริง แต่ที่ $50,000 สำหรับรายชื่อครึ่งล่าง คุณมีขนาดเท่ากับปริมาณทั้งแท่งแล้ว การกินปริมาณ 83% ของแท่ง 5 นาทีไม่ใช่แค่การส่งคำสั่งซื้อขาย แต่มันคือเหตุการณ์หนึ่ง ไม่ว่า fill model ของคุณจะบอกอะไรเกี่ยวกับการข้าม spread มันกำลังจำลองตลาดแบบที่คุณไม่ได้อยู่ในนั้นแล้ว
กฎคร่าว ๆ ที่ผมใช้ในการประเมินรอบแรก: ถ้าคำสั่งเกิน 10% ของปริมาณในแท่ง ให้เลิกเชื่อเรื่อง fill ที่ backtest บอก ระหว่าง 1% ถึง 10% ให้จำลองผลกระทบอย่างรอบคอบ ต่ำกว่า 1% spread กับค่าธรรมเนียมเป็นต้นทุนหลัก แล้วไปต่อได้
ปรับเทียบกฎรากที่สองแบบคร่าว ๆ กับสัญลักษณ์ของคุณเอง
แบบจำลองหลักที่ใช้กันคือกฎผลกระทบแบบรากที่สอง: เมื่อตีเป็นผลตอบแทน ต้นทุนจะเพิ่มตามความผันผวนคูณรากที่สองของสัดส่วนปริมาณรายวันที่คุณใช้ไป
ผลกระทบ ≈ Y × σ_daily × √(Q / V_daily)
Y เป็นค่าคงที่ที่โดยทั่วไปประเมินใกล้ 1, σ_daily คือความผันผวนของผลตอบแทนรายวันของสัญลักษณ์นั้น, Q คือ notional ของคำสั่ง และ V_daily คือ notional volume ของวันนั้น ลองดูเหรียญทรง ARB จากตาราง turnover มัธยฐาน 5 นาทีที่ $220,000 คิดเป็นประมาณ $63M ต่อวัน สมมติให้ความผันผวนรายวันอยู่ที่ 4%
คำนวณการซื้อขายไปกลับกัน ที่ $2,000: ผลกระทบ 4.5 bps บวกค่าธรรมเนียม taker 10 bps ตามตาราง 5-and-5 รวมต้นทุนราว 14.5 bps เทียบกับ edge ขั้นต้น 22 bps จึงเหลือสุทธิ 7.5 bps ซึ่งใกล้เคียงกับที่ tearsheet ของคุณแสดง ดี แบบจำลองกับ backtest สอดคล้องกันที่ขนาดซึ่งคุณทดสอบจริง ที่ $50,000: ผลกระทบ 22.6 bps บวกค่าธรรมเนียมเดิม 10 bps รวมต้นทุน 32.6 เทียบกับ edge 22 คุณกำลังจ่ายเพิ่ม 10 basis points ต่อเทรด
ตั้งค่าสุทธิให้เป็นศูนย์แล้วแก้สมการหา Q จะได้ประมาณ $14,000 สำหรับเหรียญนั้น ไม่ใช่ 25 เท่า แต่เป็น 7 เท่า และช่วงหนึ่งในสามสุดท้ายของช่วงนั้นแทบไม่เหลือพื้นที่ให้ผิดพลาด รากที่สองทำงานตามธรรมชาติของมันพอดี: เพิ่มขนาด 25 เท่า ทำให้ต้นทุนต่อหน่วยเพิ่ม 5 เท่า ดังนั้นเมื่อ notional โตขึ้น ขาดทุนก็ทบต้นไล่ตามคุณเร็วพอกัน
ความจุในการรองรับคิดแยกตามสัญลักษณ์และแต่ละแท่ง และรวมกันแบบเงินทุนในบัญชีไม่ได้ คำพูดว่า "กลยุทธ์ของฉันรองรับเงินได้ $2M" เป็นเรื่องของพอร์ต แต่ข้อจำกัดอยู่ที่แต่ละ fill ในแต่ละเหรียญ และเหรียญกลุ่มท้ายในจักรวาลของคุณจะชนเพดานก่อน ขณะที่เหรียญหลักยังไม่รู้สึกอะไร
ใช้ปริมาณที่คุณเข้าเทรดจริง ไม่ใช่ค่ามัธยฐาน
นี่คือการปรับปรุงที่สำคัญกว่าการเลือกค่า Y เสียอีก คุณเพิ่งคำนวณอัตราการมีส่วนร่วมเทียบกับปริมาณมัธยฐาน แต่คุณไม่ได้เข้าเทรดในแท่งมัธยฐาน กลับไปคำนวณ V เฉพาะตอนที่สัญญาณของคุณทำงาน
กลยุทธ์ mean reversion ระยะ 5 นาทีมักส่งสัญญาณหลังราคาเคลื่อนไหวรุนแรง หมายความว่าแท่งที่คุณเข้าเทรดมี turnover เป็น 2 หรือ 3 เท่าของค่ามัธยฐาน นี่เป็นข้อได้เปรียบจริง และอาจเพิ่มความจุจริงของคุณเป็น 2 เท่าเมื่อเทียบกับตัวเลขแบบง่าย กลยุทธ์ momentum breakout ก็ได้ข้อดีเดียวกัน ส่วนกลยุทธ์ที่เข้าเทรดตามตารางเวลา — เช่น การปรับสมดุลพอร์ตตามรอบ หรือฟิลเตอร์ช่วงเวลาของวัน — ไม่ได้ข้อดีนี้ และกลยุทธ์ที่เข้าเทรดตอนราคาไหลเอื่อย ๆ ก็เจอสมุดคำสั่งที่บางกว่าที่ค่ามัธยฐานบอก
ดังนั้นให้วัดมัน ใช้ groupby กับเวลาเข้าเทรดแล้วคุณจะได้การกระจายตัว และผมจะดูเปอร์เซ็นไทล์ที่ 20 แทนค่าเฉลี่ย เพราะ fill ที่แย่เป็นตัวกำหนดความเสี่ยงของคุณ ถ้าปริมาณในแท่งที่เข้าเทรด ณ เปอร์เซ็นไทล์ที่ 20 ต่ำกว่าค่ามัธยฐาน แสดงว่าค่าประเมินความจุแบบง่ายของคุณมองโลกดีเกินไป และควรรู้เรื่องนี้ตั้งแต่ตอนนี้
สิ่งที่ทำให้พอร์ต alt ขนาดใหญ่พังจริง ๆ
ในการทดสอบย้อนหลัง perpetual กลุ่ม mid-cap สามสิบเหรียญดูเหมือนการเดิมพันอิสระสามสิบรายการ แต่ใน 2 ชั่วโมงของแต่ละเดือนที่สำคัญ มันคือการเดิมพันเดียว เมื่อเกิดการเทขายต่อเนื่อง ทุกอย่างเคลื่อนไหวสัมพันธ์กับ BTC สมุดคำสั่งทุกเหรียญบางลงพร้อมกัน และสถานะ $50,000 ที่เปิดพร้อมกัน 12 รายการของคุณกลายเป็นความเสี่ยงทิศทางเดียวมูลค่า $600,000 ซึ่งกำลังถูกปิดท่ามกลางสภาพคล่องที่แย่ที่สุดของไตรมาส
แบบจำลองผลกระทบของคุณที่ปรับเทียบกับภาวะตลาดมัธยฐานมองไม่เห็นเรื่องนี้ ค่า Sharpe ของคุณก็เช่นกัน วิธีแก้ไม่ซับซ้อน: คำนวณอัตราการมีส่วนร่วมใหม่โดยใช้วันที่มีปริมาณซื้อขายอยู่ในเปอร์เซ็นไทล์ที่ 5 แล้วตรวจดูว่าคุณจะปิดสถานะรวมสูงสุดได้จริงหรือไม่ ถ้าการปิดพอร์ตต้องใช้เวลาซื้อขาย 90 นาทีที่เพดานการมีส่วนร่วม 10% แต่ edge ของคุณสลายภายใน 15 นาที คุณก็ไม่ได้ถือกลยุทธ์ mean reversion ระยะ 5 นาทีแล้ว คุณกำลังถือสถานะทิศทางยาวที่มีเรื่องเล่า mean reversion พ่วงอยู่
ท้ายที่สุด การคุยเรื่องความจุในการรองรับจะกลายเป็นการคุยเรื่องระยะเวลาถือครอง ผลกระทบคือต้นทุนของความเร็ว ถ้าคุณถือได้นานขึ้นก็เทรดขนาดใหญ่ขึ้นได้ แต่ถ้าถือไม่ได้ ขนาดคือปัจจัยเดียวที่คุณปรับได้
ยังมีข้อจำกัดอีกอย่างที่เริ่มปรากฏระหว่าง $2,000 กับ $50,000 และทำให้หลายคนแปลกใจ นั่นคือระดับเลเวอเรจ ในตลาดซื้อขายส่วนใหญ่ เลเวอเรจสูงสุดของ perpetual เหรียญ mid-cap จะลดลงเมื่อ notional ของสถานะเพิ่มขึ้น และสำหรับเหรียญขนาดเล็ก วงเงินขั้นบนสุดมักสิ้นสุดก่อนถึงขนาดที่คุณกำลังจะเทรด มาร์จินที่ backtest สมมติไว้ตอน $2,000 ไม่ใช่มาร์จินที่คุณจะได้ตอน $50,000 ตรวจตารางจำกัดความเสี่ยงของทุกสัญลักษณ์ในจักรวาลของคุณ ก่อนจะสมมติว่าความต้องการเงินทุนเพิ่มขึ้นตามสัดส่วนตรง
สิ่งที่ผมจะทำจริง ๆ ในสัปดาห์นี้
- รัน backtest เดิมซ้ำที่ 6 ขนาด — $2k, $5k, $10k, $25k, $50k, $100k — โดยใส่แบบจำลองผลกระทบที่คำนวณจากขนาดคำสั่งเทียบกับ quote volume ของแท่งนั้น ไม่ใช่ค่าคงที่ของ slippage การใช้ค่าคงที่นี่แหละที่ทำให้คุณเชื่อว่ารองรับ $50,000 ได้ตั้งแต่แรก
- พล็อตค่า Sharpe สุทธิเทียบกับขนาด คุณจะได้เส้นโค้งที่ราบก่อน แล้วเริ่มหักลง จากนั้นก็ร่วง ความจุของคุณอยู่ตรงจุดที่เส้นโค้งตัดกับค่า Sharpe ที่คุณยอมรับได้ โดยเผื่อส่วนลดไว้อีกมากพอ เพราะแบบจำลองผลกระทบทุกแบบมองโลกดีเกินไปในช่วงปลาย
- แบ่งจักรวาลเหรียญตามชั้นสภาพคล่อง แล้วกำหนดขนาดแยกตามสัญลักษณ์แทนการใช้ขนาดเท่ากัน การกำหนดขนาดเท่ากันให้ทั้งสามสิบเหรียญหมายถึงเหรียญกลุ่มท้ายกำลังอุดหนุนเหรียญหลักอย่างเงียบ ๆ และเหรียญกลุ่มท้ายนี่แหละที่กินปริมาณ 80% ของแท่ง
- ทดลองเทรดบน paper ที่ขนาดตามที่เส้นโค้งแนะนำ แล้วบันทึก slippage ที่เกิดขึ้นจริงเทียบกับค่าที่แบบจำลองประเมินไว้ทุกครั้งที่ fill การเปรียบเทียบนี้เป็นวิธีเดียวที่จะปรับเทียบ Y จากข้อมูลจริงได้ ค่า Y ของผมที่วัดจากสมุดคำสั่งของเหรียญ alt ที่มีสภาพคล่องบาง มักใกล้ 1.4 มากกว่า 1.0
ถ้าให้เดาโดยยังไม่เห็นข้อมูล ผมคิดว่าคำตอบน่าจะอยู่แถว $8,000–$12,000 ต่อครั้ง สำหรับสองในสามของจักรวาลเหรียญที่มีสภาพคล่องสูง และคุณควรตัดกลุ่มล่างสุดหนึ่งในสามทิ้งไปเลย แทนที่จะยอมรับ fill แบบที่มันจะให้ นั่นยังเป็นการเพิ่มจากตอนนี้หลายเท่าตัว แค่ไม่ถึง 25 เท่า และคุณหาคำตอบนี้จากสเปรดชีตได้โดยไม่เสียอะไรเลย
พอได้เส้นโค้งขนาดแล้วส่งมาให้ผมดูด้วยนะ ผมอยากรู้ว่าของคุณเริ่มหักลงตรงไหน
← บทความทั้งหมด

