11 พฤศจิกายน 2026 · execution

กลยุทธ์ผ่านการทดสอบแล้ว แต่ตลาดซื้อขายเปลี่ยนขนาดช่วงราคา

กลยุทธ์ผ่านการทดสอบแล้ว แต่ตลาดซื้อขายเปลี่ยนขนาดช่วงราคา

เวลา 08:00 UTC ในวันอังคาร ตลาดคริปโทแห่งหนึ่งเปลี่ยนขนาดช่วงราคาของสัญญาเพอร์เพทชวลที่มีราคาระดับกลาง กลยุทธ์ basis ของเราไม่รู้ตัว สัญญาณยังเห็นส่วนต่างระหว่างตลาดสปอตกับฟิวเจอร์สเท่าเดิม ขีดจำกัดความเสี่ยงไม่เปลี่ยน และผลการทดสอบย้อนหลังยังออกมาเหมือนเดิม

แต่การซื้อขายจำลองตรวจพบปัญหา อะแดปเตอร์คำสั่งปัดราคาลิมิตซื้อให้ลงไปยังราคาที่อนุญาตใกล้ที่สุด ทำให้คำสั่งอยู่ต่ำกว่าระดับราคาที่การทดสอบย้อนหลังจำลองไว้ 1 ช่วงราคา ตลาดแตะราคาเดิม คำสั่งจำลองจึงถูกจับคู่ แต่คำสั่งในการซื้อขายจำลองยังค้างโดยไม่มีการจับคู่ พอถึงมื้อกลางวัน สถานะถือครองของกลยุทธ์ก็เริ่มไม่สมดุล

เหตุการณ์นี้ดูเหมือนเป็นบั๊กการปัดราคาเล็กน้อย แต่แท้จริงแล้วเป็นปัญหาขอบเขตของแบบจำลอง กลยุทธ์รู้จักราคา แต่การทดสอบย้อนหลังไม่รู้จักกริดราคาของตลาดซื้อขาย

เราซื้อขายด้วยสัญญาณ basis แบบเรียบง่าย โดยซื้อสปอตและขายเพอร์เพทชวลเมื่อพรีเมียมของฟิวเจอร์สขยายเกินเกณฑ์ คำสั่งเป็นแบบตั้งรอ เพราะส่วนต่าง basis ที่คาดหวังมีขนาดเล็ก ราคาเพียงไม่กี่ช่วงก็อาจเป็นตัวตัดสินว่ากำไรจากการเข้าซื้อจะมากพอจ่ายค่าธรรมเนียมและต้นทุนตอนปิดสถานะหรือไม่

เกิดอะไรขึ้นเมื่อขนาดช่วงราคาเปลี่ยน?

ก่อนอัปเดต สัญญาเพอร์เพทชวลรับราคาที่เพิ่มทีละ 0.01 หลังจากนั้น ราคาในช่วงราคาที่เกี่ยวข้องต้องเพิ่มทีละ 0.05 สัญญาณคำนวณราคาเป้าหมายสำหรับขายไว้ที่ 42,318.03 ซึ่งเป็นราคาที่ใช้ได้ตามกฎเดิม แต่ตามกฎใหม่ ราคานี้ใช้ไม่ได้

ตลาดซื้อขายปฏิเสธราคาที่ไม่ถูกต้อง แต่อะแดปเตอร์ของเรามีวิธีสำรอง โดยปัดราคาขายลงเป็น 42,318.00 ซึ่งก็ยังใช้ไม่ได้ วิธีสำรองลำดับถัดไปปัดอีกครั้งเป็น 42,318.05 ซึ่งใช้ได้ แต่ทำให้ราคาขายเชิงรุกน้อยลง คำสั่งจึงขายที่ราคาแบบจำลองเดิมไม่ได้ โค้ดส่วนนี้เขียนไว้สำหรับตลาดอีกแห่ง และเปลี่ยนการปฏิเสธคำสั่งให้กลายเป็นการปรับราคาใหม่อย่างเงียบ ๆ

คำสั่งเดียวนี้ทำให้เกิดคำถาม 2 ข้อที่แตกต่างกัน ข้อแรก ตลาดซื้อขายยอมรับราคาใดได้บ้าง ข้อสอง กลยุทธ์ควรทำอย่างไรเมื่อราคาที่ต้องการไม่อยู่บนกริดราคา ตลาดซื้อขายเป็นผู้ตอบข้อแรก ส่วนกลยุทธ์หรือนโยบายการส่งคำสั่งต้องตอบข้อสอง

เจตนาของคำสั่งกฎกริดราคาทิศทางการปัดราคาโดยทั่วไปสิ่งที่อาจเปลี่ยนแปลง
ลิมิตซื้อราคาต้องเป็นทวีคูณของช่วงราคาปัดลงเพื่อให้อยู่ที่หรือต่ำกว่าราคาลิมิตโอกาสถูกจับคู่ลดลง
ลิมิตขายราคาต้องเป็นทวีคูณของช่วงราคาปัดขึ้นเพื่อให้อยู่ที่หรือสูงกว่าราคาลิมิตโอกาสถูกจับคู่ลดลง
ลิมิตที่พร้อมจับคู่ทันทีต้องเป็นไปตามขอบเขตราคาด้วยขึ้นอยู่กับราคาสูงสุดที่ยอมรับได้คำสั่งข้ามส่วนต่างราคาซื้อขายหรือไม่

ไม่มีกฎการปัดราคาแบบใดที่ถูกต้องเสมอไป การปัดราคาซื้อลงช่วยรักษาข้อจำกัดด้านราคาของผู้ซื้อ แต่ก็ทำให้โอกาสจับคู่ลดลง การปัดขึ้นอาจทำให้คำสั่งพร้อมจับคู่ทันที ซึ่งส่งผลต่อค่าธรรมเนียมและผลกระทบต่อตลาด สำหรับคำสั่งเข้าซื้อ basis แบบตั้งรอของเรา การปรับราคาอย่างเงียบ ๆ เป็นพฤติกรรมที่ผิด กลยุทธ์กำหนดราคาเป้าหมายไว้ แต่อะแดปเตอร์กลับเปลี่ยนเงื่อนไขทางเศรษฐกิจของคำสั่ง

ทำไมผลการทดสอบย้อนหลังยังดูดีอยู่?

ตัวจำลองคำสั่งย้อนหลังของเรามองราคาลิมิตเป็นตัวเลขต่อเนื่อง หากราคาต่ำสุดของแท่งแตะราคาซื้อ หรือราคาสูงสุดแตะราคาขาย ก็จะนับว่าคำสั่งถูกจับคู่ การประมาณแบบนี้เอื้อให้คำสั่งตั้งรออยู่แล้ว เพราะราคาที่มีการซื้อขายแตะราคาลิมิตไม่ได้บอกอะไรเกี่ยวกับตำแหน่งในคิว แต่การอัปเดตช่วงราคาทำให้เห็นช่องโหว่ที่พื้นฐานกว่านั้น นั่นคือคำสั่งไม่สามารถมีอยู่ที่ราคานั้นได้

เราจำลองการตัดสินใจเดิมซ้ำโดยใช้กริดราคาใหม่ตั้งแต่เวลาที่กฎมีผล คำสั่งหลายรายการไม่ถูกจับคู่ คำสั่งบางรายการถูกปัดไปยังราคาที่ข้ามส่วนต่างราคาซื้อขาย จึงเสียค่าธรรมเนียมแบบ taker แทน maker เส้นทางสถานะถือครองที่ได้จึงแตกต่างออกไป และทำให้การป้องกันความเสี่ยงกับการปิดสถานะในภายหลังเปลี่ยนตาม กฎที่ดูเหมือนเป็นเพียงข้อมูลกำกับกลับเปลี่ยนลำดับการซื้อขายทั้งหมด

และการอัปเดตนี้ไม่ได้เป็นเรื่องไม่คาดคิดที่ซ่อนอยู่ในกราฟ ตลาดซื้อขายประกาศการเปลี่ยนกฎของตราสารพร้อมเวลาที่มีผลไว้แล้ว เราจัดเก็บข้อมูลตลาดอย่างรอบคอบ แต่ข้อมูลกำกับตราสารอยู่ในแคชที่รีเฟรชตอนเริ่มระบบ การทดสอบย้อนหลังใช้กฎของวันนี้กับทุกวันในอดีต ส่วนการซื้อขายจำลองใช้กฎเก่าจนกว่าจะรีสตาร์ตโปรเซส ทั้งสองสภาพแวดล้อมจึงไม่ได้จำลองสิ่งที่ตลาดซื้อขายอนุญาตในแต่ละช่วงเวลา

ควรจำลองการเปลี่ยนขนาดช่วงราคาในการทดสอบย้อนหลังอย่างไร?

กำหนดเวอร์ชันของกฎตราสารพร้อมช่วงเวลาที่กฎมีผล เช่นเดียวกับข้อมูลนำเข้าอื่น ๆ ที่ต้องอ้างอิงตามเวลาจริงในอดีต อย่างน้อยที่สุด ให้เก็บเวลาที่กฎเริ่มมีผลและค่ากฎที่จำเป็นต่อการตรวจสอบคำสั่ง ได้แก่ ขนาดช่วงราคา ขั้นของปริมาณการซื้อขาย ปริมาณขั้นต่ำ และช่วงราคาที่กำหนด ตัวจำลองควรโหลดชุดกฎที่ใช้ได้ ณ เวลาตัดสินใจจำลอง

จากนั้นกำหนดวิธีจัดการคำสั่งให้ชัดเจน หากราคาเป้าหมายไม่ถูกต้อง ให้ปฏิเสธ ปัดราคาตามนโยบายที่บันทึกไว้ หรือคำนวณราคาเป้าหมายใหม่ให้อยู่บนกริดราคา พร้อมบันทึกว่าเกิดกรณีใดขึ้น การทดสอบย้อนหลังที่ปรับแก้ทุกคำสั่งโดยอัตโนมัติอาจใช้ประเมินนโยบายการส่งคำสั่งแบบใดแบบหนึ่งได้ แต่ไม่ควรทำให้นโยบายนั้นดูเหมือนเป็นการจับคู่คำสั่งของตลาดซื้อขาย

สำหรับคำสั่งตั้งรอ ราคาที่ถูกต้องตามช่วงราคาเป็นเพียงเงื่อนไขแรกของการจับคู่ คุณยังต้องมีแบบจำลองที่บอกว่าตลาดซื้อขายผ่านราคาของคุณหรือไม่ มีคำสั่งใดอยู่ข้างหน้าคุณในคิวบ้าง มีการยกเลิกคำสั่งหรือไม่ และคุณจะได้ค่าธรรมเนียมระดับใด

เราเพิ่มการตรวจสอบ 2 รายการ รายการแรกนำคำสั่งที่สร้างขึ้นทุกรายการไปตรวจตามกฎตราสาร ณ เวลานั้น และแจ้งข้อผิดพลาดอย่างชัดเจนเมื่อราคาหรือขนาดคำสั่งไม่ถูกต้อง รายการที่สองเปรียบเทียบคำสั่งสุดท้ายที่ผ่านการปรับรูปแบบแล้วของอะแดปเตอร์การทดสอบย้อนหลังกับการซื้อขายจำลอง ได้แก่ ฝั่ง ราคา ปริมาณ คำสั่งมีผลเมื่อใด และเจตนาเรื่องค่าธรรมเนียม หากไม่ตรงกัน เราจะไม่นับว่าการรันทั้งสองเทียบกันได้

หลังจากนั้น เราจำลองเหตุการณ์วันอังคารซ้ำ การทดสอบย้อนหลังไม่อ้างว่าคำสั่งถูกจับคู่ที่ 42,318.03 หลังกริดราคาเปลี่ยนอีกต่อไป การซื้อขายจำลองกับการจำลองตัดสินใจตรงกันสำหรับราคาเป้าหมายที่ไม่ถูกต้องทุกรายการ แม้การตัดสินใจนั้นคือข้ามคำสั่งก็ตาม

สัญญาณไม่ได้เสีย แต่สมมติฐานของกลยุทธ์เกี่ยวกับสิ่งที่ซื้อขายได้ล้าสมัย กลยุทธ์รับมือกับขนาดช่วงราคาใหม่ได้ หากระบบวิจัยถือว่ากฎของตลาดซื้อขายเป็นส่วนหนึ่งของตลาดที่กำลังจำลอง

กฎของตลาดซื้อขายขนาดช่วงราคาการปัดราคาคำสั่งการทดสอบย้อนหลังการซื้อขายจำลอง
แชร์XLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← บทความทั้งหมด