คุณพบผลลัพธ์ที่ชัดเจนแล้ว: กลยุทธ์คริปโตของคุณทำกำไรส่วนใหญ่ได้ระหว่าง 13:00 ถึง 14:00 UTC คุณตรวจสอบค่าธรรมเนียม รันแบ็กเทสต์ซ้ำ และทดสอบสัญญาณด้วยบัญชีจำลองแล้ว ตอนนี้คุณกำลังเตรียมกลยุทธ์สำหรับหุ้นสหรัฐฯ และพบว่าชั่วโมงที่ให้ผลดีที่สุดคือ 09:30–10:30 ตามเวลานิวยอร์ก
ก่อนจะเชื่อผลลัพธ์ทั้งสอง ลองตรวจดูว่าเวลาบนนาฬิกาเปลี่ยนไปอย่างไร การเปลี่ยนเวลาออมแสงของสหรัฐฯ ทำให้เวลาเปิดตลาดนิวยอร์กเลื่อนเมื่อเทียบกับ UTC หนึ่งชั่วโมง หากฟีเจอร์ ป้ายกำกับช่วงเทรด และคำสั่งซื้อขายใช้การอ้างอิงเวลาคนละแบบ กลยุทธ์ของคุณอาจกำลังใช้ประโยชน์จากเส้นแบ่งของปฏิทิน แทนที่จะจับรูปแบบตลาดที่เกิดซ้ำได้
คุณไม่จำเป็นต้องทิ้งงานวิจัยเรื่องช่วงเวลาของวัน แต่ต้องกำหนดก่อนว่าสมมติฐานของคุณอ้างอิงนาฬิกาแบบใด แล้วทำให้ทุกส่วนของแบ็กเทสต์ใช้การอ้างอิงนั้นอย่างสอดคล้องกัน
เริ่มจากระบุว่าชั่วโมงนั้นหมายถึงอะไร
คำว่า “ชั่วโมงแรก” ฟังดูชัดเจน จนกว่าคุณจะระบุนาฬิกาอ้างอิง อาจหมายถึง 60 นาทีแรกหลัง NYSE เปิดตลาด ช่วง 09:30–10:30 ตามเวลาท้องถิ่นของนิวยอร์ก หรือช่วงเวลาคงที่ตาม UTC คำจำกัดความเหล่านี้ตรงกันในบางช่วงของปี และคลาดกันเมื่อมีการเปลี่ยนเวลาออมแสง
สำหรับสมมติฐานเกี่ยวกับหุ้น ให้ใช้เวลาช่วงซื้อขายตามท้องถิ่นของตลาด: 09:30 ตามเวลานิวยอร์กก็คือ 09:30 ไม่ว่าจะเป็นช่วง EST หรือ EDT ส่วนสมมติฐานเกี่ยวกับคริปโตอาจตั้งใจใช้ชั่วโมง UTC คงที่ก็ได้ คริปโตซื้อขายตลอดเวลา จึงไม่มีเสียงระฆังเปิดตลาดของตลาดซื้อขายมาเป็นหลักอ้างอิง
เขียนคำจำกัดความให้ชัดก่อนเริ่มปรับแต่ง “เทรดในชั่วโมงแรกหลังตลาดเปิดตามเวลาซื้อขายปกติ” เป็นสิ่งที่ทดสอบได้ ส่วน “เทรดในชั่วโมงที่สัญญาณทำงานดีที่สุด” เปิดโอกาสให้ตัวปรับแต่งเลือกทั้งรูปแบบการอ้างอิงเวลาและตัวกลยุทธ์
จุดที่เวลาไม่ตรงกันแอบแฝงอยู่
สมมติว่าคุณเก็บข้อมูลหุ้นเป็น UTC โค้ดฟีเจอร์จัดกลุ่มแถวตามชั่วโมง UTC และกฎการส่งคำสั่งเปิดสถานะเวลา 09:30 ตามเวลานิวยอร์ก หลังเปลี่ยนเวลาออมแสง เวลาเปิดตลาดจะเลื่อนจาก 14:30 UTC เป็น 13:30 UTC ฟีเจอร์ที่ติดป้ายว่า “ชั่วโมงแรก” ตามช่วงเวลา UTC จึงอ้างถึงช่วงที่ต่างออกไปของเวลาซื้อขาย
กับดักคล้ายกันเกิดขึ้นเมื่อคุณสร้างแท่งข้อมูลจากเวลาประทับ หากคุณปรับข้อมูลให้อยู่ในช่วงเวลา UTC ก่อน แล้วค่อยแปลงป้ายกำกับเป็นเวลานิวยอร์ก คุณอาจได้ขอบเขตช่วงเวลาที่ไม่คาดคิด โดยเฉพาะช่วงเปลี่ยนเวลาในฤดูใบไม้ผลิ ซึ่งไม่มีชั่วโมงท้องถิ่นหนึ่งชั่วโมงนั้น และช่วงเปลี่ยนเวลาในฤดูใบไม้ร่วง ซึ่งมีชั่วโมงท้องถิ่นเดียวกันซ้ำสองครั้ง เวลาประทับอย่าง 01:30 ตามเวลาท้องถิ่นในวันอาทิตย์ช่วงเปลี่ยนเวลาฤดูใบไม้ร่วงจะกำกวม เว้นแต่จะระบุส่วนต่างจาก UTC หรือเก็บเป็น UTC
ปฏิทินยังมีผลกับผลลัพธ์คริปโตของคุณได้ กลยุทธ์ที่ใช้ชั่วโมง UTC อาจตรงกับกิจกรรมตลาดสหรัฐฯ ต่อเนื่องหลายเดือน แล้วดูเหมือนเลื่อนเมื่อสหรัฐฯ เปลี่ยนเวลา นั่นไม่ได้แปลว่ากลยุทธ์ใช้ไม่ได้ แต่เปลี่ยนสิ่งที่คุณกล่าวอ้างได้ คุณอาจวัดรูปแบบคงที่ตาม UTC ซึ่งบางครั้งทับซ้อนกับเวลาเปิดตลาดสหรัฐฯ มากกว่าจะวัดผลที่ผูกกับเวลาเปิดตลาดนั้นโดยตรง
นำเวลาของช่วงซื้อขายมาเป็นส่วนหนึ่งของการทดสอบ
เก็บเวลาประทับของเหตุการณ์เป็น UTC เพื่อใช้เป็นบันทึกหลัก แล้วคำนวณฟิลด์เวลาช่วงซื้อขายตามท้องถิ่นจากเขตเวลาที่ระบุชื่อ เช่น America/New_York โดยใช้ฐานข้อมูลเขตเวลาที่รองรับการเปลี่ยนกฎในอดีต อย่ากำหนดตายตัวว่า “UTC ลบ 5” หรือ “UTC ลบ 4” เพราะไม่มีค่าใดที่ใช้แทนเวลานิวยอร์กได้ตลอดทั้งปี
| การตัดสินใจ | ตัวอย่างหุ้น | ตัวอย่างคริปโต |
|---|---|---|
| นาฬิกาอ้างอิงของสมมติฐาน | นาทีนับจากเวลาเปิดตลาดตามช่วงซื้อขายปกติ | ชั่วโมง UTC ของวัน |
| แหล่งข้อมูลช่วงซื้อขาย | ปฏิทินตลาดซื้อขาย รวมวันหยุดและวันปิดตลาดก่อนเวลา | ปฏิทิน UTC ที่ต่อเนื่อง |
| เวลาออกคำสั่ง | เหตุการณ์ถัดไปที่ส่งคำสั่งได้หลังเกิดสัญญาณ | เหตุการณ์ถัดไปที่ส่งคำสั่งได้หลังเกิดสัญญาณ |
จากนั้นทดสอบสัปดาห์รอบจุดเปลี่ยนเวลาแยกต่างหาก เปรียบเทียบผลการดำเนินงานก่อนและหลังการเปลี่ยนเวลาออมแสงแต่ละครั้ง และตรวจดูว่าช่วงเวลาที่ชนะยังยึดโยงกับช่วงซื้อขายของตลาด หรือยังคงอยู่ที่เวลา UTC เดิม หากคุณค้นหาหลายชั่วโมง หลายวันที่ และหลายส่วนต่างเพื่อหาผลลัพธ์ที่ดีที่สุด ให้นับการค้นหานั้นรวมในการประเมินความเสี่ยงจากการปรับแต่งเกินพอดีด้วย การเลือกนาฬิกาก็เป็นการทดลองอีกครั้งหนึ่ง
เขตเวลาเป็นชุดกฎ ไม่ใช่จำนวนชั่วโมงที่นำมาลบ เก็บเหตุการณ์เป็น UTC แล้วคำนวณเวลาตลาดท้องถิ่นเมื่อต้องใช้
สิ่งที่การรันทดสอบด้วยบัญชีจำลองควรยืนยัน
เมื่อนำกลยุทธ์ไปทดสอบด้วยบัญชีจำลอง ให้บันทึกทั้งเวลาประทับ UTC ของเหตุการณ์และนาทีที่นับจากช่วงซื้อขาย วิธีนี้ช่วยให้คุณจับได้อย่างรวดเร็วว่ากลยุทธ์เข้าใจว่าเวลาเปิดตลาดคือ 09:30 แต่กลับส่งคำสั่งจริงตอน 10:30 ตามเวลาท้องถิ่นหรือไม่ ตรวจสอบวันหยุดและวันปิดตลาดก่อนเวลาด้วย ตารางเวลาซื้อขายปกติที่นำไปใช้กับทุกวันทำการย่อมสร้างรายการซื้อขายขึ้นมาได้ แม้ในวันที่ตลาดปิด
และเมื่อเวลาเปลี่ยน อย่าเพิ่งรีบ “แก้” ผลลัพธ์ด้วยการเลื่อนสัญญาณจนกราฟมูลค่าพอร์ตกลับมาดูคุ้นตา ให้ตรวจสอบสมมติฐานที่ระบุไว้ ปฏิทิน และเวลาออกคำสั่งก่อน หากผลลัพธ์เลื่อนไปพร้อมกับช่วงซื้อขายของตลาด คุณก็ได้เรียนรู้บางอย่างเกี่ยวกับพฤติกรรมในช่วงซื้อขาย หากยังอยู่ที่ชั่วโมง UTC เดิม คุณก็ได้เรียนรู้อีกอย่างหนึ่ง แบ็กเทสต์ของคุณควรรักษาความแตกต่างนี้ไว้
← บทความทั้งหมด


