เช้าวันอังคาร กลยุทธ์ตามแนวโน้มฟิวเจอร์สน้ำมันดิบของเราถือสถานะซื้อในสัญญาที่กำลังจะหมดอายุ สัญญาณทำงานตรงตามที่เรากำหนดไว้ทุกอย่าง คือถือสถานะต่อไปตราบใดที่แนวโน้มยังเป็นบวก การทดสอบย้อนหลังแสดงกำไรเล็กน้อย ส่วนบัญชี paper แสดงรายการขาย ซื้อสัญญาเดือนถัดไป เสียค่าธรรมเนียม 2 ครั้ง และได้ราคาเข้าที่แย่กว่าที่กราฟบอก
ไม่ได้มีอะไรลึกลับเกิดขึ้นกับสัญญาณ การทดสอบย้อนหลังมองว่า “ราคาฟิวเจอร์ส” เป็นสิ่งเดียวที่ต่อเนื่องกัน แต่ในบัญชีจริงต้องปิดสัญญาหนึ่งแล้วเปิดอีกสัญญาใน order book 2 เล่มที่มีราคาต่างกัน
เราพบความคลาดเคลื่อนระหว่างตรวจสอบสถานะที่ถือข้ามช่วงโรล กลยุทธ์ใช้สัญญาเดือนใกล้ที่มีสภาพคล่องสูง และถือไว้จนกฎตามปฏิทินกำหนดให้ย้ายไปเดือนถัดไป กฎนั้นสมเหตุสมผล แต่การบันทึกบัญชีที่ใช้ประกอบนั้นไม่สมเหตุสมผล
เราใช้อนุกรมราคาต่อเนื่องที่ปรับย้อนหลังเพื่อขจัดช่องว่างระหว่างสัญญา จึงใช้กราฟคำนวณแนวโน้มได้สะดวก แต่ก็ทำให้อนุกรมราคานี้ไม่มีราคาจริงที่เราจะใช้ปิดสัญญาเก่าหรือเปิดสัญญาใหม่ได้ การทดสอบย้อนหลังใช้ระดับราคาที่ปรับแล้วประเมินสถานะระหว่างโรล จากนั้นก็กลับมาซื้อขายต่อราวกับว่าสถานะเดิมดำเนินต่อไป
อนุกรมราคาต่อเนื่องอาจเป็นตัววัดที่มีประโยชน์สำหรับสร้างสัญญาณ แต่สำหรับการจับคู่คำสั่ง มันเป็นเรื่องสมมติ การโรลประกอบด้วยการซื้อขาย 2 ครั้ง และสเปรดระหว่างสัญญาก็เป็นส่วนหนึ่งของโครงสร้างตลาด ไม่ใช่การกระโดดของราคาที่จะลบออกเพื่อให้กราฟเรียบ
เราจำลองเหตุการณ์นี้ใหม่โดยใช้สัญญาที่จดทะเบียนซื้อขายทั้ง 2 เดือน สัญญาเดือนเก่ามี bid ที่ 79.98 และ ask ที่ 80.00 ส่วนสัญญาเดือนถัดไปมี bid ที่ 80.42 และ ask ที่ 80.45 สถานะซื้อของเราต้องขายสัญญาเก่าที่ bid แล้วซื้อสัญญาใหม่ที่ ask สเปรดปฏิทินระหว่างราคาทั้ง 2 ฝั่งที่ซื้อขายได้อยู่ที่ 44 เซนต์
ตัวเลขนี้ไม่ได้หมายความว่าเราขาดทุน 44 เซนต์โดยอัตโนมัติ สัญญาทั้ง 2 มีเดือนส่งมอบต่างกัน และสเปรดสะท้อนต้นทุนถือครอง การจัดเก็บ การเงิน และการคาดการณ์ด้านอุปทาน การถือสถานะข้ามช่วงโรลยังคงทำให้เราได้รับความเสี่ยงต่อเส้นทางราคาของสัญญาใหม่ ไม่ได้หมายความว่าเราต้องจ่ายสเปรดที่เสนอทั้งหมดเป็นค่าธรรมเนียม แต่กลยุทธ์ต้องรับรู้การออกจากสัญญาเก่าและการเข้าสู่สัญญาใหม่ หากการคำนวณผลตอบแทนเปรียบเทียบราคาเหล่านี้ราวกับเป็นตราสารเดียวกัน ก็อาจสร้างหรือทำให้ P&L หายไปได้
เราแยกหน้าที่ต่าง ๆ ออกจากกันในการจำลองซ้ำ อนุกรมราคาต่อเนื่องยังคงใช้สร้างสัญญาณแนวโน้ม ส่วนราคาเฉพาะของแต่ละสัญญาใช้ประเมินมูลค่าและส่งคำสั่ง เมื่อถึงเวลาโรล ตัวจำลองจะส่งคำสั่งปิดสัญญาเดือนที่กำลังหมดอายุและคำสั่งเปิดสัญญาเดือนถัดไป คิดค่าธรรมเนียมของแต่ละสัญญา และใช้สเปรดกับความลึกที่มีอยู่ใน order book ของแต่ละสัญญา
การจำลองซ้ำครั้งแรกยังไม่ตรงกับบัญชี paper เรากำหนดให้การจับคู่คำสั่งทั้ง 2 เกิดขึ้นในเวลาเดียวกัน ทั้งที่ส่งคำสั่งตามลำดับ คำสั่งปิดสัญญาเดือนเก่าจับคู่ได้ แต่ ask ของสัญญาเดือนถัดไปขยับก่อนที่คำสั่งซื้อจะไปถึง order book หากสถานที่ซื้อขายรองรับ ก็สามารถดำเนินการโรลเป็น calendar spread ได้ หรือจะทำเป็น 2 ขาโดยมีความเสี่ยงคั่นกลางก็ได้ สมมติฐานการส่งคำสั่ง 2 แบบนี้แตกต่างกัน เราจึงใช้ลำดับคำสั่งจริงจากบัญชี paper เป็นเกณฑ์เปรียบเทียบ
จากนั้นเราพบว่ากฎกำหนดวันโรลเองก็ยังระบุไม่ชัดเจน “โรลก่อนหมดอายุ 5 วัน” ฟังดูแม่นยำ จนวันหยุดทำให้ปฏิทินการซื้อขายเลื่อน สภาพคล่องย้ายไปสัญญาเดือนถัดไปเร็วขึ้น หรือธรรมเนียมวันหมดอายุแตกต่างกันไปในแต่ละสัญญา เราเขียนโค้ดให้นับวันตามปฏิทินในจุดหนึ่ง และนับวันทำการในอีกจุดหนึ่ง กลยุทธ์ paper โรลก่อนวันซื้อขายสุดท้าย 5 ช่วงการซื้อขาย ส่วนการทดสอบย้อนหลังโรลก่อนวันนั้น 5 วันตามปฏิทิน
วันโรลเป็นกฎการซื้อขาย ให้ระบุปฏิทินของตลาดและเหตุการณ์ที่ใช้กระตุ้นให้โรลไว้ให้ชัด ไม่เช่นนั้น สักวันการทดสอบย้อนหลังกับบัญชีจริงจะไม่ตรงกันว่าเราถือสัญญาใดอยู่
เราปรับคำสั่งโรลให้ระบุวันซื้อขายสุดท้ายของสัญญา นับช่วงการซื้อขายตามปฏิทินของตลาดนั้น และกำหนดให้ตรวจสอบสภาพคล่องขั้นต่ำก่อนย้าย เกณฑ์นี้เป็นมาตรการป้องกันเชิงปฏิบัติ ไม่ใช่คำรับรองว่าจะได้ราคาจับคู่ที่ดีกว่า เพราะปริมาณซื้อขายและสถานะคงค้างเป็นตัวชี้วัดที่ไม่สมบูรณ์ว่าคำสั่งของเราจะจับคู่ได้มากน้อยแค่ไหน เราบันทึกสัญญาที่เลือกและราคาของทั้ง 2 ขาไว้ เพื่อให้ทุกการจำลองซ้ำอธิบายการเปลี่ยนผ่านได้
หลังปรับแก้เหล่านั้น ผลตอบแทนย้อนหลังของกลยุทธ์ลดลง ความแตกต่างนี้ไม่ได้เกิดจากการขาดทุนก้อนใหญ่ครั้งเดียวตอนโรล แต่เกิดจากการแก้ไขเล็ก ๆ หลายอย่าง ทั้งใช้สัญญาที่ถูกต้อง ช่วงการซื้อขายที่ถูกต้อง คิดค่าธรรมเนียมจริงของทั้ง 2 ขา และใช้ราคาซื้อออกกับราคาเข้าจาก order book ของแต่ละสัญญา การโรลครั้งหนึ่งในตลาดที่บางเป็นพิเศษมีต้นทุนสูง เราจึงแสดงผลครั้งนั้นไว้ให้เห็น แทนที่จะเฉลี่ยกลบไป
ถ้าการทดสอบย้อนหลังฟิวเจอร์สของคุณใช้กราฟราคาแบบต่อเนื่อง ลองถามว่ากราฟนั้นใช้ทำอะไรได้บ้าง มันเป็นข้อมูลนำเข้าที่สม่ำเสมอสำหรับสร้างสัญญาณได้ แต่ใช้แทนสัญญาที่คุณซื้อหรือขายได้จริงไม่ได้ สำหรับทุกสถานะที่ถือข้ามวันหมดอายุ บันทึกการวิจัยควรระบุสัญญาเก่า สัญญาใหม่ ตัวกระตุ้นให้โรล แบบจำลองการส่งคำสั่ง และกระแสเงินสดที่เกิดขึ้น 2 รายการ
การซื้อขายวันอังคารครั้งนั้นไม่ได้ล้มเหลวเพราะปัจจัยซับซ้อนอะไร มันเป็นเพียงเส้นบนกราฟที่ดูเหมือนทำกำไร แต่ข้ามช่วงเวลาที่บัญชีต้องเปลี่ยนสิ่งที่ถืออยู่ไป เมื่อเราใส่ช่วงเวลานั้นกลับเข้าไปในการจำลองซ้ำ ผลลัพธ์ก็ดูน่าประทับใจน้อยลง และมีประโยชน์มากขึ้น
← บทความทั้งหมด


