ขั้นตอนที่สำคัญที่สุดในการพัฒนาบอทหรือระบบเทรดอัตโนมัติ (Algorithmic Trading) คือการนำตรรกะระบบไปทดสอบกับข้อมูลราคาย้อนหลัง หรือที่เรียกว่า Backtesting ทว่า นักเทรดจำนวนมากมักตกหลุมพรางทางสถิติ เห็นผลลัพธ์ย้อนหลังกราฟพุ่งสวยงาม กำไรชนะตลาด 500% แต่พอตัดสินใจเปิดระบบวิ่งเงินจริงในตลาดสด (Live Market) พอร์ตกลับดิ่งร่วงและขาดทุนหนัก ปรากฏการณ์นี้เกิดจากกับดักที่เรียกว่า Backtesting Pitfalls

3 กับดักอันตรายที่ต้องระวังในการทดสอบระบบ

Curve Fitting (ปรับแต่งค่าจนพอดีอดีตเกินไป): เกิดจากการที่คุณพยายามปรับตัวเลขอินดิเคเตอร์ซ้ำๆ เพื่อให้เข้ากับพฤติกรรมกราฟในอดีตให้ได้ผลกำไรสูงสุด เช่น ปรับเส้นค่าเฉลี่ยเป็น EMA 17.5 เพื่อให้ได้จุดเข้าที่สวยที่สุดในปีก่อน ระบบแบบนี้จะไร้ความยืดหยุ่นชิ้นดีเมื่อเจอกับ

โครงสร้างตลาดใหม่ๆ ในอนาคต (Overfitting)Look-Ahead Bias (โค้ดดึงข้อมูลอนาคตมาคำนวณ)

บั๊กยอดฮิตในการเขียนโปรแกรม โดยบอทแอบดึงราคาปิดของวันพรุ่งนี้มาคำนวณตัดสินใจเปิดออเดอร์ในวันนี้ ทำให้ในผล Backtest ชนะเสมอไม่มีทางแพ้ แต่ในตลาดจริงบอททำไม่ได้เพราะไม่มีใครรู้อนาคตRepainting Signals (

สัญญาณเปลี่ยนตำแหน่งย้อนหลัง)

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

สัญญาณจะขยับเลื่อนหนีไปเรื่อยๆ จนทำให้เราหลงกลเข้าเทรดผิดทิศทาง

วิธีแก้ไขเพื่อสร้างระบบเทรดอมตะ

ในการทำ Backtest ทุกครั้ง คุณต้องแบ่งข้อมูลออกเป็น 2 ส่วน คือ In-Sample Data (ใช้ข้อมูลช่วงแรกในการปรับแต่งระบบ) และ Out-of-Sample Data (นำระบบที่ได้ไปทดสอบวิ่งจริงกับข้อมูลช่วงที่สองที่ไม่เคยผ่านตาบอเลย) หากระบบยังคงรักษาเสถียรภาพและสร้างกำไรทบทวนทบต้นได้ดีในข้อมูลชุดที่สอง จึงจะถือว่าเป็นระบบเทรดที่มีประสิทธิภาพแท้จริงและพร้อมใช้งานในตลาดเงินของจริงครับ