บทความในหมวด บทเรียนที่ 14: ทดสอบและวัดผล
🎯 เมื่อเรียนบทเรียนนี้จบ คุณจะ
- แยกช่วงพัฒนากับช่วงประเมินตามลำดับเวลา
- รู้ความต่างของ Rolling และ Anchored window
- รวมผล Out-of-sample โดยไม่ซ้ำหรือทิ้ง Position ค้าง
- ตีความค่าที่เปลี่ยนโดยไม่ด่วนสรุป Overfitting
Walk-Forward Analysis คือการแบ่งข้อมูลเป็นหลายรอบ โดยแต่ละรอบใช้ช่วงหนึ่งปรับกฎ แล้วทดสอบกับช่วงถัดไปที่ยังไม่เคยใช้
เป็นวิธีเพิ่มหลักฐานสำหรับคำถามที่ Backtest ธรรมดา ช่วงเดียวอาจตอบได้จำกัด — กระบวนการเลือกกฎทำงานอย่างไรในหลายช่วงเวลา โดยยังไม่ยืนยันว่าใช้ได้ทั่วไป
ปัญหาที่วิธีนี้แก้
ซึ่งไม่บอกว่าผลนั้นมาจากข้อได้เปรียบจริง หรือมาจากความบังเอิญของช่วงนั้น
Forward Test ตามเวลาจริงเพิ่มข้อมูลใหม่ แต่ต้องรอให้เกิดเหตุการณ์และไม่ได้ขจัดความไม่แน่นอน
Walk-Forward จำลองกระบวนการเดียวกันด้วยข้อมูลในอดีต จึงได้คำตอบเร็วกว่า
โดยแลกกับความสมจริงที่น้อยกว่า Forward Test
วิธีการทำงาน
รอบ 1
ใช้ช่วง A พัฒนากฎ → ล็อกค่า → ประเมินช่วง B
รอบ 2
เมื่อ B ผ่านไป ใช้ B พัฒนารอบใหม่ → ประเมิน C
รอบ 3–4
ทำซ้ำ C → D และ D → E ตามกระบวนการที่ล็อกไว้
รวมผลเฉพาะ B, C, D, E ที่เป็นช่วงประเมินครั้งแรกของแต่ละรอบ ไม่รวมผลฝึก และไม่นับช่วงประเมินซ้ำ
โครงสร้างของแต่ละรอบ รอบที่ 1 ปรับกฎกับช่วง A -> ทดสอบกับช่วง B รอบที่ 2 ปรับกฎกับช่วง B -> ทดสอบกับช่วง C รอบที่ 3 ปรับกฎกับช่วง C -> ทดสอบกับช่วง D รอบที่ 4 ปรับกฎกับช่วง D -> ทดสอบกับช่วง E สิ่งที่ต้องดู ผลของช่วง B, C, D, E รวมกัน ไม่ใช่ผลของช่วงที่ใช้ปรับ
แต่ละช่วงทดสอบต้องไม่ถูกใช้เลือกกฎของรอบนั้น และกระบวนการเลือกกฎต้องกำหนดก่อนดูผลรวม
นี่คือสิ่งที่ทำให้ผลเชื่อถือได้มากกว่า Backtest ธรรมดา
เพราะในแต่ละรอบ คุณกำลังทำสิ่งเดียวกับที่จะทำในความเป็นจริง — ปรับกฎจากสิ่งที่รู้ แล้วใช้กับสิ่งที่ยังไม่รู้
ผลทดสอบที่สม่ำเสมอเพิ่มหลักฐานความทนทานในช่วงที่ตรวจ แต่ไม่พิสูจน์ว่าไม่ Overfit หรือจะใช้ได้ในอนาคต
ถ้าผลดีบางรอบและแย่บางรอบมาก — แปลว่ากฎอ่อนไหวต่อช่วงเวลาที่ใช้ปรับ
เลือกหน้าต่างและจัดการรอยต่อให้ชัด
Rolling window ใช้ช่วงพัฒนาที่มีความยาวคงที่และเลื่อนไป ส่วน Anchored/Expanding window คงจุดเริ่มต้นแล้วเพิ่มข้อมูลอดีต ทั้งสองแบบต้องใช้เฉพาะข้อมูลที่รู้ก่อนเริ่มช่วงประเมิน
- กำหนดรายการค่าที่ให้เลือก วิธีจัดอันดับ และวิธีตัดสินเมื่อผลเสมอกันก่อนเริ่ม
- หากมี Position ค้างข้ามรอบ ให้ระบุว่าจะปิดตามกฎเก่าหรือโอนการดูแลอย่างไร พร้อมต้นทุน ห้ามรีเซ็ตผลขาดทุนค้าง
- ใช้ข้อมูลก่อนช่วงประเมินเพื่อเตรียม Indicator ได้ แต่ห้ามใช้ผลในช่วงประเมินเลือกค่า
- หลีกเลี่ยงการรวมช่วง Out-of-sample ที่ทับกันเป็นผลอิสระ ต้องมีเส้นผลตามเวลาที่ไม่ซ้ำ
- ถ้าใช้ผลรวมเลือกความยาวหน้าต่างอีกครั้ง ผลนั้นกลายเป็นข้อมูลพัฒนา ต้องมีข้อมูลใหม่ตรวจนโยบายที่เลือก
ตัวอย่าง A→B ในภาพเป็นแบบย่อเพื่ออธิบาย ไม่ใช่ความยาวหน้าต่างที่เหมาะกับทุกกลยุทธ์ และผลแต่ละรอบไม่จำเป็นต้องกำไรทั้งหมดจึงจะนำมาประเมินได้
สิ่งที่ต้องกำหนดก่อนเริ่ม
- ความยาวของช่วงที่ใช้ปรับกฎ
- ความยาวของช่วงทดสอบ
- จำนวนรอบทั้งหมด
- เกณฑ์ว่าผลแบบไหนถือว่าผ่าน
เพราะถ้ากำหนดหลังจากนั้น — คุณจะเลือกค่าที่ทำให้ผลออกมาดี
ซึ่งเป็น Overfitting ในอีกระดับหนึ่ง
ข้อสังเกตสำคัญ: ความยาวของช่วงเป็นพารามิเตอร์เหมือนกัน — การลองหลายค่าแล้วเลือกตัวที่ให้ผลดีที่สุด ก็คือการปรับให้พอดีกับอดีต
อ่านผลอย่างไร
| สิ่งที่เห็น | ตีความอย่างไร |
|---|---|
| ทุกรอบให้ผลใกล้เคียงกัน | ตรวจเพิ่มว่าผลสุทธิ ความเสี่ยง และจำนวนตัวอย่างผ่านเกณฑ์หรือไม่ |
| ผลแกว่งมากระหว่างรอบ | กฎอ่อนไหวต่อช่วงเวลาที่ใช้ปรับ |
| ค่าพารามิเตอร์ที่ได้ต่างกันมากทุกรอบ | เป็นเหตุให้ตรวจความเสถียร ความผันผวน และวิธีเลือกค่า ยังสรุป Overfitting ไม่ได้ |
| ผลช่วงปรับดีมาก แต่ช่วงทดสอบแย่ | อาจมีการเลือกกฎเข้ากับอดีต แต่ต้องตรวจต้นทุน ตลาด และจำนวนตัวอย่างด้วย |
ถ้าค่าเปลี่ยนมาก อาจมาจากข้อมูลน้อย ผลใกล้เคียงกันหลายค่า หรือสภาวะเปลี่ยน ไม่ใช่หลักฐานว่าไม่มีค่าที่ใช้งานได้
ตรวจว่าผลสุทธิและความเสี่ยงไวต่อการเปลี่ยนค่านั้นแค่ไหน รวมถึงความถี่ปรับที่ตั้งไว้
หากยังแยกสาเหตุไม่ได้ ให้ถือว่าหลักฐานยังจำกัด ไม่เลือกเฉพาะรอบหรือค่าที่ดูดี
ข้อจำกัดที่ต้องยอมรับ
| ข้อจำกัด | ผลที่ตามมา |
|---|---|
| ต้องมีข้อมูลจำนวนมาก | แต่ละรอบต้องมีไม้พอสรุปผล |
| ยังเป็นข้อมูลย้อนหลัง | ไม่แทนที่ Forward Test ได้ |
| ซับซ้อนกว่าที่จำเป็นสำหรับหลายกรณี | กลยุทธ์ที่มีพารามิเตอร์น้อยอาจไม่ต้องใช้ |
| ไม่ตรวจเรื่องการทำตามกฎ | เพราะไม่มีแรงกดดันจริง |
ถ้ากลยุทธ์ของคุณมีพารามิเตอร์ไม่กี่ตัวและไม่ได้ปรับค่าไปมา — คุณอาจไม่จำเป็นต้องใช้วิธีนี้
วิธีนี้เหมาะกับการประเมินกระบวนการที่ตั้งใจปรับค่าตามเวลา ไม่จำเป็นต้องมีพารามิเตอร์มาก และความซับซ้อนเพิ่มความเสี่ยงการเลือกผลย้อนหลัง
สิ่งที่สำคัญกว่าสำหรับผู้เริ่มต้น: แบ่งข้อมูลเป็นสองส่วนแล้วเปิดส่วนที่เก็บไว้ครั้งเดียว — อ่านวิธี
แล้วทองคำล่ะ
เพราะทองมีช่วงที่พฤติกรรมต่างกันชัดเจน — และวิธีนี้ช่วยเปรียบเทียบผลหลายช่วง แต่ยังต้องมีตัวอย่างเพียงพอและไม่รับประกันคำตอบทันที
สิ่งที่ควรดูเป็นพิเศษ: ค่าพารามิเตอร์ที่ได้จากแต่ละรอบ
ถ้าระยะ SL ต่างกันมาก ให้ตรวจความผันผวนและความไวของผล จะเปรียบเทียบระยะคงที่กับ ATR ก็ได้หากกำหนดวิธีเลือกไว้ก่อน
ATR ยังมีค่า period และตัวคูณให้เลือก จึงยัง Overfit ได้ ไม่ใช่เหตุให้เลือกใช้โดยอัตโนมัติ
คำถามที่พบบ่อย
ต้องใช้กี่รอบ?
มากพอที่แต่ละรอบยังมีไม้พอสรุปผล — ซึ่งแปลว่าต้องมีข้อมูลรวมมากพอสมควร ถ้าแบ่งแล้วแต่ละรอบมีไม้น้อยเกินไป ผลจะไม่บอกอะไร
ช่วงปรับกับช่วงทดสอบควรยาวเท่าไร?
ไม่มีค่ามาตรฐาน — สิ่งสำคัญคือกำหนดไว้ก่อนเห็นผล และไม่ลองหลายค่าแล้วเลือกตัวที่ดีที่สุด
แทนที่ Forward Test ได้ไหม?
ไม่ได้ — เพราะยังเป็นข้อมูลย้อนหลังและไม่ตรวจว่าคุณทำตามกฎได้จริงเมื่อมีเงินเดิมพัน
ผลแต่ละรอบต้องดีทุกรอบไหม?
ไม่จำเป็น — แต่ถ้าแกว่งมากผิดปกติ ควรถือว่ากฎยังไม่นิ่งพอ มากกว่าจะเลือกดูเฉพาะรอบที่ดี
สรุป
2. ดูผลของช่วงทดสอบรวมกัน ไม่ใช่ผลของช่วงที่ใช้ปรับ
3. ค่าที่เปลี่ยนมากเป็นเหตุให้ตรวจ ไม่ใช่คำวินิจฉัย Overfitting
4. บันทึกการลองความยาวหน้าต่างและแยกข้อมูลประเมิน ไม่เลือกแบบที่ดีแล้วรายงานเสมือนไม่เคยปรับ
5. ไม่แทนที่ Forward Test เพราะยังเป็นข้อมูลย้อนหลัง
อ่านต่อ
- Performance Metrics ที่ต้องวัด
- Overfitting และ Curve Fitting
- Forward Testing
- Sample Size เท่าไรจึงเชื่อถือได้
แหล่งอ้างอิง
- Hyndman และ Athanasopoulos — Time series cross-validation
- Bailey และคณะ — ความเสี่ยงจากการเลือกผลย้อนหลัง
- Walk-Forward Analysis เป็นวิธีการที่พัฒนามาจากแนวคิดการตรวจสอบข้ามชุดข้อมูลในสาขาสถิติ บทความนี้อธิบายหลักการและข้อจำกัด ไม่ได้ยืนยันว่าการใช้วิธีนี้จะทำให้กลยุทธ์ทำกำไรได้ ความยาวของช่วงและจำนวนรอบที่เหมาะสมต่างกันตามกลยุทธ์และปริมาณข้อมูลที่มี
📘 บทความนี้เป็นส่วนหนึ่งของ บทเรียนที่ 14: Build → Test → Measure → Improve
📚 บทความถัดไป
วัดผลกลยุทธ์ด้วยตัวเลขไหน? Win Rate ไม่พอ
คุณได้เห็นวิธีประเมินกระบวนการเลือกกฎตามเวลาพร้อมข้อจำกัด
บทถัดไปเลือกตัวชี้วัดผลสุทธิและความเสี่ยง เพื่ออ่านผลทั้งชุดแทนการดูอัตราชนะอย่างเดียว
Share This Story, Choose Your Platform!
โฆษณาพันธมิตร: จำนวน $30 ในภาพไม่ยืนยันสิทธิ์ของทุกบัญชี ตรวจข้อเสนอที่แสดงสำหรับคุณและเงื่อนไขถอนกำไรก่อนสมัคร ดูวิธีตรวจสิทธิ์
ตรวจสิทธิ์ก่อนรับโบนัส
โบนัสและเงื่อนไขอาจต่างกันตามประเทศ ประเภทบัญชี และช่วงเวลา ตรวจข้อเสนอที่แสดงในบัญชีของคุณ พร้อมเงื่อนไขการใช้เครดิตและการถอนกำไรก่อนตัดสินใจ
บทความในหมวด บทเรียนที่ 13: Trading Strategy 🎯 เมื่อเรี […]
บทความในหมวด บทเรียนที่ 14: ทดสอบและวัดผล 🎯 เมื่อเรียนบ […]
บทความในหมวด บทเรียนที่ 13: Trading Strategy 🎯 เมื่อเรี […]
⚫ LEVEL 5: TRADING SYSTEM | บทเรียนที่ 13 จาก 14 🎯 เมื่ […]


