Backtest EA สวยหรู แต่เทรดจริงทำไมคนละเรื่อง

ปัญหาที่เจอกันบ่อย

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

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

เรื่อง Curve Fitting ที่ต้องรู้จัก

สาเหตุหลักๆ ที่ทีมงานเจอบ่อยคือเรื่อง Over-optimization หรือ Curve Fitting พูดง่ายๆ คือคนสร้าง EA (หรือเราเองที่ไปปรับค่าพารามิเตอร์) มักจะปรับตัวเลขไปเรื่อยๆ จนได้กราฟ Backtest ที่สวยที่สุดสำหรับ ข้อมูลย้อนหลังชุดนั้นโดยเฉพาะ

ปัญหาคือตลาดในอนาคตไม่ได้เดินซ้ำรอยเดิมแบบเป๊ะๆ เลย EA ที่ถูกปรับจนเข้ากับรูปแบบราคาในอดีตแบบสุดๆ พอเจอสภาพตลาดที่เปลี่ยนไปนิดเดียว ไม่ว่าจะเป็นความผันผวนที่มากขึ้น หรือช่วงที่ตลาดไม่มีเทรนด์ชัดเจน ระบบก็รวนทันที เพราะมันไม่ได้ถูกออกแบบมาให้ยืดหยุ่น แต่ถูกออกแบบมาให้ “เก่งเฉพาะข้อมูลชุดเดิม” เท่านั้น

ปัจจัยอื่นที่ทำให้ผลจริงต่างจาก Backtest

นอกจาก Curve Fitting แล้วยังมีปัจจัยอื่นที่หลายคนมองข้ามครับ

  • Spread และ Slippage ในสภาพตลาดจริง แบ็คเทสต์มักใช้ค่าคงที่หรือค่าที่เอื้อเกินจริง แต่ตลาดจริงช่วงข่าวแรงๆ สเปรดกว้างกว่าที่คิดเยอะ
  • สภาพคล่องของราคาที่ใช้ทดสอบ ข้อมูล Tick history บางแหล่งไม่ได้ละเอียดพอ ทำให้จำลองการเข้าออกออเดอร์ผิดเพี้ยนจากความจริง
  • สภาวะตลาดเปลี่ยนไปตามเวลา กลยุทธ์ที่เคยได้ผลดีในช่วงตลาดขาขึ้นชัดเจน อาจใช้ไม่ได้เลยตอนตลาด Sideway หรือช่วงดอกเบี้ยเปลี่ยนทิศ
  • จิตวิทยาของคนใช้ EA เอง พอเห็นขาดทุนติดต่อกันหลายไม้ บางคนไปปิด EA เอง หรือไปปรับ Lot Size กลางทาง ทำให้ผลจริงไม่ตรงกับที่ระบบควรจะเป็นด้วยซ้ำ

ตัวอย่างสมมติให้เห็นภาพ

สมมติว่ามี EA ตัวหนึ่ง แบ็คเทสต์ย้อนหลัง 3 ปีได้กำไรสม่ำเสมอ Drawdown ไม่เกิน 10% เลย แต่พอเอามารันจริงเดือนแรกเจอ Drawdown เกิน 25% ทันที สาเหตุอาจเป็นเพราะช่วง 3 ปีที่ใช้ทดสอบ บังเอิญเป็นช่วงที่คู่เงินนั้นมีเทรนด์ชัดเจนต่อเนื่อง แต่พอมารันจริงตลาดเข้าสู่ช่วง Sideway ที่ผันผวนสูง กลยุทธ์ที่พึ่งพาการไล่เทรนด์เลยพังไม่เป็นท่า อันนี้เป็นแค่ตัวอย่างสมมติเพื่อให้เห็นภาพเฉยๆ นะครับ ไม่ได้อิงตัวเลขจริงจาก EA ตัวไหน

สิ่งที่พอจะช่วยลดความเสี่ยงได้บ้าง

  • ทดสอบ EA กับข้อมูลหลายช่วงเวลา หลายสภาพตลาด ไม่ใช่แค่ช่วงที่ผลลัพธ์สวยที่สุด
  • ลองแบ่งข้อมูลเป็น In-sample กับ Out-of-sample คือเทสกับข้อมูลชุดหนึ่งเพื่อปรับค่า แล้วเอาไปทดสอบซ้ำกับข้อมูลอีกชุดที่ไม่เคยใช้ปรับเลย
  • อย่าเชื่อกราฟ Equity ที่สวยเกินจริงจนไม่มี Drawdown เลย เพราะตลาดจริงไม่มีทางราบเรียบขนาดนั้น
  • ทดลองรันบัญชี Demo หรือ Cent จริงๆ ก่อนใช้เงินจำนวนมาก เพื่อดูพฤติกรรมจริงเทียบกับที่แบ็คเทสต์บอกไว้

ชวนคุย

เพื่อนๆ ที่เคยใช้ EA มีวิธีเช็กก่อนว่าผลแบ็คเทสต์ที่เห็นมันน่าเชื่อถือแค่ไหน หรือเคยเจอเคส Backtest สวยแต่เทรดจริงพังแบบนี้บ้างไหมครับ มาแชร์ประสบการณ์กันได้เลยครับ