11 ก.ย. 2019 เวลา 09:24 • การศึกษา
หลักการ Training Testing และ Backtest ที่ใช้ได้จริง
เรื่องนี้เป็นหัวใจหลักๆ สำคัญในการสร้างระบบเทรดที่สามารถนำมาใช้เทรดจริงได้ จะอธิบายหลักเบื้องต้นให้นักลงทุนเข้าใจ โดยไม่ลงลึกมากจนเกินไป เพื่อให้ทุกคนสามารถทำความเข้าใจได้ง่าย จะได้นำมาใช้ในการพิจารณาเลือก Robot จริงๆได้
ซึ่งหลักการสำคัญที่ใช้สร้าง Trading Robot ให้ใช้ได้จริงมีดังนี้
1. ต้องแบ่งข้อมูล TRAINING DATA และ TEST DATA เป็น คนละชุดกัน
ภาพโดย : Purd Tanitas
ต้องมีการแบ่งข้อมูลออกเป็น 2 ส่วน คือ
1. Training Data (In Sample)
2. Test Data (Out of Sample)
ถ้าไม่มีแบ่ง ใช้ชุดเดียวเทรนและเทส ก็เกิดการ Overfiting ได้สูงมาก
เมื่อทำการสร้างระบบออกมาแล้ว เราจำเป็นต้องพิสูจน์ว่า ระบบที่คิดค้นมานี้ สามารถทำกำไรได้ทุกช่วงเวลา หรือ ไม่ เราจึงต้องทำการแบ่งการทดสอบเป็น 2 ส่วน
1. In Sample คือ ช่วงระยะเวลาที่ทำ Optimization และ Backtest ให้กับระบบ เพื่อที่จะได้ค่าที่เหมาะสมที่สุดออกมา
2. Out Of Sample คือ ช่วงระยะเวลาที่ นอกเหนือจากที่เราทำการ Optimization และ Backtest
ในส่วนของ Out Of Sample จะเป็นการพิสูจน์ออกมาว่าระบบที่ได้นี้ สามารถใช้ได้ในทุกช่วงเวลา ไม่ใช่แค่เฉพาะช่วงเวลาใด เวลาหนึ่งเท่านั้น
แต่โดยส่วนมากแล้ว EA หรือ Robot ที่มีให้บริการในตลาดบ้านเรานั้น มักจะไม่ค่อยมีการแบ่งข้อมูลเป็น 2 ส่วนดังที่กล่าวมา นั่นเป็นเพราะว่ามันยากกว่าการใช้ข้อมูลชุดเดียวในการ Optimization นั่นเอง จึงส่งผลให้หลายๆ ระบบเทรด จึงไม่สามารถทำกำไรได้จริงในระยะยาว ต้องใช้แบบวัดดวงกันไป
ดังนั้น จะเห็นได้ว่าโจทย์ที่ยากที่สุดของการวิจัยออกแบบระบบการลงทุน กลับไม่ใช่การสร้างระบบที่ให้ผลตอบแทนสวยหรูเพียงแค่ในชุดข้อมูลในอดีตที่เรารู้จัก หรือ In Sample Data เท่านั้น แต่มันคือการสร้างระบบการลงทุน ที่มีผลตอบแทนที่ดีที่สุด และยังมีความเสถียรยั่งยืนในการลงทุนจริงๆ กับชุดข้อมูลในอนาคตที่เรายังไม่เคยพบเจอกันอีกด้วย
2. ถ้าข้อมูลน้อย มีรูปแบบตลาดไม่หลากหลายพอ โมเดลก็ไม่ Robust และ General พอ
นอกจากจะต้องแบ่งข้อมูลเป็น 2 ส่วนแล้ว ข้อมูลราคาที่นำมาใช้สร้างโมเดล จะต้องมากพอ มีรูปแบบตลาดที่หลากหลายด้วยเช่นกัน มิฉะนั้นแล้วโมเดลที่เราได้มานั้น จะไม่มีความทนทาน (Robust) มากพอ และอาจ Overfitting เฉพาะช่วงเวลาที่ทดสอบเพียงอย่างเดียว ไม่สามารถทำกำไรในการเทรดจริงได้
3. การ Backtest จำเป็นต้องคำนึงถึงสภาพแวดล้อมจริงที่มีผลต่อการเทรดด้วย
อย่างเช่น Slippage , Spread จะต้องใกล้เคียงกับเวลาเทรดจริง ดังนั้นจึงต้องมีเครื่องมือช่วยจำลองและทดสอบตรงจุดนี้ และเครื่องมือที่เป็นที่นิยมกันอย่างมาก คือ Monte Carlo Validation และ Walk Forward Validation
Monte Carlo Validation
อธิบายง่ายๆ คือ การจำลองสถานการณ์ต่างๆ ขึ้นมาด้วยการกำหนดค่าพารามิเตอร์ต่างๆ เช่น ค่าเฉลี่ย และ ค่าเบี่ยงเบนมาตรฐาน ของแต่ละปัจจัยที่เราจะนำมาใช้ทดสอบ การสร้างข้อมูลสุ่มของแต่ละปัจจัย ทำการ Simulate และนำผลมาวิเคราะห์ เพื่อทดสอบความ เสถียรยั่งยืนของระบบเทรด
Walk Forward Validation
เป็นหนึ่งเทคนิคที่ใช้ทดสอบเสถียรยั่งยืนของระบบเทรดที่ได้รับความนิยม
การทดสอบเริ่มด้วยการ Optimize Parameter ใน Training Data (In Sample) เพื่อหาค่าที่ให้ผลลัพธ์ที่ดีที่สุด จากนั้นนำค่าที่ได้จาก Training Data ไปใช้ในการทดสอบกับ Test Data (Out of Sample)
เมื่อทดสอบเรียบร้อย จะเริ่มทดสอบอีกครั้งกับช่วงของ Training Data ใหม่ ที่ถูกขยับไปข้างหน้าตาม Step ที่กำหนดโดยรวม Test Data ในการทดสอบครั้งก่อนเข้าไปใน Training Data ชุดใหม่ด้วย กระบวนการนี้จะถูกทำซ้ำไปเรื่อยๆจนกระทั่งหมดชุดข้อมูล
และนำค่า Equity ของช่วง Test Data เพียงอย่างเดียวมาเชื่อมต่อกันและคำนวนค่าสถิติมาเปรียบเทียบกับผลการทดสอบที่มาจากค่าที่เรากำหนดเองตอนออกแบบระบบ
หลายคนคงน่าจะพอเข้าใจกันแล้วว่า ทำไมผล Backtest ที่ดูดีที่เราเห็นกันทั่วไป จึงแทบจะไม่มีผลต่อการพยากรณ์ประสิทธิภาพของระบเทรดในอนาคตเลย ซึ่งนั่นก็เป็นเพราะการเลือกชุดค่าพารามิเตอร์ที่ดีที่สุดในอดีตออกมา โดยไม่ได้คำนึงถึงความเสถียรของระบบเลยนั่นเอง
ดังนั้นแล้ว วิธีการทั้งหมดที่เราอธิบาย จึงเป็นอีกวิธีการหนึ่งที่จะช่วยให้เราไม่ตกเป็นเหยื่อของหลุมพรางจากการ Overfitting หรือแม้แต่โฆษณาชวนเชื่อได้อย่างมีประสิทธิภาพในระดับหนึ่งเลยทีเดียว
อย่าลืมนะครับ! ผลตอบแทนที่สวยหรูดูดีจากการวิจัย โดยเลือกค่าพารามิเตอร์ที่ดีที่สุดในอดีตนั้นเป็นแค่ภาพลวงตา โดยสิ่งที่สำคัญกว่าคือการทดสอบว่ามันสามารถสร้างผลตอบแทนที่ดีในชุดข้อมูลที่มันไม่เคยเจอได้หรือไม่ และดีแค่ไหนกันต่างหาก เพราะความเสถียรยั่งยืนของระบบเทรดนั้น คือกุญแจสำคัญในการสร้างความมั่งคั่งอย่างยืนที่แท้จริงในอนาคตนั่นเอง
คัดลอกมาจากบทความที่ผมเขียนใน https://factorpro.org/index.php/how-to-choose-robot-forex/
- Purd Tanitas -
โฆษณา