13 ตุลาคม 2026 · งานวิจัย

แบ็กเทสต์ของคุณพบผลตอบแทนส่วนเกิน 20% แล้วส่วนไหนมาจากการประทับเวลาผิดเพียงครั้งเดียว?

แบ็กเทสต์ของคุณพบผลตอบแทนส่วนเกิน 20% แล้วส่วนไหนมาจากการประทับเวลาผิดเพียงครั้งเดียว?

แบ็กเทสต์ให้ผลตอบแทนต่อปี 20% โดยใช้ข้อมูล 8 ปี มีการซื้อขาย 1,640 ครั้ง และแบ่งชุดข้อมูลแบบ walk-forward อย่างเรียบร้อย จากนั้นเราแทนที่ข้อมูลย้อนหลังปัจจุบันของผู้ให้บริการด้วยค่าที่บันทึกไว้ ณ เวลานั้น แล้วผลตอบแทนส่วนเกินก็ลดลงเหลือ 3%

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

ทำไมข้อมูลย้อนหลังจึงเปลี่ยนได้หลังเกิดเหตุการณ์?

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

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

มีจุดที่พลาดกันง่ายอยู่ตรงนี้: ชื่อฟิลด์อย่าง date มักหมายถึงช่วงเวลาที่ค่าครอบคลุม ไม่ใช่เวลาที่ข้อมูลพร้อมใช้งาน แถวรายได้รายไตรมาสที่ระบุวันที่ 31 มีนาคม อาจเพิ่งเผยแพร่ในเดือนพฤษภาคม ป้ายวันที่หมายถึงช่วงเวลาของธุรกิจ ไม่ใช่ชุดข้อมูลที่กลยุทธ์ใช้ตัดสินใจได้

แบ็กเทสต์ควรใช้การประทับเวลาใด?

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

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

ตัวอย่างเช่น สมมติว่ายอดขายรายไตรมาสของบริษัทครอบคลุมช่วงมกราคมถึงมีนาคม มีการรายงานวันที่ 8 พฤษภาคม เวลา 16:15 ตามเวลาฝั่งตะวันออก และเข้าถึงคลังข้อมูลวิจัยของคุณเวลา 16:17 กลยุทธ์ที่ตัดสินใจตอนปิดตลาดวันที่ 8 พฤษภาคมใช้รายงานนี้ไม่ได้ หากตัดสินใจตอนปิดตลาดเวลา 16:00 แต่กลยุทธ์ที่ตัดสินใจเช้าวันถัดไปใช้ได้ วันที่สิ้นไตรมาสเพียงอย่างเดียวตอบคำถามทั้งสองข้อนี้ไม่ได้

จะทดสอบได้อย่างไรว่าการแก้ไขข้อมูลกำลังขับเคลื่อนผลลัพธ์?

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

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

20%ผลตอบแทนเมื่อใช้ข้อมูลย้อนหลังฉบับล่าสุด
3%ผลตอบแทนเมื่อใช้ค่าข้อมูล ณ เวลานั้น
17 ppช่องว่างที่อ่อนไหวต่อการแก้ไขข้อมูล

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

การตรวจสอบข้อมูล ณ เวลานั้นควรบันทึกอะไรบ้าง?

เริ่มจากฟิลด์ที่กลยุทธ์ของคุณใช้จริง สำหรับแต่ละฟิลด์ ให้ระบุแหล่งข้อมูล ความหมายของการประทับเวลา นโยบายการแก้ไข และเรียกดูข้อมูลฉบับก่อนหน้าได้หรือไม่ ถามผู้ให้บริการว่าบันทึกการแก้ไขอย่างไร: เขียนทับแถวเดิม เพิ่มแถวสำหรับข้อมูลฉบับใหม่ หรือแยกไว้ในบันทึกการตรวจสอบ คำว่า “ข้อมูลย้อนหลัง” บนหน้าผลิตภัณฑ์ยังตอบเรื่องนี้ไม่ได้

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

เมื่อไม่มีข้อมูลย้อนหลัง ณ เวลานั้น

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

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

การทำแบ็กเทสต์วิศวกรรมข้อมูลการดำเนินการของบริษัทข้อมูล ณ เวลานั้น
แชร์XLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← บทความทั้งหมด