
Backtesting คือ กระบวนการนำชุดกฎและเงื่อนไขของกลยุทธ์การเทรดไปจำลองซื้อขายกับข้อมูลราคาย้อนหลังในอดีต (Historical Data) เพื่อประเมินว่าระบบนั้นสร้างผลตอบแทนและมีความเสี่ยงมากน้อยเพียงใดก่อนนำไปใช้งานจริง
การทำ Backtesting ย้อนหลังช่วยแปลงสมมติฐานบนหน้ากราฟให้กลายเป็นตัวเลขสถิติที่จับต้องได้ ทำให้เทรดเดอร์มองเห็นจุดอ่อนและพฤติกรรมของระบบในสภาวะตลาดต่าง ๆ อย่างเป็นกลาง คู่มือนี้ครอบคลุมความหมาย วิธีการทำทั้งแบบใช้มือและระบบอัตโนมัติ การอ่านค่าสถิติสำคัญ ตลอดจนข้อผิดพลาดที่ต้องระวังในการทดสอบครับ
คำเตือน: การลงทุนมีความเสี่ยง ผู้ลงทุนควรศึกษาข้อมูลให้เข้าใจก่อนตัดสินใจลงทุนทุกครั้งครับ
สาระสำคัญจากพี่โบ้
- การทำ Backtesting ย้อนหลังช่วยเปลี่ยนความเชื่อมั่นแบบไร้ทิศทางให้เป็นค่าความน่าจะเป็นเชิงสถิติที่วัดผลได้จริง
- ผลทดสอบในอดีตไม่ได้การันตีผลกำไรในอนาคต แต่บอกพฤติกรรมความเสี่ยงและจุดเปราะบางของระบบได้ชัดเจน
- การปรับแต่งพารามิเตอร์มากเกินไป (Overfitting) คือหนึ่งในหลุมพรางที่พบได้บ่อยและอาจทำให้ระบบทำงานได้ไม่ดีเมื่อเจอข้อมูลตลาดจริง
- การคำนวณขนาดการเทรดด้วยสถิติ เช่น Kelly Criterion ช่วยจัดสมดุลระหว่างการเติบโตของพอร์ตกับการคุมความเสี่ยง
Backtesting คืออะไร?
Backtesting คือ การจำลองการส่งคำสั่งซื้อขายตามกฎของกลยุทธ์เทรดกับข้อมูลกราฟราคาย้อนหลัง เพื่อวัดผลว่าหากเราปฏิบัติตามแผนนั้นอย่างเคร่งครัดในอดีต พอร์ตจะมีอัตราการเติบโตและสถิติการขาดทุนเป็นอย่างไรครับ
กระบวนการนี้เริ่มจากการกำหนดชุดคำสั่งทางตรรกะที่แน่นอน เช่น เงื่อนไขจุดเข้าซื้อขาย (Entry) การตั้งจุดตัดขาดทุน (Stop Loss) และการทำกำไร (Take Profit) จากนั้นจึงป้อนกฎเหล่านี้ลงบนกราฟราคาในอดีต ข้อมูลย้อนหลังจะทำหน้าที่เสมือนสนามทดสอบจำลองที่แสดงผลลัพธ์เป็นตัวเลขสรุปออกมา ช่วยตัดอารมณ์ความลังเลและความกลัวออกไป ทำให้เรามองเห็นข้อเท็จจริงว่าระบบที่เราคิดนั้นมีแต้มต่อในตลาดจริงหรือไม่

การทดสอบด้วยมือ (Manual Backtest)
การทำ Manual Backtest คือการที่เทรดเดอร์เปิดกราฟย้อนหลังแล้วใช้เครื่องมือ Bar Replay เลื่อนราคาไปข้างหน้าทีละแท่ง จากนั้นบันทึกจุดเข้า ออก และผลลัพธ์ลงในสมุดบันทึกหรือตารางสเปรดชีตด้วยตนเอง วิธีนี้ช่วยฝึกฝนสายตา ความเข้าใจเรื่อง Price Action และอารมณ์การรอคอยสัญญาณได้เป็นอย่างดี แต่มีข้อจำกัดด้านความเร็วและจำนวนตัวอย่าง (Sample Size) ที่บันทึกได้จำกัด
การทดสอบด้วยระบบอัตโนมัติ (Automated Backtest)
Automated Backtest คือการแปลงเงื่อนไขของกลยุทธ์เป็นชุดคำสั่งหรือโค้ดโปรแกรม (เช่น MQL4, MQL5 หรือ Pine Script) เพื่อให้แพลตฟอร์มคอมพิวเตอร์ประมวลผลการคำนวณและสรุปสถิติออกมาภายในเวลาไม่กี่นาที วิธีนี้รวดเร็ว จัดการข้อมูลย้อนหลังนับสิบปีได้ครบถ้วน และตัดอคติส่วนตัวได้อย่างเด็ดขาด แต่ต้องอาศัยทักษะการเขียนโปรแกรมและการตรวจสอบความถูกต้องของชุดข้อมูล
| เกณฑ์การประเมิน | การทดสอบด้วยมือ (Manual) | การทดสอบด้วยระบบอัตโนมัติ (Automated) |
| ความเร็วในการทดสอบ | ช้า ใช้เวลาหลายชั่วโมงถึงหลายสัปดาห์ | รวดเร็ว ประมวลผลเสร็จในไม่กี่นาที |
| จำนวนตัวอย่างข้อมูล | บันทึกได้หลักสิบถึงหลักร้อยออเดอร์ | รวบรวมได้หลักพันถึงหลักหมื่นออเดอร์ |
| การฝึกฝนทักษะการมองกราฟ | สูง ได้เห็นพฤติกรรมราคาจริงทีละแท่ง | ต่ำ คอมพิวเตอร์คำนวณเบื้องหลังแทน |
| อคติทางอารมณ์ขณะทดสอบ | มีโอกาสเกิดอคติเข้าข้างตัวเองสูง | ปราศจากอคติ ทำตามโค้ดอย่างเคร่งครัด |
ทำไมการ Backtest ถึงสำคัญสำหรับเทรดเดอร์ Forex?
การ Backtest สำคัญเพราะช่วยสร้างความมั่นใจบนพื้นฐานของสถิติและช่วยให้เทรดเดอร์รู้ว่าระบบของตนมีโอกาสเผชิญการขาดทุนต่อเนื่องสูงสุดมากน้อยเพียงใดครับ
ในตลาด Forex ที่ราคาเคลื่อนไหวตลอด 24 ชั่วโมง ความผันผวนเกิดขึ้นได้เสมอจากข่าวเศรษฐกิจและสภาวะตลาดที่เปลี่ยนไป หากเทรดเดอร์เข้าตลาดโดยพึ่งพาเพียงความรู้สึก การถือออเดอร์จะเต็มไปด้วยความกลัวและปิดทำกำไรเร็วเกินไป หรือทนถือสถานะขาดทุนจนพอร์ตเสียหาย แต่เมื่อเรามีข้อมูล Back Test ย้อนหลัง เราจะรู้ว่าระบบนี้มีค่าความน่าจะเป็นเฉลี่ยอย่างไร และช่วงเวลาที่ระบบทำงานได้ไม่ดีจะมีความลึกของการย่อตัวของพอร์ตเท่าใด
อย่างไรก็ตาม การจำลองข้อมูลในอดีตมักไม่ได้สะท้อนต้นทุนแฝงในโลกจริงทั้งหมด เทรดเดอร์ต้องระวังปัจจัยสำคัญต่อไปนี้:
- ค่าสเปรดที่ถ่างกว้าง (Spread Widening) ในช่วงข่าวกล่องแดงหรือช่วงรอยต่อเปลี่ยนวัน
- ความคลาดเคลื่อนของราคา (Slippage) ที่ทำให้จุดเข้าซื้อขายจริงแย่กว่าราคาบนกราฟย้อนหลัง
- ความล่าช้าในการส่งคำสั่ง (Execution Delay) ของระบบเครือข่าย
ความผันผวนรุนแรงที่เกิดขึ้นแบบฉับพลันจนระบบควบคุมความเสี่ยงเดิมทำงานได้ไม่ทัน เป็นสิ่งที่เราพบเห็นได้บ่อยเมื่อศึกษากรณีความผันผวนของ Meme Stock ซึ่งเตือนสติเราเสมอว่าพฤติกรรมราคาที่ถูกขับเคลื่อนด้วยกระแสอารมณ์สามารถฉีกกฎสถิติในอดีตได้ตลอดเวลา การเข้าใจข้อจำกัดเหล่านี้จึงช่วยให้เราไม่หลงเชื่อตัวเลขผลตอบแทนจำลองเพียงด้านเดียวครับ
ค่าสถิติสำคัญที่ต้องอ่านให้เป็นหลังทำ Backtesting
การอ่านผลลัพธ์ Backtesting ต้องดูค่าสถิติหลายตัวร่วมกันเพื่อประเมินความเสี่ยงและผลตอบแทนอย่างรอบด้าน ไม่ควรมองเพียงแค่อัตราการชนะเท่านั้นครับ
1. Win Rate และ Risk-Reward Ratio
Win Rate คือสัดส่วนไม้ที่ได้กำไรเมื่อเทียบกับจำนวนการเทรดทั้งหมด คิดเป็นเปอร์เซ็นต์ ส่วน Risk-Reward Ratio คืออัตราส่วนระหว่างระยะกำไรที่คาดหวังกับระยะตัดขาดทุนที่ยอมรับ ระบบที่มี Win Rate สูงไม่ได้แปลว่าจะทำกำไรได้ดีเสมอไป หากแพ้ทีละมาก ๆ ในทางกลับกัน ระบบที่มี Win Rate เพียง 40% แต่รักษา Risk-Reward Ratio ได้ 1:2 ขึ้นไป ก็สร้างการเติบโตให้พอร์ตได้ในระยะยาว
2. Maximum Drawdown (MDD)
Maximum Drawdown คือสัดส่วนการลดลงของเงินทุนจากจุดสูงสุดเดิมลงมายังจุดต่ำสุดก่อนจะฟื้นตัวกลับขึ้นไป คิดเป็นเปอร์เซ็นต์ ค่านี้เป็นหนึ่งในตัวชี้วัดความเสี่ยงที่สำคัญ เพราะบอกให้เรารู้ว่าในอดีต ระบบนี้เคยทำให้พอร์ตหดตัวลงไปลึกที่สุดแค่ไหน และสภาพจิตใจของเราจะทนรับแรงกดดันในระดับนั้นได้จริงหรือไม่
3. Profit Factor และ Expected Value
Profit Factor คือผลรวมของกำไรทั้งหมดหารด้วยผลรวมของการขาดทุนทั้งหมด หากระบบมีค่า Profit Factor ตั้งแต่ 1.5 ขึ้นไป ถือว่าระบบมีแต้มต่อที่ดี ส่วน Expected Value (EV) คือมูลค่าคาดหวังเฉลี่ยต่อหนึ่งไม้ ซึ่งคำนวณจาก:
Expected Value = (Win Rate × กำไรเฉลี่ย) – (Loss Rate × ขาดทุนเฉลี่ย)
หากค่า EV ออกมาเป็นบวก แปลว่าเมื่อเทรดตามระบบไปเรื่อย ๆ ในระยะยาว พอร์ตมีแนวโน้มจะสร้างผลตอบแทนเฉลี่ยเป็นบวกครับ
4. การประยุกต์ใช้ Kelly Criterion ร่วมกับสถิติระบบ
Kelly Criterion คือสูตรทางคณิตศาสตร์ที่นำค่าสถิติจากผลการทดสอบระบบมาคำนวณหาสัดส่วนขนาดเงินทุนที่เหมาะสมในการออกออเดอร์แต่ละครั้ง เพื่อช่วยจัดสมดุลระหว่างการเร่งผลตอบแทนกับการลดความเสี่ยงของการสูญเสียเงินต้น โดยมีสูตรการคำนวณพื้นฐานดังนี้:
Kelly % = W – [(1 – W) ÷ R]
โดยที่:
- W คือ อัตราการชนะของระบบ (Win Rate)
- R คือ อัตราผลตอบแทนต่อความเสี่ยง (Risk-Reward Ratio)
แม้สูตรนี้จะให้สัดส่วนทางคณิตศาสตร์ที่ช่วยให้พอร์ตโตเร็วที่สุดตามทฤษฎี แต่ในทางปฏิบัติเทรดเดอร์มักเลือกใช้เพียงเสี้ยวเดียวของผลลัพธ์ (เช่น Half-Kelly หรือ Quarter-Kelly) เพื่อป้องกันไม่ให้ขนาดไม้ใหญ่เกินไปจนพอร์ตเผชิญความผันผวนสูงครับ
ความเข้าใจผิดและข้อผิดพลาดร้ายแรงในการทำ Backtest
ข้อผิดพลาดร้ายแรงข้อหนึ่งในการทำ Backtest คือการหลงคิดว่ากราฟผลลัพธ์ที่สวยหรูในอดีตจะการันตีกำไรในอนาคต โดยไม่ได้ระวังอคติทางสถิติที่ซ่อนอยู่ครับ
ปัญหา Overfitting (Curve Fitting)
Overfitting เกิดจากการที่เทรดเดอร์พยายามปรับแต่งค่าอินดิเคเตอร์หรือเพิ่มเงื่อนไขยิบย่อยเข้าไป เพื่อลบจุดขาดทุนในอดีตออกไปให้หมด จนระบบนั้นมีความพอดีกับข้อมูลในอดีตแบบสมบูรณ์แบบ แต่เมื่อนำไปใช้กับสภาวะตลาดใหม่ในอนาคต ระบบอาจปรับตัวไม่ได้และเกิดการขาดทุนอย่างรวดเร็ว ยิ่งระบบมีความซับซ้อนมากเท่าไร โอกาสที่จะเกิด Curve Fitting ก็ยิ่งสูงขึ้นเท่านั้น
Survivorship Bias และ Look-ahead Bias
Survivorship Bias เกิดจากการเลือกทดสอบเฉพาะสินทรัพย์ที่ยังมีสภาพคล่องและประสบความสำเร็จในปัจจุบัน โดยมองข้ามคู่เงินหรือสินทรัพย์ที่ล้มเหลวไปแล้ว ส่วน Look-ahead Bias คือความผิดพลาดในโค้ดหรือการวิเคราะห์ที่นำข้อมูลราคาในอนาคต (ข้อมูลที่ยังไม่เกิดขึ้นจริงในเวลานั้น) มาเป็นเงื่อนไขในการตัดสินใจเข้าซื้อขาย ทำให้ผลลัพธ์ที่ได้ดูดีเกินจริงอย่างมาก
📌 Tip จากพี่โบ้
สมัยที่ผมเริ่มเขียนระบบทดสอบใหม่ ๆ ข้อผิดพลาดที่ผมเจอบ่อยที่สุดคือการปรับค่าพารามิเตอร์ของอินดิเคเตอร์ไปเรื่อย ๆ จนกระทั่งเส้นกราฟกำไรในอดีตพุ่งชันสวยงาม แต่พอเอาไปรันจริงกลับพังไม่เป็นท่า ทางออกคือเราควรใช้กฎที่เรียบง่ายและทดสอบระบบข้ามสภาวะตลาดหลาย ๆ รอบ ผู้อ่านควรศึกษาและทดสอบด้วยตนเองตามความเหมาะสมและความเสี่ยงที่รับได้ครับ
ขั้นตอนการทำ Forward Testing และ Out-of-Sample เพื่อยืนยันระบบ
การยืนยันประสิทธิภาพของระบบเทรดอย่างเป็นวิทยาศาสตร์จำเป็นต้องแบ่งชุดข้อมูลทดสอบและผ่านขั้นตอน Forward Testing ก่อนนำไปใช้จริงเสมอครับ

การแบ่งข้อมูล In-Sample และ Out-of-Sample
ในการพัฒนา ระบบควรใช้ข้อมูลราคาในอดีตเพียงส่วนหนึ่ง (เช่น 70% ของชุดข้อมูลทั้งหมด) เป็นชุด In-Sample Data เพื่อปรับแต่งกฎและทดสอบเบื้องต้น เมื่อได้ระบบที่พอใจแล้ว ให้นำระบบนั้นไปทดสอบกับข้อมูลส่วนที่เหลืออีก 30% ที่เป็น Out-of-Sample Data ซึ่งเป็นช่วงเวลาที่ระบบไม่เคยเห็นมาก่อน หากผลลัพธ์ยังคงรักษาเสถียรภาพและสร้างผลตอบแทนได้ใกล้เคียงเดิม แสดงว่าระบบมีโอกาสสูงที่จะรอดในตลาดจริง
การทำ Forward Test บนบัญชี Demo
Forward Testing หรือการทดสอบแบบ Paper Trading คือการนำระบบมารันกับข้อมูลตลาดสดแบบเรียลไทม์ผ่านบัญชีทดลอง โดยไม่มีการเสี่ยงเงินจริง ขั้นตอนนี้ช่วยให้เราได้ตรวจสอบเรื่องความเสถียรของสัญญาณ การเกิด Slippage จริง และทดสอบว่าอารมณ์วินัยของเราสามารถปฏิบัติตามกฎที่วางไว้ได้หรือไม่ ควรทำอย่างน้อย 1-3 เดือน หรือเก็บตัวอย่างออเดอร์ให้ได้จำนวนมากพอ เพื่อให้มั่นใจในความสม่ำเสมอของผลลัพธ์
การจัดเก็บข้อมูลสถิติและบันทึกผลการทดสอบอย่างเป็นระบบช่วยให้เราเห็นภาพรวมของระบบทั้งหมดและตรวจพบจุดบกพร่องได้ทันท่วงทีครับ
บทสรุป: กุญแจสำคัญของการทำ Backtesting สู่การเทรดอย่างยั่งยืน
Backtesting เป็นเครื่องมือสำคัญที่ช่วยให้เราเข้าใจความเสี่ยง พฤติกรรมของระบบ และความน่าจะเป็นทางสถิติก่อนนำเงินทุนจริงเข้าไปเสี่ยงในตลาด การมีตัวเลข Drawdown และ Win Rate ที่ชัดเจนช่วยสร้างวินัยทางอารมณ์ ลดความตื่นตระหนกในวันที่ตลาดผันผวน และช่วยให้เราบริหารเงินทุนได้อย่างเป็นระบบ หากคุณต้องการวางแผนกลยุทธ์ที่มุ่งเน้นความต่อเนื่องและมองภาพระยะยาว สามารถทำความเข้าใจ Position Trading ได้ครับ
คำถามที่พบบ่อยเกี่ยวกับ Backtesting
Backtesting ต้องใช้ข้อมูลย้อนหลังกี่ปีถึงจะเชื่อถือได้?
ระยะเวลาที่เหมาะสมขึ้นอยู่กับสไตล์การเทรดและกรอบเวลา (Timeframe) ครับ แต่ตามหลักสถิติควรครอบคลุมอย่างน้อย 3-5 ปีขึ้นไป หรือมีจำนวนตัวอย่างการเทรดไม่ต่ำกว่า 100-200 ออเดอร์ สิ่งสำคัญอีกข้อคือข้อมูลย้อนหลังชุดนั้นต้องผ่านสภาวะตลาดที่หลากหลาย ทั้งตลาดที่มีแนวโน้มรุนแรง ตลาดแกว่งตัวไซด์เวย์ และช่วงวิกฤตเศรษฐกิจ เพื่อให้เห็นพฤติกรรมของระบบในทุกมิติครับ
ทำไมผล Backtest ออกมากำไรดีมาก แต่เวลาเทรดจริงกลับขาดทุน?
สาเหตุหลักเกิดจากปัญหา Overfitting หรือการปรับแต่งระบบให้พอดีกับข้อมูลในอดีตมากเกินไปจนขาดความยืดหยุ่น นอกจากนี้ยังมักเกิดจากการมองข้ามต้นทุนแฝงในโลกจริง เช่น ค่าสเปรดที่ถ่างกว้างช่วงข่าว การเกิด Slippage รวมถึงความผิดพลาดทางจิตวิทยาที่เทรดเดอร์ไม่สามารถทำตามแผนอย่างมีวินัยเหมือนที่ระบบคอมพิวเตอร์คำนวณไว้ครับ
การทำ Backtest จำเป็นต้องเขียนโค้ดเป็นเสมอไปไหม?
ไม่จำเป็นเสมอไปครับ เทรดเดอร์สามารถเริ่มต้นด้วยการทำ Manual Backtest บนโปรแกรมดูกราฟทั่วไป เช่น การใช้ฟังก์ชัน Bar Replay แล้วจดบันทึกผลลัพธ์ลงในตารางสเปรดชีตด้วยตนเอง วิธีนี้ยังช่วยฝึกฝนทักษะการอ่านพฤติกรรมราคาได้ดี แต่หากต้องการทดสอบกลยุทธ์ที่มีความซับซ้อนและข้อมูลจำนวนมาก การเขียนโค้ดจะช่วยประหยัดเวลาได้มากกว่าครับ
Kelly Criterion เหมาะกับการเทรด Forex ทุกระบบหรือไม่?
ไม่เหมาะกับทุกระบบครับ Kelly Criterion ออกแบบมาสำหรับระบบที่มีค่าสถิติความน่าจะเป็นและอัตราผลตอบแทนที่นิ่งและแน่นอน หากนำมาใช้กับตลาด Forex โดยใช้สัดส่วนเต็ม (Full Kelly) ขนาดสัญญาจะใหญ่เกินไปจนทำให้พอร์ตแตกได้เมื่อเจอการขาดทุนต่อเนื่อง เทรดเดอร์ส่วนใหญ่จึงนิยมปรับใช้แบบแบ่งส่วน เช่น Fractional Kelly เพื่อช่วยลดความเสี่ยงลงในระดับหนึ่งครับ
Forward Test ต่างจาก Backtest อย่างไร และควรทำนานแค่ไหน?
Backtest คือการทดสอบกับข้อมูลราคาในอดีตที่ผ่านไปแล้ว ส่วน Forward Test คือการนำระบบมารันกับข้อมูลตลาดสดปัจจุบันแบบเรียลไทม์โดยใช้บัญชีทดลอง (Demo) เพื่อตรวจสอบความเสถียรและปัจจัยแวดล้อมจริง โดยทั่วไปควรทำ Forward Test ต่อเนื่องอย่างน้อย 1-3 เดือน หรือจนกว่าจะได้ตัวอย่างออเดอร์มากพอที่จะยืนยันว่าผลลัพธ์สอดคล้องกับสถิติย้อนหลังครับ
หมายเหตุ: บทความนี้จัดทำขึ้นเพื่อให้ความรู้เท่านั้น ไม่ถือเป็นคำแนะนำการลงทุน เนื้อหาบางส่วนเรียบเรียงด้วยความช่วยเหลือของ AI และผ่านการตรวจทานโดยทีมงาน บทความได้รับการตรวจสอบทุก 6 เดือนเพื่ออัปเดตให้ตรงกับสภาวะตลาดปัจจุบัน
ทั้งนี้ การลงทุนทุกประเภทมีความเสี่ยง ผู้ลงทุนอาจสูญเสียเงินต้นบางส่วนหรือทั้งหมดได้ และผลการดำเนินงานในอดีตไม่ได้รับประกันผลตอบแทนในอนาคต ผู้ลงทุนควรศึกษาข้อมูลและทำความเข้าใจความเสี่ยงก่อนตัดสินใจลงทุนทุกครั้งครับ
อ่านบทความอื่น ๆ เพิ่มเติม: สาระน่ารู้
พูดคุยและติดตาม Real Time: Facebook Page











