เวลา 00:05 UTC ของวันอังคาร กลยุทธ์คริปโตแบบภาคตัดขวางของเราจัดอันดับสัญญา Perpetual 40 สัญญาตามคะแนนแนวโน้มระยะสั้น แล้วปรับสถานะ 10 อันดับแรกให้มีน้ำหนักเท่ากัน การทดสอบย้อนหลังแสดงส่วนต่างระหว่างผู้ชนะกับผู้แพ้ที่น่าพอใจ จากนั้นเราลองให้กลยุทธ์เทรดด้วยเงินทุน $250,000 และเส้นผลตอบแทนที่ดูสวยงามก็เริ่มพังลง
ปัญหาไม่ได้ซ่อนอยู่ในสัญญาณ แต่อยู่ที่การปรับสมดุลพอร์ต: ซื้อ 10 รายการ ขาย 10 รายการ และมีสัญญาอยู่ไม่กี่ตัวที่ความลึกของสมุดคำสั่งซึ่งแสดงไว้ดูเหมือนมีมากพอ จนกระทั่งคำสั่งทั้งหมดมาถึงพร้อมกัน กลยุทธ์มองว่าการเปลี่ยนแปลงพอร์ตเป็นเพียงการอัปเดตราคา แต่ตลาดมองว่าเป็นคิวคำสั่งซื้อขายจริง
เราจำลองเหตุการณ์วันอังคารนั้นกลับตามลำดับ เริ่มจากลดสถานะเดิมก่อน แล้วจึงเปิดสถานะใหม่ น้ำหนักเป้าหมายเรียบง่าย แต่เส้นทางที่จะไปถึงกลับไม่ง่ายเลย
ตัวเลข 8 basis points ต่อฝั่งมาจากการประเมินต้นทุนเฉลี่ยเพียงค่าเดียว ซึ่งรวมค่าธรรมเนียมของแพลตฟอร์มและส่วนเผื่อ slippage เล็กน้อย ทำให้ทุกคำสั่งมีต้นทุนเท่ากัน ไม่ว่าจะเป็นสัญญาที่มีสภาพคล่องสูงในช่วงตลาดสงบ หรือสัญญาที่มีสภาพคล่องบางหลังความผันผวนพุ่งขึ้น
เราเริ่มจากคำสั่งที่ใหญ่ที่สุด เป้าหมาย $25,000 คิดเป็น 0.4% ของปริมาณซื้อขายรายวัน ซึ่งฟังดูไม่น่ากังวล แต่ปริมาณซื้อขายรายวันไม่ได้บอกว่ามีอะไรให้ซื้อขายได้บ้างในช่วงไม่กี่วินาทีที่เราจำเป็นต้องส่งคำสั่ง ราคาและปริมาณที่ดีที่สุดในสมุดคำสั่งมีน้อย ส่วนระดับถัดไปอีกไม่กี่ระดับก็มีช่วงราคาห่างกันมากขึ้นอย่างรวดเร็ว การซื้อหรือขายทันทีเต็มจำนวนจะกวาดกินราคาหลายระดับ การส่งคำสั่ง limit จะช่วยประหยัดส่วนต่างราคาได้ก็ต่อเมื่อจับคู่สำเร็จ และกลยุทธ์ไม่มีหลักประกันว่าจะได้จับคู่ก่อนถึงการตัดสินใจครั้งถัดไป
เราจึงแบ่งคำสั่งเป็น 5 ชุด ชุดละ $5,000 วิธีนี้ลดผลกระทบที่เกิดขึ้นทันที แต่ก็ทำให้ต้องคำนึงถึงเวลาและเส้นทางราคา: แต่ละชุดอาจได้ราคาต่างกัน และหากราคาเคลื่อนไหวเร็ว สถานะอาจสร้างได้เพียงครึ่งเดียว เราบันทึกผลลัพธ์ทั้ง 2 แบบ ส่วนการทดสอบย้อนหลังเดิมไม่ได้บันทึกไว้เลย
และนี่เป็นเพียงขาเดียว กลยุทธ์ขายสถานะที่หลุดจาก 10 อันดับแรก แล้วซื้อสถานะใหม่เข้ามา ยอดเปิดรับความเสี่ยงสุทธิยังใกล้เคียงเป้าหมาย แต่ปริมาณการซื้อขายหมุนเวียนรวมเกือบ 2 เท่าของเงินทุนที่จัดสรรไว้ หากคิดต้นทุนเฉพาะจากการเปลี่ยนแปลงพอร์ตขั้นสุดท้าย ก็จะพลาดการเทรดที่จำเป็นเพื่อให้ไปถึงจุดนั้น
| วิธีส่งคำสั่ง | สิ่งที่ประหยัดได้ | ความเสี่ยงที่ต้องรับ |
|---|---|---|
| คำสั่ง market 1 รายการ | เวลาและความไม่แน่นอนว่าจะดำเนินการครบหรือไม่ | ใช้ความลึกของสมุดคำสั่งมากขึ้นในครั้งเดียว |
| คำสั่ง market 5 ชุด | ลดผลกระทบที่เกิดขึ้นทันที | ราคาเคลื่อนไหวระหว่างแต่ละชุด |
| คำสั่ง limit | อาจจ่ายส่วนต่างราคาน้อยลง | จับคู่ได้บางส่วนหรือไม่ได้เลย |
บ่ายวันนั้น เราเปลี่ยนจากการเผื่อ slippage แบบอัตราคงที่มาใช้แบบจำลองการมีส่วนร่วมอย่างง่าย ผลกระทบที่คาดจากแต่ละคำสั่งจะเพิ่มขึ้นตามขนาดคำสั่งเมื่อเทียบกับปริมาณซื้อขายล่าสุด และเรากำหนดเพดานการมีส่วนร่วมในการจำลอง เพื่อไม่ให้กลยุทธ์ใช้สัดส่วนตลาดที่เกินจริง แม้จะยังเป็นเพียงการประมาณ เพราะปริมาณซื้อขายรวมไม่ใช่คิวคำสั่งแบบเรียลไทม์ และแท่งราคาไม่ได้เผยให้เห็นทุกราคาที่เกิดขึ้นระหว่างทาง แต่แบบจำลองนี้บังคับให้การทดสอบย้อนหลังยอมรับว่า สัญญาณเดียวกันมีต้นทุนการส่งคำสั่งต่างกันเมื่อใช้ขนาดการเทรดต่างกัน
การทดสอบรอบแก้ไขยังคิดค่าธรรมเนียม taker เมื่อคำสั่งข้ามส่วนต่างราคา และคิดค่าธรรมเนียม maker เฉพาะเมื่อการจำลองสมมติว่าคำสั่งที่ตั้งรอไว้จับคู่สำเร็จ ส่วน funding ยังคงเป็นต้นทุนการถือสถานะแยกต่างหาก ไม่ควรรวมไว้ในต้นทุนการปรับสมดุลพอร์ต การแยกรายการต้นทุนเหล่านี้ออกจากกันทำให้เห็นปัญหาได้ชัด กลยุทธ์ไม่ได้ทำนายแย่ลงกะทันหัน แต่ปริมาณการซื้อขายหมุนเวียนมีต้นทุนสูงเมื่อเทียบกับความได้เปรียบที่คาดการณ์ไว้
เมื่อสิ้นสัปดาห์ เราลดความถี่ในการปรับสมดุลพอร์ต และตัดสัญญาที่ความลึกของสมุดคำสั่งซึ่งมีอยู่ทำให้น้ำหนักเป้าหมายไม่สมจริง ผลตอบแทนจากการทดสอบย้อนหลังลดลง แต่สมมติฐานเรื่องการส่งคำสั่งอธิบายได้ง่ายขึ้น ซึ่งเป็นผลลัพธ์ที่มีประโยชน์กว่าตัวเลขผลตอบแทนที่สูงกว่า
เมื่อทบทวนกลยุทธ์พอร์ต ให้ติดตามการปรับสมดุลพอร์ต 1 ครั้งจนถึงรายละเอียดทุกขั้น ตั้งแต่น้ำหนักเป้าหมายไปสู่คำสั่งแต่ละรายการ จากคำสั่งไปสู่การจับคู่ที่เป็นไปได้ และจากการจับคู่ไปสู่ค่าธรรมเนียมกับผลกระทบต่อตลาด หากขาดการไล่ดูเส้นทางนี้ เส้นผลตอบแทนก็แสดงพอร์ตที่ไม่เคยต้องซื้อขายจริง
← บทความทั้งหมด


