กลยุทธ์รายวันที่คำนวณสัญญาณจากราคาปิดวันจันทร์ไม่สามารถส่งคำสั่งซื้อขายที่ราคาปิดของวันจันทร์ได้ กลยุทธ์ส่งคำสั่งได้หลังจากทราบราคานั้นแล้ว และจึงซื้อขายได้ที่ราคาซึ่งเกิดขึ้นภายหลังและสามารถซื้อขายได้จริง การเลือกจังหวะเพียงเล็กน้อยนี้อาจเปลี่ยนผลลัพธ์ได้มากกว่าการใช้อินดิเคเตอร์ที่ซับซ้อนเสียอีก
ก่อนเขียนสัญญาณสำหรับการทดสอบย้อนหลังรายวัน ให้เขียนลำดับเหตุการณ์ให้ชัดเจนก่อนว่าแท่งข้อมูลสมบูรณ์เมื่อใด กลยุทธ์คำนวณเมื่อใด คำสั่งไปถึงตลาดเมื่อใด และราคาใดที่มีโอกาสจับคู่ได้จริง หากเหตุการณ์ทั้งหมดเกิดขึ้นในเวลาเดียวกัน การทดสอบย้อนหลังนั้นก็ข้ามประเด็นที่ยากที่สุดไป
ใช้ราคาปิดของวันนี้เพื่อซื้อขายที่ราคาปิดของวันนี้ได้ไหม?
โดยทั่วไปไม่ได้ สัญญาณที่อาศัยราคาปิดสุดท้ายจะใช้ได้ก็ต่อเมื่อการประมูลช่วงปิดตลาดหรือการซื้อขายครั้งสุดท้ายเสร็จสิ้นแล้ว การสมมติว่าคำสั่งจับคู่ที่ราคาเดียวกันนั้น เท่ากับสมมติว่ากลยุทธ์รู้ผลเร็วพอที่จะเข้าร่วมซื้อขาย ณ ราคาที่มีส่วนกำหนดผลลัพธ์นั้น
ลองดูกฎง่ายๆ ข้อหนึ่ง: ซื้อเมื่อราคาปิดสูงกว่าเส้นค่าเฉลี่ยเคลื่อนที่ 20 วัน ณ ราคาปิดวันจันทร์ กฎนี้เป็นจริง การทดสอบย้อนหลังที่ซื้อที่ราคาปิดวันจันทร์ได้นำราคาที่ปิดสมบูรณ์ของวันจันทร์มาใช้ทั้งตัดสินใจและจับคู่คำสั่ง สำหรับแบบจำลองแท่งข้อมูลรายวันพื้นฐาน วิธีประมาณที่สมเหตุสมผลคือสร้างคำสั่งหลังแท่งข้อมูลวันจันทร์สมบูรณ์ และจับคู่คำสั่งได้เร็วที่สุดที่ราคาเปิดวันอังคาร พร้อมคิดต้นทุนที่เหมาะสม
มีกลยุทธ์ที่ส่งคำสั่งเข้าร่วมการประมูลช่วงปิดตลาด โดยใช้ข้อมูลที่มีอยู่ก่อนเวลาตัดรับคำสั่งประมูล กลยุทธ์เหล่านั้นทดสอบย้อนหลังได้ แต่สัญญาณต้องใช้เฉพาะข้อมูลก่อนเวลาตัดรับคำสั่ง และแบบจำลองการจับคู่ต้องสะท้อนการประมูล “สัญญาณรายวัน” เพียงอย่างเดียวไม่ได้ยืนยันว่าเป็นไปตามเงื่อนไขข้อใดข้อหนึ่ง
ราคาจับคู่แบบใดเหมาะกับการทดสอบย้อนหลังรายวัน?
ไม่มีราคาใดที่ถูกต้องเสมอไป ราคาเปิดของช่วงซื้อขายถัดไปเป็นสมมติฐานตั้งต้นที่ชัดเจน เมื่อสร้างสัญญาณจากแท่งข้อมูลรายวันที่สมบูรณ์แล้วส่งคำสั่งภายหลัง แต่นั่นไม่ใช่การรับประกัน เพราะช่องว่างราคาระหว่างคืนอาจทำให้ตลาดเคลื่อนไหว และคำสั่ง market จะมีต้นทุนจากส่วนต่างราคา ค่าธรรมเนียม และผลกระทบต่อตลาดที่อาจเกิดขึ้น
สำหรับสัญญาณวันจันทร์ข้างต้น สมมติว่าราคาปิดวันจันทร์อยู่ที่ $100 และราคาเปิดวันอังคารอยู่ที่ $103 การทดสอบย้อนหลังแบบราคาปิดต่อราคาปิดอาจแสดงกำไรเล็กน้อย หากสมมติว่าซื้อที่ $100 แต่การเข้าซื้อที่ราคาเปิดวันถัดไปจะเริ่มที่ $103 ส่วนต่าง $3 นี้ไม่ใช่ “slippage” ที่ควรปรับแต่งให้หายไป แต่เป็นผลจากราคาที่ต้องจ่ายเมื่อเรียนรู้สัญญาณหลังราคาปิดวันจันทร์
| สัญญาณพร้อมใช้งาน | จังหวะเข้าซื้อขายที่เป็นไปได้ | สมมติฐานของแบบจำลอง |
|---|---|---|
| หลังราคาปิดรายวัน | ราคาเปิดของช่วงซื้อขายถัดไป | คำสั่งไปถึงตลาดได้ก่อนหรือในช่วงเปิดตลาด |
| ก่อนเวลาตัดรับคำสั่งประมูลช่วงปิดตลาด | การประมูลช่วงปิดตลาด | สัญญาณใช้เฉพาะข้อมูลก่อนเวลาตัดรับคำสั่ง และจำลองการจับคู่ในการประมูล |
| หลังราคาปิดรายวัน | ราคาระหว่างวันที่เกิดขึ้นภายหลัง | กลยุทธ์รอ โดยต้องมีข้อมูลระหว่างวันและกำหนดตารางเวลาส่งคำสั่งให้ชัดเจน |
ในตลาดคริปโต “ราคาปิดรายวัน” เป็นเพียงธรรมเนียมกำหนดเวลา เพราะการซื้อขายดำเนินต่อเนื่องผ่านจุดเปลี่ยนวัน กลยุทธ์ยังใช้แท่งข้อมูลรายวัน UTC ที่สมบูรณ์ได้ แต่ต้องรอให้แท่งข้อมูลสมบูรณ์และข้อมูลมาถึงก่อน หากระบบข้อมูลของคุณประมวลผลแท่งข้อมูลเสร็จช้าไปหลายวินาที การอ้างว่าส่งคำสั่งได้ที่ราคาตรงขอบเวลาแทบจะยิ่งอธิบายให้สมเหตุสมผลได้ยาก
หากมีแค่แท่งข้อมูลรายวัน ควรจำลองคำสั่งอย่างไร?
ระบุให้ชัดเจนว่าแท่งข้อมูลบอกอะไรได้และบอกอะไรไม่ได้ OHLCV รายวันรองรับการประมาณโดยใช้ราคาเปิดของช่วงถัดไปได้ แต่ไม่แสดงส่วนต่างราคา ณ เวลาที่คำสั่งของคุณมาถึง เส้นทางราคาตลอดวัน หรือว่าคำสั่ง limit เข้าคิวก่อนที่ราคาจะแตะระดับนั้นหรือไม่
สำหรับคำสั่ง market รายวัน ให้เริ่มจากราคาเปิดของช่วงถัดไป แล้วคิดต้นทุนที่กลยุทธ์ต้องจ่ายจริง ได้แก่ ค่าธรรมเนียมของแพลตฟอร์ม ประมาณการส่วนต่างราคา และประมาณการผลกระทบต่อตลาดที่เหมาะกับขนาดคำสั่ง จากนั้นทดสอบด้วยต้นทุนที่สูงขึ้น หากผลลัพธ์ขึ้นอยู่กับสมมติฐานว่าส่วนต่างราคาเป็น 0 หรือผลกระทบต่อตลาดแทบไม่มี แท่งข้อมูลรายวันก็ยังไม่เพียงพอที่จะยืนยันความเชื่อมั่นระดับนั้น
สำหรับคำสั่ง limit การที่ราคาต่ำสุดของวันแตะระดับที่คุณตั้งไว้ไม่ได้พิสูจน์ว่าคำสั่งจับคู่แล้ว ตลาดอาจซื้อขายที่ระดับนั้นก่อนคำสั่งของคุณมาถึง หรืออาจมีปริมาณคำสั่งที่อยู่ข้างหน้าคุณมากกว่าปริมาณที่ซื้อขายจริง แท่งข้อมูลรายวันมักหยาบเกินกว่าจะจำลองคิวได้อย่างน่าเชื่อถือ ใช้ข้อมูลที่ละเอียดขึ้นหากข้ออ้างนั้นขึ้นอยู่กับการซื้อขายระหว่างวัน หรือจงตั้งสมมติฐานการจับคู่ให้ระมัดระวังและระบุให้ชัดเจน
การตรวจสอบจังหวะเวลาแบบใดช่วยจับการมองอนาคตจากแท่งข้อมูลรายวัน?
ฉันชอบใช้การตรวจสอบตรงๆ สองสามข้อ เพราะช่วยเปิดเผยสมมติฐานได้อย่างรวดเร็ว:
- เลื่อนคำสั่งทั้งหมดที่สร้างจากสัญญาณออกไป 1 ช่วงซื้อขาย หากผลการดำเนินงานทรุดลง ให้ตรวจดูว่าระบบเดิมใช้ราคาปิดของแท่งข้อมูลที่สร้างสัญญาณเป็นราคาจับคู่หรือไม่
- บันทึกเวลาของสัญญาณ เวลาส่งคำสั่ง และเวลาจับคู่แยกกัน การประทับเวลาควรบอกลำดับเหตุการณ์ที่เป็นไปได้จริงได้ด้วยตัวเอง
- เปรียบเทียบการจับคู่ที่ราคาเปิดของช่วงถัดไปกับราคาดำเนินการที่เกิดทีหลังและระมัดระวังกว่า หากกลยุทธ์ใช้ได้เฉพาะเมื่อซื้อขาย ณ จุดที่เอื้อประโยชน์ที่สุดในแท่งข้อมูล ก็แสดงว่ามีปัญหาเรื่องการดำเนินคำสั่ง
- ตรวจสอบว่าวันหยุด แท่งข้อมูลที่หายไป และตลาดปิดส่งผลต่อคำว่า “ช่วงซื้อขายถัดไป” อย่างไร วันถัดไปตามปฏิทินอาจไม่ใช่วันที่ซื้อขายได้
การเลื่อนออกไป 1 ช่วงซื้อขายเป็นการตรวจวินิจฉัย ไม่ใช่แบบจำลองการดำเนินคำสั่งที่ใช้ได้กับทุกกรณี การปรับสมดุลพอร์ตที่ทำไม่บ่อย กลยุทธ์ประมูลช่วงปิดตลาด และระบบคริปโตที่ซื้อขายต่อเนื่องต่างก็ใช้กรอบเวลาคนละแบบ ประเด็นคือทำให้กรอบเวลานั้นมองเห็นได้ชัดเจน
การใช้ข้อมูลรายวันทำให้การทดสอบย้อนหลังมีประโยชน์น้อยลงไหม?
ไม่เลย ข้อมูลรายวันเหมาะอย่างยิ่งกับกลยุทธ์ที่ตัดสินใจและถือครองสินทรัพย์เป็นวันหรือสัปดาห์ ใช้ตรวจสอบได้ว่ากฎกว้างๆ ข้อหนึ่งควรค่าแก่การวิจัยต่อหรือไม่ แต่ผลทดสอบจะชวนให้เข้าใจผิดเมื่ออ้างความแม่นยำของการจับคู่คำสั่งในระดับที่แท่งข้อมูลไม่สามารถแสดงได้
ฉันเคยเห็นกลยุทธ์มากกว่าหนึ่งแบบที่ผลลัพธ์ดีขึ้นอย่างมาก เมื่อเปลี่ยนจาก “ส่งสัญญาณตอนปิดตลาด จับคู่ที่ราคาปิด” เป็น “ส่งสัญญาณตอนปิดตลาด จับคู่ที่ราคาเปิดถัดไป” ผลลัพธ์นั้นอาจน่าผิดหวัง แต่ก็มีประโยชน์ เพราะบอกได้ว่าแนวคิดยังใช้ได้หรือไม่เมื่อถึงเวลาที่เริ่มซื้อขายได้จริง เก็บข้อกำหนดเรื่องจังหวะเวลาไว้คู่กับโค้ดกลยุทธ์ มิฉะนั้น การปรับแต่งรอบถัดไปอาจทำให้สมมติฐานเรื่องราคาจับคู่ที่เป็นไปไม่ได้กลับมาโดยไม่รู้ตัว
← บทความทั้งหมด


