【บันทึกการพัฒนา】ทำไมต้องดูค่าเหมาะสมกับความคาดหวังมากกว่าชัยชนะ — ควรอ่านตัวชี้วัดการทดสอบย้อนหลังอย่างไร
การดูผลการทดสอบอัตโนมัติซื้อขาย FX (EA) เมื่อดูจากรายงาน backtest หลายคนมักให้ความสนใจกับ “อัตราชนะ” มากที่สุด หากอัตราชนะสูง มักรู้สึกว่าเป็น “ตรรกะที่ดี” แต่ในความจริง ประสบการณ์นี้เองที่อาจเป็นช่องว่างสำคัญที่ทำให้การเลือกตรรกะผิดพลาดได้ แนะแนวนี้จะอธิบายวิธีคบกับตัวชี้วัดอัตราชนะอย่างถูกต้องและวิธีตีความตัวชี้วัดในการ backtest
■ เหตุผลที่ตรรกะที่มีอัตราชนะสูงแต่ทรัพย์สินไม่เพิ่มขึ้น
เมื่อดูรายงาน backtest ผู้คนส่วนใหญ่มักมองไปที่อัตราชนะก่อน หากได้ยินว่าอัตราชนะ 80% ก็ย่อมรู้สึกมั่นใจตามธรรมชาติ อย่างไรก็ตามตรรกะที่ชนะ 80% ไม่จำเป็นต้องเป็นตรรกะที่ดีเสมอไป
ตัวอย่าง เช่น แม้จะมีอัตราชนะ 80% แต่เมื่อชนะจะมีกำไรเล็กๆ และเมื่อแพ้จะขาดทุนใหญ่ๆ ตรรกะแบบนี้ ถ้าเป็นทดสอบ 10 รอบ ชนะ 8 รอบด้วยกำไรเล็กๆ และแพ้ 2 รอบด้วยขาดทุนใหญ่ก็เป็นไปได้ที่ทรัพย์สินจะลดลงโดยรวม อัตราชนะเป็นเพียงจำนวนครั้งที่ชนะเท่านั้น ไม่สะท้อนถึงขนาดของกำไรหรือขาดทุนในแต่ละรอบเลย
ในทางกลับกัน หากอัตราชนะราว 30% แต่เมื่อชนะจะทำกำไรได้มาก และเมื่อแพ้จะจำกัดการขาดทุนอย่างเคร่งครัด นี่คือแนวคิดที่เรียกว่า “ขาดทุนน้อยกำไรสูง” ที่ทรัพย์สินรวมอาจเพิ่มขึ้นอย่างต่อเนื่องได้ ไม่ใช่ดูแค่อัตราชนะแล้วจะเห็นว่าเป็นตรรกะที่อ่อนแอ แต่จริงๆ แล้วอาจเป็นตรรกะที่ยอดเยี่ยมแต่ถูกมองข้าม
■ แนวคิดค่าคาดหวัง (Expect Value)
เพื่อหลีกเลี่ยงกับดักนี้ สิ่งสำคัญคือการเข้าใจ “ค่าคาดหวัง” ค่าคาดหวังคือดัชนีที่บอกว่าโดยเฉลี่ยแล้วต่อการเทรดหนึ่งครั้งจะคาดว่าจะได้กำไรหรือขาดทุนประมาณเท่าไร
ค่าคาดหวังสามารถแสดงด้วยสมการดังนี้
ค่าคาดหวัง = (อัตราชนะ × กำไรเฉลี่ย) - (อัตราแพ้ × ขาดทุนเฉลี่ย)
จากสมการนี้จะเห็นได้ว่า ค่าคาดหวังไม่ใช่ดูแค่อัตราชนะเท่านั้น แต่ยังรวมถึงขนาดของกำไรเมื่อชนะและขนาดของขาดทุนเมื่อแพ้ด้วย หากอัตราชนะต่ำแต่ผลตอบแทนเมื่อชนะสูง ค่าคาดหวังก็อาจเป็นบวก และถ้าอัตราชนะสูงแต่ขาดทุนเมื่อแพ้ใหญ่ ค่าคาดหวังก็อาจเป็นลบ การตัดสินตรรกะที่แท้จริงควรดูจากค่า คาดหวัง มากกว่าดูที่อัตราชนะเพียงอย่างเดียว
■ จะอ่านผลการ backtest อย่างไรให้ถูกต้อง
ดังนั้นเมื่อดูผลลัพธ์ backtest ควรสนใจพร้อมๆ กันทั้งอัตราชนะและกำไรเฉลี่ย/ขาดทุนเฉลี่ย ไม่ใช่ดูแต่จำกัดที่อัตราชนะเป็นหลัก ให้ดูสมดุลระหว่างกำไรที่ได้เมื่อชนะและขาดทุนที่เกิดเมื่อแพ้ด้วย
นอกจากนี้ โปรฟิทฟักเตอร์ (Profit Factor: กำไรทั้งหมด ÷ ขาดทุนทั้งหมด) ก็เป็นดัชนีที่ควรตรวจสอบควบคู่กับค่าคาดหวัง หากโปรฟิทฟักเตอร์มากกว่า 1 แปลว่ากำไรรวมมากกว่าขาดทุนรวม แต่การดูแค่ตัวเลขนี้เพียงอย่างเดียวก็อาจทำให้เข้าใจผิดได้ เพราะอาจมีกรณีที่จำนวนการเทรดน้อยมากแต่ได้ค่าดีๆ เกิดขึ้นโดยบังเอิญ ควรตรวจสอบจำนวนการเทรดและระยะเวลาการทดสอบร่วมด้วย เพื่อพิจารณาความแปรปรวนทางสถิติ อย่างเป็นแนวทาง ควรถือว่า ค่าเฉลี่ยและโปรฟิทฟักเตอร์ที่ได้จากการเทรดไม่กี่สิบรอบอาจมีอิทธิพลของความเบี่ยงเบนสูง
นอกจากนี้ ต้องพิจารณาคู่กับสูงสุดที่เรียกว่า Drawdown ด้วย แม้ตรรกะจะมีค่าคาดหวังเป็นบวก แต่หากช่วงขาดทุนระหว่างการดำเนินการรุนแรงเกินไป อาจทำให้จิตใจไม่สามารถทนได้และหยุดตรรกะไปได้ ตั้งแต่ค่าคาดหวัง โปรฟิทฟักเตอร์ และ drawdown หากดูพร้อมกันจะทำให้เห็นประสิทธิภาพของตรรกะได้ชัดขึ้น และหากทำพร้อมกับอัตราส่วนกำไรต่อขาดทุน (Risk-Reward Ratio) จะทำให้เห็นพฤติกรรมของตรรกะได้ชัดเจนขึ้น เช่น ตรรกะที่เป็นแบบค่อยเป็นค่อยไปหรือตรากะที่เสี่ยงทีเดียว
■ วิธีคบกับตัวชี้วัดอัตราชนะ
อัตราชนะไม่ใช่ตัวชี้วัดที่ไม่มีความหมายเสมอไป ในแง่ของความมั่นคงทางจิตใจ ตรรกะที่มีอัตราชนะสูงอาจทำให้ดำเนินการต่อไปในการใช้งานจริงได้ง่ายกว่า ซึ่งเป็นสิ่งที่จริง เพราะเมื่อแพ้ต่อเนื่อง ความคาดหวังอาจยังเป็นบวก แต่ความรู้สึกอารมณ์ก็สามารถผลักให้หยุดตรรกะไปได้
อย่างไรก็ตาม นั่นเป็นเพียงเรื่องของความสะดวกในการดำเนิการต่อเนื่อง ไม่ใช่เกณฑ์ในการตัดสิน “ความเหนือกว่าเชิงตรรกะ” ในการตัดสินใจเลือกตรรกะจริงๆ ควรดูด้วยสองแกนคือ ค่า คาดหวังที่เป็นบวก และขอบเขต drawdown ที่ตัวเองสามารถทนได้ทางจิตใจ
■ สรุป: เห็นสิ่งที่อยู่เบื้องหลังตัวเลข
เมื่อดูรายงาน backtest หากพยายามดูแค่ตัวเลขอัตราชนะเพียงอย่างเดียว อาจพลาดเห็นความเหนือกว่าแท้จริงได้ จุดประกายความเข้าใจควรดูพร้อมกับอัตราเฉลี่ยกำไร/ขาดทุน ค่า คาดหวัง โปรฟิทฟักเตอร์ และ drawdown ดูพร้อมกันเพื่อประเมินศักยภาพตรรกะอย่างถูกต้อง
อย่าหลงไปกับตัวเลขอัตราชนะที่โดดเด่น จงอ่านให้ละเอียดถึงสมดุลของกำไรและขาดทุนที่อยู่เบื้องหลัง เพื่อให้มุมมองนี้ยังคงอยู่
นอกจากนี้ การอ่านวิธีใช้งานตัวชี้วัดใน backtest และประเด็นที่สงสัยในการตรวจสอบจริง ยังมีการแลกเปลี่ยนข้อมูลใน Semura_Lab よろず相談所 หากมีความสงสัยโปรดติดต่อได้
https://www.gogojungle.co.jp/mypage/community/485