ในทาง Machine Learning (การเรียนรู้ของเครื่อง) Overfitting คือภาวะที่โมเดลเรียนรู้รายละเอียดของชุดข้อมูลฝึกมากเกินไป รวมถึง Noise (สัญญาณรบกวน) และเหตุการณ์เฉพาะช่วงเวลา ทำให้ทำนายข้อมูลเดิมได้แม่น แต่ทำงานกับข้อมูลใหม่ได้ไม่ดี Google for Developers อธิบายว่าโมเดลลักษณะนี้จะเข้ากับชุดข้อมูลฝึกอย่างใกล้ชิด แต่ไม่สามารถคาดการณ์ตัวอย่างใหม่ได้อย่างถูกต้อง
เมื่อนำแนวคิดนี้มาใช้กับหุ้น ปัญหาจะปรากฏในรูปของกลยุทธ์ที่ทำกำไรดีมากจากข้อมูลย้อนหลัง แต่ประสิทธิภาพลดลงอย่างรวดเร็วหลังเริ่มลงทุนจริง เช่น ระบบอาจพบว่าเมื่อเส้นค่าเฉลี่ยเคลื่อนที่ 17 วันตัดเส้น 43 วัน และ Relative Strength Index หรือ RSI (ดัชนีความแข็งแกร่งสัมพัทธ์) ต่ำกว่า 38 จะให้ผลตอบแทนดีที่สุดในหุ้นกลุ่มหนึ่ง
ตัวเลข 17, 43 และ 38 อาจมีเหตุผลทางตลาดจริง หรืออาจเป็นเพียงชุดค่าที่บังเอิญทำงานดีกับข้อมูลช่วงที่ทดสอบ ยิ่งทดลองค่ามากเท่าไร โอกาสพบกลยุทธ์ที่ดูดีจากความบังเอิญก็ยิ่งสูง งานด้าน Backtest Overfitting ชี้ว่าการค้นหากลยุทธ์ผ่านชุดพารามิเตอร์จำนวนมากเพิ่มความเสี่ยงต่อการค้นพบผลลัพธ์ลวง
เปรียบเทียบกับการจำข้อสอบเก่า
ลองนึกถึงนักเรียนที่ไม่ได้เข้าใจหลักการลงทุน แต่จำได้ว่าหุ้นตัวใดขึ้นในแต่ละปี หากนำข้อสอบเก่ามาถาม นักเรียนคนนี้อาจตอบได้ทั้งหมด แต่เมื่อเปลี่ยนรายชื่อหุ้น เปลี่ยนสภาพเศรษฐกิจ หรือเกิดวิกฤตรูปแบบใหม่ ความรู้เดิมแทบใช้ไม่ได้
โมเดลหุ้นที่จำข้อมูลเก่าก็ทำงานคล้ายกัน อาจรู้ว่าหุ้นเทคโนโลยีบางกลุ่มขึ้นแรงหลังดอกเบี้ยลดในอดีต แต่ไม่เข้าใจว่าราคาหุ้นยังขึ้นอยู่กับมูลค่าเริ่มต้น การเติบโตของกำไร สภาพคล่อง และความคาดหวังของนักลงทุนด้วย
เป้าหมายที่แท้จริงจึงไม่ใช่การสร้างสูตรที่อธิบายกราฟในอดีตได้สมบูรณ์ แต่คือ Generalization (ความสามารถในการนำสิ่งที่เรียนรู้ไปใช้กับข้อมูลใหม่) ซึ่งต้องพิสูจน์ผ่านข้อมูลที่ไม่ได้ถูกนำมาใช้ปรับกลยุทธ์
Overfitting เกิดขึ้นได้อย่างไรในการลงทุนหุ้น

การเข้าใจว่า Overfitting คือผลจากกระบวนการทดลองที่ยืดหยุ่นเกินไป จะช่วยให้นักลงทุนมองเห็นความเสี่ยงก่อนนำระบบไปใช้กับเงินจริง สาเหตุที่พบบ่อยมีดังนี้
1. ทดลองอินดิเคเตอร์และเงื่อนไขมากเกินไป
สมมตินักลงทุนทดลองอินดิเคเตอร์ 20 ชนิด ช่วงเวลาของแต่ละอินดิเคเตอร์ 10 ค่า และเงื่อนไขซื้อขายอีก 10 รูปแบบ เท่ากับมีชุดการทดลองจำนวนมาก แม้ทุกสูตรไม่มีความสามารถทำนายตลาดจริง ก็ยังอาจมีบางสูตรสร้างผลตอบแทนสูงจากความบังเอิญ
ปัญหานี้ยิ่งรุนแรงเมื่อผู้พัฒนาเลือกแสดงเฉพาะกลยุทธ์ที่ดีที่สุด แต่ไม่เปิดเผยจำนวนการทดลองที่ล้มเหลว ผลตอบแทนที่เห็นจึงอาจเป็น “ผู้รอดชีวิต” จากการค้นหาหลายพันรูปแบบ ไม่ใช่หลักฐานว่ากลยุทธ์มีความได้เปรียบเหนือตลาดอย่างแท้จริง
2. ใช้ข้อมูลย้อนหลังน้อยหรือครอบคลุมตลาดเพียงรูปแบบเดียว
กลยุทธ์ที่ทดสอบเฉพาะตลาดขาขึ้นอาจเรียนรู้ว่าการซื้อหุ้นที่ราคากำลังพุ่งให้ผลดี แต่ไม่เคยเผชิญตลาดหมี วิกฤตสภาพคล่อง หรือช่วงดอกเบี้ยสูง เมื่อตลาดเปลี่ยนโครงสร้าง ความสัมพันธ์ที่เคยใช้ได้อาจหายไป
ข้อมูลหุ้นไม่ใช่ข้อมูลที่มีคุณสมบัติคงที่ตลอดเวลา พฤติกรรมตลาดเปลี่ยนตามนโยบายการเงิน กฎระเบียบ เทคโนโลยี โครงสร้างอุตสาหกรรม และพฤติกรรมผู้ลงทุน จึงต้องระวังการนำรูปแบบจากช่วงเวลาหนึ่งไปใช้กับทุกสถานการณ์
3. โมเดลซับซ้อนเกินปริมาณข้อมูล
โมเดลที่มีตัวแปรจำนวนมากอาจสร้างกฎเฉพาะเจาะจง เช่น ซื้อหุ้นเมื่ออัตรากำไรสุทธิเพิ่มขึ้นสองไตรมาส อัตราส่วนราคาต่อกำไรต่ำกว่าค่าเฉลี่ยกลุ่ม ปริมาณซื้อขายสูงกว่าค่าเฉลี่ย 23 วัน และราคาปิดอยู่เหนือระดับหนึ่งพอดี
เงื่อนไขเหล่านี้อาจอธิบายหุ้นชนะในอดีตได้ดี แต่หากจำนวนเหตุการณ์ที่ตรงตามเงื่อนไขมีเพียงไม่กี่ครั้ง ก็ยังไม่มีหลักฐานเพียงพอว่าผลลัพธ์ไม่ได้เกิดจากความบังเอิญ โมเดลที่ซับซ้อนจึงต้องใช้ข้อมูลมากขึ้นเพื่อยืนยันความน่าเชื่อถือ
4. เกิด Data Leakage
Data Leakage (การรั่วไหลของข้อมูล) คือการนำข้อมูลที่ไม่ควรรู้ ณ เวลาตัดสินใจมาใช้สร้างโมเดล ตัวอย่างเช่น ใช้งบการเงินประจำไตรมาสทันทีที่สิ้นไตรมาส ทั้งที่บริษัทประกาศงบจริงในอีกหลายสัปดาห์ต่อมา หรือใช้รายชื่อหุ้นปัจจุบันย้อนหลังไปทดสอบ โดยตัดบริษัทที่ล้มละลายหรือถูกเพิกถอนออก
ข้อผิดพลาดแบบหลังเกี่ยวข้องกับ Survivorship Bias (อคติจากการเลือกเฉพาะผู้รอดชีวิต) ทำให้ผลย้อนหลังดูดีกว่าความเป็นจริง เพราะพอร์ตไม่เคยมีหุ้นที่หายออกจากตลาด แม้หุ้นเหล่านั้นจะเป็นส่วนหนึ่งของจักรวาลการลงทุนในอดีต
5. ไม่รวมต้นทุนการซื้อขาย
กลยุทธ์ที่ซื้อขายบ่อยอาจดูทำกำไรได้ก่อนหักค่าคอมมิชชัน Bid-Ask Spread (ส่วนต่างระหว่างราคาเสนอซื้อและราคาเสนอขาย) ภาษี และ Slippage (ความคลาดเคลื่อนระหว่างราคาที่ต้องการกับราคาที่ซื้อขายได้จริง)
งานวิจัยเกี่ยวกับกลยุทธ์ Machine Learning ในการลงทุนยังเตือนว่าต้นทุนธุรกรรมสูงอาจทำให้กลยุทธ์ที่ดูมีประสิทธิภาพในทางทฤษฎีนำไปใช้จริงได้ยาก
วิธีตรวจจับว่าโมเดลวิเคราะห์หุ้นกำลัง Overfit
ก่อนสรุปว่า Overfitting คือสาเหตุที่ทำให้ผลลงทุนแย่ ต้องตรวจสอบทั้งผลตอบแทน ความเสี่ยง และความเสถียรของกลยุทธ์
เปรียบเทียบ In-Sample กับ Out-of-Sample
In-Sample Data (ข้อมูลในกลุ่มตัวอย่าง) คือข้อมูลที่ใช้สร้างและปรับกลยุทธ์ ส่วน Out-of-Sample Data (ข้อมูลนอกกลุ่มตัวอย่าง) คือข้อมูลที่กันไว้สำหรับทดสอบหลังจากกำหนดกฎเสร็จแล้ว
ใช้ Cross-validation ให้เหมาะกับอนุกรมเวลา
Cross-validation (การตรวจสอบไขว้) แบบสุ่มทั่วไปอาจไม่เหมาะกับราคาหุ้น เพราะข้อมูลมีลำดับเวลา การสุ่มอาจทำให้ข้อมูลอนาคตหลุดเข้าไปช่วยทำนายอดีต
แนวทางที่เหมาะกว่าคือ Walk-Forward Validation (การตรวจสอบแบบเดินหน้า) เช่น ใช้ข้อมูลปี 2015–2019 ฝึกและทดสอบกับปี 2020 จากนั้นเลื่อนเป็นปี 2016–2020 แล้วทดสอบกับปี 2021 วิธีนี้จำลองสถานการณ์จริงที่นักลงทุนใช้เฉพาะข้อมูลในอดีตเพื่อตัดสินใจในอนาคต
งานศึกษาด้านการตรวจสอบโมเดลการเงินเสนอให้ใช้วิธี Cross-validation ที่ออกแบบสำหรับข้อมูลตลาดโดยเฉพาะ เพราะโครงสร้างข้อมูลทางการเงินแตกต่างจากข้อมูลที่สุ่มและเป็นอิสระทั่วไป
Overfitting ต่างจาก Underfitting อย่างไร
เพื่อเข้าใจ Overfitting คืออะไรให้ครบ ต้องแยกออกจาก Underfitting (ภาวะที่โมเดลเรียนรู้รูปแบบไม่เพียงพอ)
| ประเด็น | Underfitting | โมเดลสมดุล | Overfitting |
| ความซับซ้อน | ต่ำเกินไป | เหมาะกับข้อมูล | สูงเกินไป |
| ผลในข้อมูลฝึก | ไม่ดี | ดี | ดีมาก |
| ผลในข้อมูลใหม่ | ไม่ดี | ใกล้เคียงข้อมูลฝึก | ลดลงชัดเจน |
| ลักษณะกลยุทธ์หุ้น | กฎกว้างจนจับโอกาสไม่ได้ | มีกฎชัดและมีเหตุผล | เงื่อนไขละเอียดจนจำอดีต |
| วิธีแก้ | เพิ่มตัวแปรที่มีสาระ | ตรวจสอบต่อเนื่อง | ลดความซับซ้อนและทดสอบใหม่ |
เอกสารของ scikit-learn แสดงตัวอย่างว่าโมเดลที่เรียบง่ายเกินไปไม่สามารถจับรูปแบบของข้อมูลได้ ขณะที่โมเดลพหุนามที่ซับซ้อนเกินไปจะจับ Noise และให้ผลไม่ดีเมื่อประเมินผ่าน Cross-validation
วิธีป้องกัน Overfitting ก่อนนำกลยุทธ์ไปลงทุนจริง

เมื่อเข้าใจว่า Overfitting คือความเสี่ยงจากการจำอดีตมากเกินไป แนวทางป้องกันควรเริ่มตั้งแต่การออกแบบสมมติฐาน ไม่ใช่รอให้กลยุทธ์ขาดทุนแล้วจึงย้อนกลับมาแก้
1. เริ่มจากเหตุผลทางเศรษฐกิจ
ทุกตัวแปรควรตอบได้ว่าทำไมจึงอาจส่งผลต่อราคาหุ้น เช่น ROE สูงอาจสะท้อนความสามารถสร้างผลตอบแทนจากเงินทุน โมเมนตัมอาจเชื่อมโยงกับการตอบสนองต่อข้อมูลใหม่อย่างค่อยเป็นค่อยไป และ Valuation (การประเมินมูลค่า) อาจสะท้อนผลตอบแทนที่นักลงทุนคาดหวัง
เหตุผลทางเศรษฐกิจไม่ได้รับประกันว่ากลยุทธ์จะกำไร แต่ช่วยลดโอกาสสร้างสูตรจากความสัมพันธ์ที่ไม่มีความหมาย
2. จำกัดจำนวนครั้งในการทดลอง
ควรกำหนดสมมติฐาน ตัวชี้วัด และช่วงพารามิเตอร์ก่อนดูผลลัพธ์ หากพบผลไม่ดีแล้วเปลี่ยนกฎไปเรื่อยๆ จนได้กราฟที่ต้องการ ผลทดสอบสุดท้ายจะสูญเสียความเป็นกลาง
ควรบันทึกจำนวนโมเดลที่ทดลองทั้งหมด ไม่ใช่เก็บเฉพาะผู้ชนะ เพราะกลยุทธ์ที่ดีที่สุดจากการทดลอง 10,000 รูปแบบต้องผ่านเกณฑ์เข้มงวดกว่ากลยุทธ์ที่เกิดจากสมมติฐานเดียว
3. แบ่งข้อมูลตามเวลา
อาจแบ่งข้อมูลเป็น 3 ชุด ได้แก่
- Training Set (ชุดฝึก) สำหรับสร้างโมเดล
- Validation Set (ชุดตรวจสอบ) สำหรับปรับพารามิเตอร์
- Test Set (ชุดทดสอบ) สำหรับประเมินครั้งสุดท้าย
ชุดทดสอบไม่ควรถูกเปิดดูซ้ำระหว่างปรับกลยุทธ์ หากนำผลจากชุดนี้กลับไปแก้สูตร ข้อมูลดังกล่าวจะไม่ใช่ข้อมูลทดสอบที่เป็นอิสระอีกต่อไป
4. ลดจำนวนตัวแปรและกฎที่ไม่จำเป็น
โมเดลที่ใช้ตัวแปร 8 ตัวและให้ผลใกล้เคียงกับโมเดลที่ใช้ 80 ตัว มักน่าสนใจกว่า เพราะอธิบายง่าย ตรวจสอบได้ และมีโอกาสจำ Noise น้อยกว่า
การเลือกโมเดลไม่ควรพิจารณาเฉพาะผลตอบแทนสูงสุด แต่ควรรวมความเสถียร ความโปร่งใส จำนวนครั้งซื้อขาย และความเป็นไปได้ในการปฏิบัติจริงด้วย
5. ใช้ Regularization
Regularization (การควบคุมความซับซ้อน) คือการเพิ่มบทลงโทษให้โมเดลที่ใช้ค่าน้ำหนักสูงหรือมีโครงสร้างซับซ้อนเกินไป เขียนแนวคิดแบบย่อได้ดังนี้
Objective = Prediction Loss + λ × Complexity Penalty
λ หรือ Lambda (แลมบ์ดา) คือระดับการลงโทษ หากต่ำเกินไปโมเดลอาจยังจำข้อมูล แต่หากสูงเกินไปโมเดลอาจเรียบง่ายจนไม่สามารถจับรูปแบบที่มีประโยชน์
6. รวมต้นทุนและข้อจำกัดจริง
Backtest ควรรวมค่าคอมมิชชัน Spread, Slippage, ภาษี สภาพคล่อง ขนาดคำสั่งซื้อ และข้อจำกัดการซื้อขาย หุ้นขนาดเล็กบางตัวอาจมีผลตอบแทนย้อนหลังสูง แต่ไม่สามารถซื้อขายในปริมาณที่ต้องการได้โดยไม่กระทบราคา
นอกจากนี้ ควรตรวจสอบว่ากลยุทธ์ยังทำงานได้หรือไม่เมื่อเพิ่มต้นทุนสูงกว่าค่าประมาณ เพราะต้นทุนจริงมักเพิ่มขึ้นในช่วงตลาดผันผวน ซึ่งเป็นช่วงที่นักลงทุนต้องการให้ระบบทำงานมากที่สุด
7. ทดสอบหลายสภาวะตลาด
ควรประเมินกลยุทธ์ในตลาดขาขึ้น ตลาดขาลง ตลาด Sideways (ตลาดแกว่งออกด้านข้าง) ช่วงดอกเบี้ยสูง ช่วงดอกเบี้ยต่ำ และช่วงวิกฤต
กลยุทธ์ไม่จำเป็นต้องชนะทุกช่วง แต่ต้องเข้าใจว่าเหมาะกับสภาพตลาดแบบใด ขาดทุนได้มากเท่าไร และมีเงื่อนไขใดที่ทำให้ความได้เปรียบลดลง
8. เริ่มลงทุนด้วยขนาดเล็ก
แม้ผ่านการทดสอบย้อนหลังแล้ว ควรเริ่มด้วย Paper Trading (การจำลองซื้อขาย) หรือเงินลงทุนขนาดเล็ก เพื่อตรวจสอบความแตกต่างระหว่างโมเดลกับการดำเนินงานจริง
ช่วงทดลองควรติดตามทั้งผลตอบแทน ต้นทุน ความล่าช้าของข้อมูล ความผิดพลาดในการส่งคำสั่ง และพฤติกรรมของกลยุทธ์เมื่อเกิดเหตุการณ์ที่ไม่อยู่ในข้อมูลฝึก
Checklist ก่อนเชื่อผล Backtest หุ้น

ก่อนนำกลยุทธ์ไปใช้กับเงินจริง ลองตอบคำถามต่อไปนี้
- สูตรลงทุนมีเหตุผลทางเศรษฐกิจรองรับหรือไม่
- ใช้ข้อมูลที่ทราบได้จริง ณ วันตัดสินใจหรือไม่
- รวมบริษัทที่ถูกเพิกถอนและหุ้นที่ล้มเหลวไว้หรือไม่
- มีการแยกข้อมูลฝึกกับข้อมูลทดสอบตามเวลาหรือไม่
- เปิดดูและปรับสูตรจาก Test Set ซ้ำหรือไม่
- ผลลัพธ์ยังดีเมื่อเปลี่ยนพารามิเตอร์เล็กน้อยหรือไม่
- รวมค่าธรรมเนียม Spread และ Slippage แล้วหรือไม่
- กลยุทธ์ผ่านตลาดหลายรูปแบบหรือไม่
- จำนวนตัวอย่างและจำนวนครั้งซื้อขายมากพอหรือไม่
- Maximum Drawdown อยู่ในระดับที่รับได้จริงหรือไม่
หากตอบ “ไม่” หลายข้อ ผลตอบแทนย้อนหลังอาจยังไม่แข็งแรงพอที่จะใช้เป็นหลักฐานสำหรับการลงทุน
สรุป โมเดลหุ้นที่ดีต้องรับมืออนาคตได้ ไม่ใช่แค่อธิบายอดีต
การเข้าใจว่า Overfitting คืออะไรช่วยให้นักลงทุนไม่หลงไปกับผลตอบแทนย้อนหลังที่สวยเกินจริง กลยุทธ์ที่น่าเชื่อถือไม่จำเป็นต้องทำกำไรสูงสุดในข้อมูลฝึก แต่ควรมีเหตุผลรองรับ ให้ผลลัพธ์เสถียรเมื่อเปลี่ยนช่วงเวลา และยังพอทำงานได้หลังหักต้นทุนจริง
หัวใจของการป้องกันคือใช้ข้อมูลตามลำดับเวลา แยกชุดทดสอบอย่างเคร่งครัด จำกัดจำนวนการทดลอง ลดความซับซ้อน ตรวจสอบ Data Leakage และประเมินความเสี่ยงควบคู่กับผลตอบแทน เพราะในตลาดหุ้นไม่มีสูตรใดใช้ได้ตลอดไป แม้กลยุทธ์ที่ผ่านการทดสอบอย่างรอบคอบก็ยังต้องติดตามและทบทวนเมื่อโครงสร้างตลาดเปลี่ยนแปลง
สำหรับใครที่สนใจเรื่องการลงทุนและอยากจะเริ่มลงทุน เทรด Forex สามารถเปิดบัญชีผ่าน GOC Prime ทางหน้าเว็บไซต์ได้เลย เพราะเรามีบริการด้านการเทรดที่ครบวงจร ด้วยจุดเด่นอย่างไม่มีค่า Swap เลเวอเลจ ที่ปรับได้ตามสไตล์การเทรดของแต่ละท่าน ค่าธรรมเนียมที่เป็นมิตรต่อทุกฝ่าย และการดูแลด้วยทีมงานคนไทยตลอด 24 ชั่วโมง จึงเป็นอีกหนึ่งตัวเลือกที่ตอบโจทย์ทั้งมือใหม่และเทรดเดอร์ที่มีประสบการณ์ ให้คุณโฟกัสกับการวางกลยุทธ์ได้อย่างเต็มที่ในทุกจังหวะของตลาด
คำถามที่พบบ่อยเกี่ยวกับ Overfitting

1. กลยุทธ์หุ้นที่ Backtest กำไรสูงถือว่าใช้ได้จริงหรือไม่
ยังสรุปไม่ได้ ต้องทดสอบกับข้อมูลนอกกลุ่มตัวอย่าง รวมต้นทุนซื้อขาย และตรวจสอบว่าผลลัพธ์ไม่ได้เกิดจากการลองพารามิเตอร์จำนวนมาก
2. ควรใช้ข้อมูลย้อนหลังนานเท่าไร
ขึ้นอยู่กับความถี่ซื้อขายและลักษณะกลยุทธ์ แต่ข้อมูลควรครอบคลุมหลายวัฏจักรตลาด รวมทั้งช่วงขาขึ้น ขาลง และวิกฤต ไม่ควรพิจารณาเฉพาะจำนวนปี
3. ทำไม Cross-validation แบบสุ่มจึงไม่เหมาะกับหุ้น
เพราะข้อมูลหุ้นมีลำดับเวลา การสุ่มอาจทำให้ข้อมูลจากอนาคตเข้าไปอยู่ในชุดฝึกและสร้างผลประเมินที่ดีเกินจริง ควรใช้การแบ่งตามเวลาหรือ Walk-Forward Validation
4. โมเดลที่เรียบง่ายดีกว่าโมเดลซับซ้อนเสมอหรือไม่
ไม่เสมอ โมเดลซับซ้อนอาจจับความสัมพันธ์ที่มีประโยชน์ได้มากกว่า แต่ต้องมีข้อมูลเพียงพอ ผ่านการทดสอบที่เป็นอิสระ และให้ประสิทธิภาพเพิ่มขึ้นอย่างมีนัยสำคัญหลังหักต้นทุน
5. ผลตอบแทน Out-of-Sample ลดลงแปลว่าโมเดลล้มเหลวหรือไม่
ไม่จำเป็น ผลลัพธ์ที่ลดลงเล็กน้อยเป็นเรื่องที่พบได้ สิ่งที่ต้องระวังคือผลตอบแทนลดลงรุนแรง ความเสี่ยงเพิ่มขึ้นมาก หรือกลยุทธ์ขาดทุนทันทีเมื่อเปลี่ยนช่วงเวลาและพารามิเตอร์เพียงเล็กน้อย


