หมวดหมู่
ประสิทธิภาพ
ระดับความยาก
ปานกลาง
ใช้ใน
การแบ็กเทสต์การออกแบบกลยุทธ์การประเมิน EA

การโอเวอร์ฟิต

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

หรือ: overfitting, การฟิตเส้นโค้ง, อคติจากการขุดข้อมูล

อัปเดต · ตรวจทาน

อธิบายแบบเข้าใจง่าย

ปรับกฎไปเรื่อย ๆ จนมันแนบกับอดีตแน่นเสียจนสิ่งที่เรียนรู้คือความบังเอิญของอดีต ไม่ใช่รูปแบบของมัน แบ็คเทสต์ดีขึ้นในขณะที่กลยุทธ์แย่ลง และไม่มีอะไรในรายงานที่แยกสองอย่างนี้ออกจากกัน

ทำไมจึงสำคัญ

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

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

ใช้ตรวจสอบความน่าเชื่อถือของกลยุทธ์

ใช้ที่ไหน

  • ตัดสินว่าแบ็คเทสต์ที่ EA เผยแพร่เป็นหลักฐานของความได้เปรียบ หรือหลักฐานของการปรับจูน
  • ตัดสินใจว่ากลยุทธ์ควรมีพารามิเตอร์ได้กี่ตัวก่อนจะเริ่มออปติไมซ์เสียอีก
  • ตีความช่องว่างระหว่างผลในตัวอย่างกับนอกตัวอย่างในรัน walk-forward
  • อธิบายว่าทำไมกลยุทธ์ที่นำโด่งในตารางออปติไมซ์จึงแย่ลงทันทีที่ถูกนำไปใช้

ผลลัพธ์ที่น่าเชื่อถือเป็นอย่างไร

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

สัญญาณเตือน

  • พารามิเตอร์ที่ละเอียดจนไม่น่าเชื่อ — ค่าเฉลี่ย 37 คาบ สต็อป 23.7 พิป — ในจุดที่ค่ากลม ๆ จะให้ผลเกือบเท่ากันหากความได้เปรียบเป็นของจริง
  • อัตราชนะเกิน 90 % หรือชาร์ปเกิน 3 บนแบ็คเทสต์หลายปีโดยไม่มีบันทึกฟอร์เวิร์ดเลย
  • ผลลัพธ์ที่แสดงเฉพาะบนสินค้าตัวเดียวและช่วงเดียวที่ใช้คัดเลือกพารามิเตอร์
  • พื้นผิวผลงานที่มียอดแหลมโดดเดี่ยวแทนที่จะเป็นที่ราบกว้าง
  • ไม่มีการเอ่ยถึงเลยว่าทดสอบกี่รูปแบบก่อนจะเผยแพร่ตัวนี้

แบ็กเทสต์เทียบกับเทรดจริง

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

วิธีตรวจสอบที่แนะนำ

  1. 1กันช่วงนอกตัวอย่างไว้ก่อนแตะพารามิเตอร์ใด ๆ แล้วเปิดดูเพียงครั้งเดียวตอนท้าย
  2. 2เลือกพารามิเตอร์น้อยตัวที่อธิบายความหมายได้ ดีกว่าพารามิเตอร์หลายตัวที่ให้ผลสวยกว่า
  3. 3ดูบริเวณข้างเคียง ไม่ใช่ยอด เอาตรงกลางของที่ราบกว้าง แทนที่จะเอาปลายของยอดแหลม
  4. 4นำค่าตั้งที่สรุปแล้วไปทดสอบซ้ำบนสินค้าและช่วงเวลาอื่นโดยไม่ปรับแก้
  5. 5ใช้การวิเคราะห์ walk-forward เมื่อกลยุทธ์จำเป็นต้องฟิตใหม่ตามเวลาจริง ๆ เพื่อให้การฟิตใหม่กลายเป็นส่วนหนึ่งของสิ่งที่ถูกทดสอบ

ตัวอย่าง

ตัวออปติไมเซอร์รายงานชุดพารามิเตอร์ที่ดีที่สุดสิบชุดของกลยุทธ์หนึ่ง แถวบนสุดคือแถวที่ถูกเผยแพร่ แต่สิ่งที่บอกจริง ๆ ว่าความได้เปรียบเป็นของจริงหรือไม่ คือรูปร่างของตารางรอบ ๆ มัน

ค่าตั้งในตัวอย่างที่ดีที่สุด (คาบ 37)
PF 2.41
ค่าตั้งข้างเคียง (คาบ 35–39)
PF 0.94–1.06
ขยับก้าวเดียวก็ทำลายผลลัพธ์ — ยอดนั้นคือยอดแหลม ไม่ใช่ที่ราบ
ค่าตั้งเดิม บนช่วงนอกตัวอย่างที่ไม่ถูกแตะ
PF 0.88

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

การคำนวณ ในตัวอย่าง 2.41 → นอกตัวอย่าง 0.88 ขณะที่ค่าข้างเคียงอยู่ราวจุดคุ้มทุน

ผลลัพธ์ ตัวเลข 2.41 เป็นคุณสมบัติของช่วงเวลา ไม่ใช่ของกฎ

ตีความอย่างไร

การโอเวอร์ฟิตวินิจฉัยจากกระบวนการที่ผลิตผลลัพธ์ ไม่ใช่จากผลลัพธ์ ให้ถามว่าปรับอะไร ปรับบนอะไร และกันอะไรไว้

ช่วงค่า ความหมาย
ช่วงเดียว ออปติไมซ์ทุกพารามิเตอร์ ไม่กันอะไรไว้เลย รายงานนั้นไม่มีน้ำหนักเป็นหลักฐานเรื่องอนาคต มันบอกแค่ว่ากฎถูกดัดให้เข้ากับตัวอย่างข้อมูลได้ดีแค่ไหน
รายงานช่วงนอกตัวอย่าง แต่นำกลับมาใช้ซ้ำหลังปรับทุกครั้ง ส่วนที่กันไว้ถูกใช้หมดแล้ว เมื่อผลของมันย้อนกลับไปป้อนการปรับจูน มันก็กลายเป็นในตัวอย่างไปด้วย
ช่วงนอกตัวอย่างเดียวที่ไม่ถูกแตะ และเปิดดูครั้งเดียว มาตรฐานขั้นต่ำ ให้ตีความช่องว่างแทนที่จะตีความระดับ
walk-forward ที่มีที่ราบพารามิเตอร์กว้างและตรวจข้ามสินค้า หลักฐานที่แข็งที่สุดเท่าที่มีก่อนลงเงินจริง เพราะการฟิตใหม่เองก็ถูกทดสอบด้วย
  • ให้นับจำนวนกลยุทธ์ที่ลอง ไม่ใช่แค่จำนวนพารามิเตอร์ การทดสอบสองร้อยไอเดียแล้วเผยแพร่ตัวที่ดีที่สุด คือการค้นหาที่ผู้ชนะย่อมถูกคาดหมายว่าจะดูดีเพราะโชค
  • ปัดพารามิเตอร์ที่เผยแพร่ให้เป็นค่ากลมแล้วรันใหม่ ถ้าผลยังอยู่เป็นส่วนใหญ่ ความละเอียดนั้นเป็นแค่เครื่องสำอาง ถ้าผลพัง ความละเอียดนั้นแหละคือความได้เปรียบ
  • ให้ตัดสินพื้นผิวของพารามิเตอร์แทนยอด ความกว้างคือคุณสมบัติที่ย้ายไปยังข้อมูลที่ไม่เคยเห็นได้

รายการบน mt5depot ระบุช่วงข้อมูล โมเดลของเทสเตอร์ และจำนวนออเดอร์ ผู้อ่านจึงถามคำถามข้างต้นได้ แทนที่จะเชื่อเส้นกราฟ

ความเข้าใจผิดที่พบบ่อย

นำช่วงนอกตัวอย่างกลับมาใช้ซ้ำ

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

ถือว่าชาร์ปสูงหรืออัตราชนะสูงเป็นหลักฐานว่าไม่โอเวอร์ฟิต

นั่นคือตัวเลขที่การฟิตทำให้พองพอดี ชาร์ปในตัวอย่างเกิน 3 บน EA ระดับรายย่อย มีแนวโน้มเป็นอาการมากกว่าเป็นเครื่องปลอบใจ

เชื่อว่าพารามิเตอร์น้อยทำให้กลยุทธ์ปลอดภัย

จำนวนพารามิเตอร์เป็นทางหนึ่ง การคัดเลือกกลยุทธ์เป็นอีกทาง การเลือกตัวที่ดีที่สุดจากกลยุทธ์เรียบง่ายสองร้อยตัวบนช่วงเดียวกัน ก็ฟิตกับตัวอย่างข้อมูลได้พอ ๆ กับการปรับจูนกลยุทธ์ซับซ้อนตัวเดียว

กลับไปออปติไมซ์ใหม่เมื่อผลงานจริงน่าผิดหวัง

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

รายละเอียดเพิ่มเติม

แบ็คเทสต์ที่เผยแพร่สิบสี่ชุดตัดสินอะไรได้และตัดสินอะไรไม่ได้

จาก EA 14 ตัวที่เผยแพร่ที่นี่ค่า
Profit factor ในตัวอย่าง1.27–1.52
ประกาศที่มี profit factor ต่ำกว่า 1.000
ที่รายงานบล็อกนอกตัวอย่าง11
ผลตอบแทนนอกตัวอย่าง−0.57 % ถึง +3.01 %
บล็อกนอกตัวอย่างที่ขาดทุน2
รันที่ตรวจสอบแล้วบนบัญชีเงินจริง0

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

จุดอ่อนอยู่ที่ขนาด ไม่ใช่เครื่องหมาย บันทึกในตัวอย่างค่ามัธยฐานที่นี่คือ 362 ออเดอร์ที่ปิดแล้ว ส่วนบล็อกที่กันไว้ค่ามัธยฐานอยู่ที่ 21 รันสั้นขนาดนั้นแยกความได้เปรียบออกจากไตรมาสที่เงียบสงบไม่ได้ ด้วยเหตุนี้ตัวเลขติดลบเล็ก ๆ (−0.57 %, −0.47 %) จึงไม่ได้มีน้ำหนักตัดสินมากไปกว่าตัวเลขบวก

ดรอปดาวน์ Forward ของ Strategy Tester (No, 1/2, 1/3, 1/4, Custom) แบ่งช่วงเวลาให้คุณแต่มันห้ามคุณกลับไปอ่านครึ่งหน้าซ้ำหลังการออปติไมซ์ทุกรอบไม่ได้ และการอ่านซ้ำนั่นเองที่ใช้มันจนหมด ให้ตั้ง Forward เป็น Custom ด้วยวันที่คุณหยุดดู — สำหรับสิบบล็อกข้างต้นคือ 2026-04-01 — แล้วส่วนที่กันไว้จะมีค่าเท่ากับสิ่งที่ตกอยู่ข้างในเท่านั้น คือ 142 ออเดอร์สำหรับ Cairn, 40 สำหรับตัวที่ใหญ่รองลงมา และเลขหลักเดียวสำหรับอีกสองตัว

คำถามที่พบบ่อย

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