เข้าสู่ระบบเพื่อใช้บริการสอบถามออนไลน์
กลับไปด้านบน
Moomoo Insights
เขียนบทความ ·

กับดักที่ใหญ่ที่สุดในการเทรด Quant: Overfitting ทำไมมันถึงเกิดขึ้น และมีวิธีแก้ไขอย่างไร?

Overfitting คือหนึ่งในกับดักที่พบบ่อยที่สุดในโลกการเงินเชิงปริมาณ (Quantitative Finance) มันเกิดขึ้นเมื่อโมเดลไปจดจำรายละเอียดเฉพาะเจาะจงของข้อมูลตลาดในอดีต แทนที่จะเรียนรู้กฎเกณฑ์สากลจริงๆ ในการทำกำไร แน่นอนว่าผล Backtest ย้อนหลังบางอันอาจจะดูสวยหรูจนน่าทึ่ง แต่ทันทีที่คุณเอาข้อมูลตลาดจริงในอนาคตใส่เข้าไป โมเดลพวกนี้ก็จะเริ่มทำเงินรั่วไหลทันที Ⅰ. Overfitting คืออะไรกันแน่? สรุปง่ายๆ ก็คือ...
Overfitting คือหนึ่งในกับดักที่พบบ่อยที่สุดในโลกการเงินเชิงปริมาณ (Quantitative Finance) มันเกิดขึ้นเมื่อโมเดลไปจดจำรายละเอียดเฉพาะเจาะจงของข้อมูลตลาดในอดีต แทนที่จะเรียนรู้กฎเกณฑ์สากลจริงๆ ในการทำกำไร แน่นอนว่าผล Backtest ย้อนหลังบางอันอาจจะดูสวยหรูจนน่าทึ่ง แต่ทันทีที่คุณเอาข้อมูลตลาดจริงในอนาคตใส่เข้าไป โมเดลพวกนี้ก็จะเริ่มทำเงินรั่วไหลทันที
Ⅰ. Overfitting คืออะไรกันแน่?
พูดง่ายๆ ก็คือ โมเดลไปเรียนรู้ 'สัญญาณรบกวน' (Noise) ที่เกิดขึ้นแบบสุ่มในข้อมูลอดีตมากเกินไป แทนที่จะจับรูปแบบ (Pattern) ที่เสถียร ผลลัพธ์คือมันทำงานได้ยอดเยี่ยมมากกับชุดข้อมูลที่ใช้สอน (Training set) แต่ประสิทธิภาพจะดิ่งลงเหวทันทีเมื่อต้องเจอกับข้อมูลใหม่ๆ ที่ไม่เคยเห็นมาก่อน
ทำไมเรื่องนี้ถึงเกิดขึ้น?
อย่างแรก ยิ่งข้อมูลย้อนหลังมีมากเท่าไหร่ ก็ยิ่งมีโอกาสสูงที่เราจะไปเจอความบังเอิญเข้า เช่น "เฮ้ย ปัจจัยชุดนี้รวมกันแล้วดันทำกำไรได้ในอดีตเฉยเลย"
อย่างที่สอง โมเดลบางตัวเก่งมากในการจับสัญญาณที่เป็น Long-tail และโมเดล Deep learning ก็มีความจำดีสุดๆ ผลที่ตามมาคืออะไรน่ะเหรอ? โมเดลจำ "บทเรียน" ในอดีตได้แม่นยำมาก แต่พอเปลี่ยนช่วงเวลาปุ๊บก็พังไม่เป็นท่าทันที
อย่างที่สาม เทรดเดอร์สาย Quant มักจะปรับแต่งค่าพารามิเตอร์ไปเรื่อยๆ เพื่อให้ "เอาใจข้อมูลในอดีต" เพียงเพื่อให้กราฟ Backtest ออกมาดูสวยหรู มันเหมือนกับการสุ่มเดาคำตอบไปเรื่อยๆ จนกว่าจะตรงกับข้อสอบเก่าชุดนั้นเป๊ะๆ สุดท้ายแล้ว กลยุทธ์ที่คุณเลือกมาก็มีโอกาสสูงมากที่จะถูกสร้างมาเพื่ออดีตเท่านั้น มากกว่าที่จะคาดการณ์อนาคตได้จริงๆ
ที่มา: Claude Code
ที่มา: Claude Code
ตัวอย่างเช่น: เราดึงข้อมูลตลาด S&P 500 ตั้งแต่ปี 2016 โดยใช้ Claude Code และข้อมูลจาก OpenD ของ moomoo เมื่อเรากำหนดช่วงการฝึกฝน (Training window) เป็นปี 2023–2024 โมเดลมักจะเลือกปัจจัยระยะสั้นในช่วง 5 วัน แต่เมื่อเราฝึกฝนด้วยชุดข้อมูลทั้งหมดตั้งแต่ปี 2016 เป็นต้นมา มันกลับให้ความสำคัญกับปัจจัยระยะยาวในช่วง 10 ถึง 60 วัน สิ่งนี้แสดงให้เห็นทางอ้อมว่าปัจจัยที่สอดคล้องกับช่วงเวลาต่างๆ นั้นแตกต่างกัน ดังนั้นการใช้ปัจจัยจากช่วงเวลาใดช่วงหนึ่งเพียงอย่างเดียวมาทำนายอนาคตจึงมีแนวโน้มที่จะคลาดเคลื่อน
II. วิธีจัดการกับ Overfitting?
① วิธีที่ 1: ใช้โมเดลที่มีความสามารถในการต้านทาน Overfitting โดยธรรมชาติ เช่น Ridge Regression
โมเดล Quant มีหลายประเภท ตั้งแต่โมเดลเชิงเส้นแบบดั้งเดิม Machine learning แบบคลาสสิก ไปจนถึง Deep learning ยุคใหม่ (ซึ่ง moomoo insights จะมาเจาะลึกในภายหลัง) แม้ว่าโมเดลที่ทรงพลังจะสามารถจับข้อมูลได้มากกว่า แต่พวกมันก็เสี่ยงต่อการเกิด Overfitting ได้ง่ายกว่ามากเช่นกัน
Overfitting คือหนึ่งในกับดักที่พบบ่อยที่สุดในโลกการเงินเชิงปริมาณ (Quantitative Finance) มันเกิดขึ้นเมื่อโมเดลไปจดจำรายละเอียดเฉพาะเจาะจงของข้อมูลตลาดในอดีต แทนที่จะเรียนรู้กฎเกณฑ์สากลจริงๆ ในการทำกำไร แน่นอนว่าผล Backtest ย้อนหลังบางอันอาจจะดูสวยหรูจนน่าทึ่ง แต่ทันทีที่คุณเอาข้อมูลตลาดจริงในอนาคตใส่เข้าไป โมเดลพวกนี้ก็จะเริ่มทำเงินรั่วไหลทันที Ⅰ. Overfitting คืออะไรกันแน่? สรุปง่ายๆ ก็คือ...
เราใช้ Ridge Regression เพราะมันมีความสามารถในการต้านทานการรบกวนได้ดี ถ้าปัจจัยหนึ่งได้ผลในอดีตเพียงเพราะความบังเอิญ (Noise) โมเดล Linear regression แบบ มาตรฐาน จะให้ค่าน้ำหนักมหาศาลเพื่อพยายามปรับตัวให้เข้ากับการเคลื่อนไหวของราคาในอดีต แต่ Ridge Regression จะมีบทลงโทษสำหรับค่าน้ำหนักที่สูงเกินไป โดยบังคับให้ค่าสัมประสิทธิ์ที่ใหญ่เกินขนาดหดตัวลง สำหรับปัจจัยที่เกิดจากความบังเอิญ ค่าน้ำหนักของมันจะถูกบีบจนไม่สามารถส่งผลต่อการทำนายได้
② วิธีที่ 2: ทำการคัดกรองเบื้องต้นจากชุดปัจจัยจำนวนมหาศาลโดยใช้วิธีง่ายๆ ก่อน
เราใช้ปัจจัย Alpha 158 ของ Qlib จาก Microsoft สำหรับงานนี้ (ทริคระดับ โปร: ถ้าคุณมี Claude Code คุณสามารถสั่งให้มันดึงปัจจัย Qlib 158 มาเพื่อทำการทดสอบได้เลย)
เนื่องจากปัจจัยทั้ง 158 ตัวนี้มีความซ้ำซ้อนกันค่อนข้างมาก เราจึงจัดกลุ่มพวกมันออกเป็น 27 หมวดหมู่ จากนั้นเราให้ Claude Code คำนวณค่า Information Coefficient (IC) ของทั้ง 27 กลุ่มนี้ โดยใช้ข้อมูล S&P 500 ย้อนหลัง 10 ปีที่ดึงผ่าน OpenD แล้วเลือกปัจจัยที่โดดเด่นที่สุดจากแต่ละกลุ่มมา ทำให้เราได้ปัจจัยทั้งหมด 27 ตัวเพื่อป้อนเข้าสู่โมเดล
หมายเหตุ: IC คือตัวชี้วัดทาง Quant ทั่วไปที่แสดงถึงค่าความสัมพันธ์ (Correlation) ระหว่างค่าของปัจจัยกับผลตอบแทนของหุ้นในงวดถัดไป
ถ้าเราไม่คัดเลือกปัจจัยจากคลังข้อมูล โมเดลบางตัวอาจจะไปให้ความสำคัญกับปัจจัยที่คล้ายคลึงกันมาก ซึ่งเท่ากับเป็นการใช้ข้อมูลที่ทับซ้อนกันมาจับสัญญาณรบกวน (Noise) ในช่วงฝึกฝน ดังนั้นนัก Quant จึงต้องทำการคัดกรองเบื้องต้นเพื่อตัดปัจจัยที่มีความสัมพันธ์กันสูงและซ้ำซ้อนออกไป ซึ่งเป็นการช่วยป้องกันปัญหา Overfitting ทางอ้อมด้วย
จากการใช้ Ridge Regression ร่วมกับปัจจัยทั้ง 27 ตัว ผลการทำ Backtest แสดงให้เห็นว่ากลุ่ม Q5 (หุ้น 20% แรกที่มีคะแนนโมเดลสูงสุด) ทำผลตอบแทนทบต้นต่อปีได้ถึง 45% หมายเหตุ: ช่วงเวลาที่ทำ Backtest คือปี 2025–2026 ซึ่งตรงกับช่วงตลาดกระทิงที่ขับเคลื่อนด้วย AI ผลตอบแทนในอดีตไม่ได้การันตีว่าจะมีผลตอบแทนที่เหมือนกันในอนาคต
Overfitting คือหนึ่งในกับดักที่พบบ่อยที่สุดในโลกการเงินเชิงปริมาณ (Quantitative Finance) มันเกิดขึ้นเมื่อโมเดลไปจดจำรายละเอียดเฉพาะเจาะจงของข้อมูลตลาดในอดีต แทนที่จะเรียนรู้กฎเกณฑ์สากลจริงๆ ในการทำกำไร แน่นอนว่าผล Backtest ย้อนหลังบางอันอาจจะดูสวยหรูจนน่าทึ่ง แต่ทันทีที่คุณเอาข้อมูลตลาดจริงในอนาคตใส่เข้าไป โมเดลพวกนี้ก็จะเริ่มทำเงินรั่วไหลทันที Ⅰ. Overfitting คืออะไรกันแน่? สรุปง่ายๆ ก็คือ...
③ วิธีที่ 3: ใช้ Rolling Windows สำหรับ Cross-Validation
ในการทำ Regression ข้างต้น เราไม่ได้แบ่งข้อมูล 10 ปีออกเป็นหลายส่วนเพื่อเช็คความเสถียรของโมเดล Ridge Regression คราวนี้เรามาลองแบ่งข้อมูลออกเป็น 7 ส่วนเพื่อทำ Backtest ดู และนี่คือผลลัพธ์ที่ได้:
Overfitting คือหนึ่งในกับดักที่พบบ่อยที่สุดในโลกการเงินเชิงปริมาณ (Quantitative Finance) มันเกิดขึ้นเมื่อโมเดลไปจดจำรายละเอียดเฉพาะเจาะจงของข้อมูลตลาดในอดีต แทนที่จะเรียนรู้กฎเกณฑ์สากลจริงๆ ในการทำกำไร แน่นอนว่าผล Backtest ย้อนหลังบางอันอาจจะดูสวยหรูจนน่าทึ่ง แต่ทันทีที่คุณเอาข้อมูลตลาดจริงในอนาคตใส่เข้าไป โมเดลพวกนี้ก็จะเริ่มทำเงินรั่วไหลทันที Ⅰ. Overfitting คืออะไรกันแน่? สรุปง่ายๆ ก็คือ...
อย่างที่คุณเห็น ผลการทดสอบจากทั้ง 7 ช่วงเวลาแสดงให้เห็นว่าโมเดลสามารถสร้างผลตอบแทนส่วนเพิ่ม (Excess Returns) ชนะดัชนีอ้างอิงได้ถึง 5 ช่วง โดยเฉพาะในช่วงตลาดกระทิงที่ขับเคลื่อนด้วยสภาพคล่องในครึ่งหลังของปี 2020 ผลงานนั้นโดดเด่นมาก และไม่มีช่วงไหนที่แพ้ตลาดอย่างมีนัยสำคัญเลย นี่หมายความว่าโมเดลมีความสามารถในการปรับตัวเข้ากับช่วงเวลาและรูปแบบตลาดที่หลากหลายได้ค่อนข้างดี
ถ้าคุณยังไม่รู้วิธีรัน Backtest สาย Quant ด้วยตัวเอง คุณสามารถลองใช้ฟีเจอร์ Backtest ที่มีมาให้ใน moomoo ได้ โดยในแอปบนคอมพิวเตอร์จะมีส่วน Quant โดยเฉพาะ ส่วนในแอปบนมือถือ คุณสามารถป้อนคำสั่ง Backtest ผ่าน Moomoo AI หรือใช้ฟีเจอร์คำสั่งซื้อขายขั้นสูงเพื่อลองเทรดด้วยอัลกอริทึมพื้นฐานได้
Overfitting คือหนึ่งในกับดักที่พบบ่อยที่สุดในโลกการเงินเชิงปริมาณ (Quantitative Finance) มันเกิดขึ้นเมื่อโมเดลไปจดจำรายละเอียดเฉพาะเจาะจงของข้อมูลตลาดในอดีต แทนที่จะเรียนรู้กฎเกณฑ์สากลจริงๆ ในการทำกำไร แน่นอนว่าผล Backtest ย้อนหลังบางอันอาจจะดูสวยหรูจนน่าทึ่ง แต่ทันทีที่คุณเอาข้อมูลตลาดจริงในอนาคตใส่เข้าไป โมเดลพวกนี้ก็จะเริ่มทำเงินรั่วไหลทันที Ⅰ. Overfitting คืออะไรกันแน่? สรุปง่ายๆ ก็คือ...
ข้อความสงวนสิทธิ์: Moomoo Technologies Inc. นำเสนอเนื้อหานี้เพื่อวัตถุประสงค์ในการให้ข้อมูลและการศึกษาเท่านั้นอ่านเพิ่มเติม
30
2
2
1
ยอดชม 270K ครั้ง
รีพอร์ต
ความคิดเห็น (2)
เขียนความคิดเห็น...
2
35
26