ถึงผู้สร้างกลยุทธ์คัดกรองข้อมูลการจ้างงาน,
คุณสร้างกฎง่าย ๆ ขึ้นมา: หลังรายงานการจ้างงานสหรัฐฯ กลยุทธ์จะถือ ETF หุ้นไว้ 5 เซสชัน หากการเติบโตของการจ้างงานรายเดือนเกิน 175,000 มิฉะนั้นก็ถือเงินสด คุณกำหนดเวลาเข้าซื้อหลังตลาดหุ้นเปิด รวมต้นทุนการเทรด และตรึงเกณฑ์ไว้ จากนั้นดาวน์โหลดชุดข้อมูลการจ้างงานย้อนหลังมาใช้สร้างสัญญาณทุกครั้งขึ้นใหม่
ปัญหาที่เหลือคือข้อมูลที่ดาวน์โหลดมา ชุดข้อมูลเศรษฐกิจย้อนหลังอาจมีค่าประมาณที่ผ่านการปรับปรุง ซึ่งยังไม่มีให้ใช้ในวันที่กลยุทธ์ของคุณอ้างว่าเทรดอยู่ หากต้องการแบ็กเทสต์สัญญาณมหภาคอย่างตรงไปตรงมา คุณต้องใช้ข้อมูลฉบับที่มีอยู่ ณ เวลาตัดสินใจ การเลื่อนจุดเข้าไปข้างหน้า 1 แท่งไม่ได้แก้ปัญหาตัวเลขที่เพิ่งเผยแพร่ในอีก 2 เดือนต่อมา
ข้อมูลเดือนมกราคมของคุณมีวันเกิดหลายครั้ง
ลองดูประวัติการเผยแพร่สมมตินี้ วันที่และการเปลี่ยนแปลงการจ้างงานเหล่านี้ใช้แสดงกลไกเท่านั้น ไม่ใช่ผลลัพธ์ทางเศรษฐกิจที่รายงานจริง
| การเผยแพร่ | เดือนอ้างอิง | การเปลี่ยนแปลงการจ้างงานที่รายงาน | กฎของคุณ ณ เวลาที่เผยแพร่ |
|---|---|---|---|
| 7 กุมภาพันธ์ 08:30 ET | มกราคม | +150,000 | ถือเงินสดต่อไป |
| 7 มีนาคม 08:30 ET | มกราคม ปรับปรุงแล้ว | +185,000 | ไม่เปลี่ยนการตัดสินใจในเดือนกุมภาพันธ์ |
| 4 เมษายน 08:30 ET | มกราคม ปรับปรุงอีกครั้ง | +210,000 | ไม่เปลี่ยนการตัดสินใจในเดือนกุมภาพันธ์ |
หากข้อมูลที่ดาวน์โหลดมาแสดงตัวเลขเดือนมกราคมเป็น +210,000 การจำลองย้อนหลังของคุณจะเข้าซื้อ ETF ในเดือนกุมภาพันธ์ แต่กฎจริงของคุณจะถือเงินสด รายละเอียดราคา เวลาส่งคำสั่ง และค่าคอมมิชชันอาจถูกต้องทั้งหมด แต่การเทรดนั้นทั้งรายการเป็นเรื่องสมมติ
คุณไม่ควรคิดว่าการปนเปื้อนนี้จะทำให้ผลการดำเนินงานดีขึ้นเสมอ การปรับปรุงข้อมูลอาจทำให้เกิดการเทรดที่ชนะหรือแพ้ หรือทำให้การเทรดทั้งสองแบบหายไป ข้อบกพร่องคือการจำลองของคุณกำลังตอบคำถามที่กลยุทธ์ไม่อาจถามได้ในเวลานั้น
และเดือนมกราคมเป็นเพียงช่วงเวลาที่วัดผล ไม่ใช่วันที่คุณรู้ผลการวัด แถวข้อมูลที่ระบุวันที่ 1 มกราคมไม่ได้แปลว่าคุณมีสิทธิ์เทรดด้วยข้อมูลนั้นในวันที่ 1 มกราคม
บันทึกประวัติการพร้อมใช้งานของแต่ละค่า
ตารางวิจัยของคุณต้องมีมากกว่าเดือนและตัวเลข ให้เก็บช่วงเวลาอ้างอิง ค่า เวลาที่เผยแพร่ รหัสรุ่นข้อมูล และแหล่งที่มา สำหรับข้อมูลที่เก็บต่อเนื่อง ให้บันทึกเวลาที่ระบบของคุณได้รับข้อมูลเผยแพร่ด้วย เก็บข้อมูลรุ่นเก่าไว้ อย่าอัปเดตค่าเดิมทับไปเลย
ณ เวลาตัดสินใจ ให้เลือกข้อมูลแต่ละรายการฉบับล่าสุดที่เข้าเกณฑ์ โดยมีเวลาพร้อมใช้งานไม่เกินเวลาตัดสินใจ จากนั้นคำนวณฟีเจอร์จากภาพข้อมูล ณ เวลานั้นที่สร้างขึ้นใหม่
กฎการดึงข้อมูลของคุณ: กรองให้เหลือเฉพาะระเบียนที่มีอยู่แล้วก่อน จากนั้นเลือกฉบับที่เกี่ยวข้อง แล้วจึงคำนวณสัญญาณ หากคำนวณฟีเจอร์จากประวัติฉบับปรับปรุงล่าสุดในวันนี้ แล้วค่อยเลื่อนผลลัพธ์ย้อนหลัง การรั่วไหลก็ยังคงอยู่
การถือครอง 5 เซสชันไม่ได้ทำให้การบันทึกข้อมูลนี้เป็นเรื่องที่เลือกทำหรือไม่ก็ได้ แต่ช่วยให้คุณมีเวลามากขึ้นในการเลือกจุดเข้าที่ระมัดระวัง ไม่ได้ทำให้คุณเข้าถึงข้อมูลปรับปรุงได้ก่อนเวลา
สำหรับงานวิจัยย้อนหลัง คุณอาจมีหลักฐานเวลาเผยแพร่ต่อสาธารณะ แต่ไม่มีบันทึกเวลาที่ระบบของคุณได้รับข้อมูล แยกความแตกต่างนี้ให้ชัดเจน คุณอาจจำลองการเข้าถึงหลังเวลาที่เผยแพร่ตามเอกสาร โดยระบุความล่าช้าที่ใช้ได้ แต่ห้ามอธิบายสมมตินี้ว่าเป็นเวลาส่งมอบย้อนหลังที่วัดไว้จริง
คุณควรใช้เวลาประทับที่รับรู้เขตเวลาด้วย เก็บเวลาท้องถิ่นของการเผยแพร่ตามเอกสาร แล้วแปลงให้ถูกต้อง การใช้ค่า UTC offset ของนิวยอร์กแบบตายตัวจะผิดพลาดเมื่อเวลาออมแสงเปลี่ยน ให้ความช่วยเหลือตัวคุณในอนาคตสักเล็กน้อย กันยายนนี้คุณไม่ควรต้องมานั่งถอดรหัสคอลัมน์ที่มีชื่อว่า date_actual_final2
ฟีเจอร์แบบเลื่อนช่วงต้องใช้ข้อมูลย้อนหลังทั้งชุดตามรุ่น
สมมติว่าคุณเปลี่ยนเกณฑ์คงที่เป็น “การเติบโตของการจ้างงานสูงกว่าค่าเฉลี่ยย้อนหลัง 12 เดือน” ตอนนี้คุณต้องใช้ข้อมูลก่อนหน้าตามที่ปรากฏ ณ เวลาตัดสินใจนั้น รวมถึงการปรับปรุงที่เผยแพร่ไปแล้วก่อนถึงเวลานั้น
การใช้ข้อมูลเผยแพร่ครั้งแรกของทุกเดือนไปตลอด คือการกำหนดฟีเจอร์อีกแบบหนึ่ง นั่นอาจเป็นการออกแบบที่เหมาะสม หากคุณต้องการดูประวัติประกาศครั้งแรกอย่างชัดเจน แต่มันไม่ได้สร้างภาพประวัติทางเศรษฐกิจที่มองเห็นได้ในเช้าวันใดวันหนึ่งขึ้นใหม่ เพราะชุดข้อมูลที่มีในเช้าวันนั้นอาจรวมการปรับปรุงข้อมูลของเดือนก่อนหน้าไว้แล้ว
หากคุณคำนวณการเปลี่ยนแปลงการจ้างงานรายเดือนจากระดับการจ้างงาน ให้สร้างชุดข้อมูลระดับการจ้างงานของรุ่นที่เกี่ยวข้องขึ้นใหม่ก่อน แล้วจึงหาผลต่าง การนำระดับที่เพิ่งเผยแพร่มาผสมกับระดับของเดือนก่อนหน้าจากรุ่นเก่า อาจสร้างค่าการเปลี่ยนแปลงที่ไม่เคยปรากฏในภาพข้อมูลเผยแพร่ฉบับใดเลย
ดังนั้นคุณต้องระบุให้ชัดว่าฟีเจอร์ของคุณหมายถึงอะไร: ประกาศครั้งแรก ภาพเศรษฐกิจล่าสุดที่มีอยู่ หรือการปรับปรุงข้อมูล คำว่า “การเติบโตของการจ้างงาน” ยังเปิดช่องให้ตีความมากเกินไป
ซ่อมข้อมูลเผยแพร่ครั้งเดียวก่อนรันย้อนหลัง 10 ปี
คุณเริ่มต้นได้ที่ ALFRED ซึ่งมีประวัติรุ่นข้อมูลของชุดข้อมูลเศรษฐกิจหลายรายการ ตรวจสอบว่าครอบคลุมชุดข้อมูลและช่วงเวลาที่คุณใช้จริงหรือไม่ วันที่ของรุ่นข้อมูลเพียงอย่างเดียวไม่ได้ยืนยันว่าข้อมูลพร้อมใช้ระหว่างวัน ให้ประกอบกับเวลาเผยแพร่ที่มีเอกสารยืนยัน ก่อนนำไปใช้กับสัญญาณในวันเดียวกัน
สำหรับการตรวจสอบครั้งแรก ให้เลือกข้อมูลเผยแพร่ 1 ครั้ง แล้วสร้างข้อมูลขึ้นใหม่ด้วยตนเอง:
- ค้นหารายงานเผยแพร่ที่เก็บถาวร แล้วบันทึกเวลาที่เผยแพร่ เดือนอ้างอิง และค่าเริ่มต้น
- สร้างภาพข้อมูลนำเข้าที่กลยุทธ์ของคุณจะได้รับก่อนเข้าเทรดขึ้นใหม่
- คำนวณสัญญาณด้วยตนเอง แล้วเปรียบเทียบกับผลการจำลองย้อนหลัง
- เพิ่มข้อมูลปรับปรุงที่เผยแพร่ภายหลังลงในคลังข้อมูล แล้วตรวจสอบว่าการตัดสินใจก่อนหน้านั้นยังเหมือนเดิม
การตรวจสอบข้อสุดท้ายมีประโยชน์เป็นพิเศษในระบบวิจัยอัตโนมัติ ระบุจุดตัดของภาพข้อมูลและรหัสรุ่นข้อมูลที่เลือกไว้ให้เอเจนต์วิจัยพร้อมกับค่าฟีเจอร์ คุณต้องมีหลักฐานเพียงพอที่จะตรวจย้อนการเทรดไปยังข้อมูลเผยแพร่ครั้งหนึ่งได้ แม้ฐานข้อมูลพื้นฐานจะมีขนาดใหญ่ขึ้นแล้วก็ตาม
เมื่อสร้างการตัดสินใจเพียงครั้งเดียวนั้นขึ้นใหม่ได้แล้ว ให้รันประวัติทั้งหมดอีกครั้ง และเปรียบเทียบสัญญาณที่ไม่ตรงกันก่อนเปรียบเทียบผลตอบแทน นับจำนวนจุดเข้าที่เกิดขึ้นใหม่ ถูกนำออก หรือเลื่อนเวลาเพราะการแก้ไขนี้ คุณจะได้เรียนรู้จากการตัดสินใจที่เปลี่ยนไปเหล่านั้นมากกว่าจากค่า Sharpe ก่อนและหลังเพียงค่าเดียว
การเทรดในเดือนกุมภาพันธ์ของคุณต้องอาศัยข้อมูลที่มีในเดือนกุมภาพันธ์ ปล่อยให้การปรับปรุงในเดือนเมษายนอยู่ในเดือนเมษายน
← บทความทั้งหมด


