เว็บเรียนเทรดและวิเคราะห์ตลาดการเงินสำหรับคนไทย — หุ้น ทองคำ คริปโต ดัชนี · คอร์สฟรี บทความ TA/FA เครื่องมือคำนวณเริ่มเรียน
กลยุทธ์การเทรด

Backtest — ทดสอบระบบย้อนหลังให้เชื่อถือได้

Backtest — ทดสอบระบบย้อนหลังให้เชื่อถือได้

ระบบที่ทดสอบย้อนหลังแล้วกำไรสวยงาม ทำไมพอเทรดจริงถึงพัง — เปิดสี่รูรั่วที่ทำให้ผลทดสอบหลอกตา พร้อมวิธีอุดที่ใช้ได้ทันที

คุณเจอระบบเทรดที่ทดสอบย้อนหลังแล้วได้กำไร 340% ใน 3 ปี · เส้นทุนพุ่งสวยเป็นเส้นตรง ขาดทุนหนักสุดแค่ไม่กี่เปอร์เซ็นต์

พอเอามาเทรดเงินจริง สามเดือนแรกติดลบ แล้วก็ไม่เคยกลับไปเหมือนในกราฟอีกเลย

เรื่องนี้เกิดซ้ำจนแทบเป็นพิธีกรรม และสาเหตุมักไม่ใช่ว่าตลาดเปลี่ยน แต่เป็นเพราะตัวการทดสอบเองมีรูรั่วตั้งแต่ต้น · บทความนี้จะพาดูว่ารูรั่วอยู่ตรงไหน และจะอุดยังไงให้ตัวเลขที่ได้พอเชื่อถือได้จริง

Backtest คือการจำลอง ไม่ใช่การพยากรณ์

Backtest คือการเอากฎการเทรดที่เขียนไว้ชัดเจนไปรันกับข้อมูลราคาในอดีต เพื่อดูว่าถ้าทำตามกฎนี้ทุกครั้งโดยไม่ใช้อารมณ์ ผลจะออกมาเป็นยังไง

สิ่งที่มันบอกได้คือ "กฎชุดนี้เคยทำงานได้ในสภาพตลาดแบบที่ผ่านมาหรือไม่" · สิ่งที่มันบอกไม่ได้เลยคือ "อนาคตจะกำไรเท่าไหร่"

ที่สำคัญกว่านั้น — ระบบที่ backtest แล้วแย่ ตัดทิ้งได้เลยอย่างมั่นใจ · แต่ระบบที่ backtest แล้วสวย ยังพิสูจน์อะไรไม่ได้ จนกว่าจะผ่านการตรวจสอบว่าความสวยนั้นไม่ได้มาจากรูรั่วสี่ข้อต่อไปนี้

สี่รูรั่วที่ทำให้ผลทดสอบสวยเกินจริง เจอข้อใดข้อหนึ่ง ตัวเลขที่ได้ก็ใช้ตัดสินใจไม่ได้แล้ว 1 · แอบเห็นอนาคต ใช้ข้อมูลที่ยังไม่เกิด ณ เวลานั้น เช่น ตัดสินใจด้วยราคาปิดของแท่งเดียวกัน 2 · เหลือแต่ผู้รอด ทดสอบกับสินทรัพย์ที่ยังอยู่ถึงวันนี้ ตัวที่เจ๊งไปแล้วหายจากข้อมูล 3 · ไม่หักต้นทุน ลืมส่วนต่างราคา ค่าธรรมเนียม ค่าถือข้ามคืน และราคาที่เลื่อน 4 · จูนจนเข้ารูปอดีต ลองค่าพารามิเตอร์เป็นร้อยชุด แล้วหยิบชุดที่สวยที่สุดมาใช้ สามข้อแรกคือความผิดพลาดทางเทคนิค ข้อสี่คือกับดักทางความคิด

รูรั่วที่ 1 — ระบบที่แอบเห็นอนาคต

อันนี้ร้ายที่สุดเพราะมองด้วยตาเปล่าไม่เห็น แต่ทำให้ผลทดสอบดีขึ้นแบบมหาศาล

ตัวอย่างที่เจอบ่อยที่สุดคือ ตัดสินใจเข้าออเดอร์ด้วยราคาปิดของแท่งเทียน แล้วบันทึกว่าเข้าที่ราคาเปิดของแท่งนั้น · ในความจริงคุณจะรู้ราคาปิดก็ต่อเมื่อแท่งนั้นจบไปแล้ว · ระบบจึงได้เปรียบแบบที่ในชีวิตจริงไม่มีวันได้

อีกแบบที่พบบ่อยคือใช้ตัวเลขที่ถูกปรับปรุงย้อนหลัง เช่นราคาหุ้นที่ปรับด้วยข้อมูลปันผลซึ่งประกาศทีหลัง หรือตัวเลขเศรษฐกิจที่ถูกแก้ตัวเลขย้อนหลังหลังประกาศครั้งแรก

วิธีตรวจง่ายที่สุดคือถามตัวเองทุกจุดที่ระบบตัดสินใจว่า "ข้อมูลที่ใช้ตรงนี้ ผมรู้มันจริง ๆ ตอนนั้นหรือเปล่า" · ถ้าตอบไม่ได้ทันที แปลว่ามีรูรั่ว

รูรั่วที่ 2 — ข้อมูลที่เหลือแต่ผู้ชนะ

ถ้าทดสอบระบบกับรายชื่อสินทรัพย์ที่ยังเทรดได้ในวันนี้ เท่ากับตัดตัวที่ล้มหายไปแล้วออกจากการทดสอบทั้งหมด — หุ้นที่ถูกเพิกถอน กองทุนที่ปิดตัว เหรียญที่ตายไป

ขนาดของปัญหานี้ถูกวัดไว้ชัดเจนในงานวิจัยของ Carhart, Carpenter, Lynch และ Musto (2002) ที่ตีพิมพ์ใน Review of Financial Studies · ทีมวิจัยตามดูกองทุนหุ้น 2,071 กอง ด้วยข้อมูลรายเดือนตั้งแต่ ม.ค. 1962 ถึง ธ.ค. 1995 โดยมี 1,346 กองที่ยังอยู่ถึงวันสุดท้าย

ยิ่งทดสอบย้อนไกล ตัวเลขยิ่งบวกเกินจริง Carhart และคณะ (2002) · กองทุนหุ้น 2,071 กอง · ม.ค. 1962–ธ.ค. 1995 ช่วงข้อมูลที่ใช้ทดสอบ ผลตอบแทนที่สูงเกินจริง ย้อนหลัง 1 ปี +0.07% ต่อปี ย้อนหลัง 5 ปี +0.37% ต่อปี ย้อนหลังเกิน 15 ปี ราว +1% ต่อปี กองที่ไม่รอดทำผลงานแย่กว่ากองที่รอดราว 4% ต่อปี · หายไปเฉลี่ยปีละ 3.6%

ตัวเลขน่าสนใจตรงที่ ยิ่งช่วงข้อมูลยาว ส่วนเกินยิ่งบวม · ทดสอบย้อนหลัง 1 ปีเพี้ยนแค่ 0.07% ต่อปี · พอยืดเป็น 5 ปีกลายเป็น 0.37% · และถ้ายาวเกิน 15 ปี ส่วนเกินขึ้นไปราว 1% ต่อปี

สาเหตุก็ตรงไปตรงมา — กองที่หายไปไม่ได้หายแบบสุ่ม แต่ทำผลงานแย่กว่ากองที่รอดราว 4% ต่อปี · และกองทุนหายไปเฉลี่ยปีละ 3.6% (ควบรวม 2.2% ปิดตัว 1.0%) · ยิ่งทดสอบยาว ยิ่งสะสมตัวแย่ที่ถูกลบทิ้งมากขึ้น

สำหรับคนเทรดทั่วไป ทางออกไม่ได้ยาก: อย่าทดสอบเฉพาะสินทรัพย์ที่ตอนนี้ดูดี · ถ้าทดสอบกับเหรียญคริปโต ต้องใส่เหรียญที่ตายไปแล้วด้วย · ถ้าทดสอบกับหุ้น ต้องใช้รายชื่อสมาชิกดัชนี ณ เวลานั้นจริง ๆ ไม่ใช่รายชื่อวันนี้

รูรั่วที่ 3 — ต้นทุนที่พลิกผลได้ทั้งระบบ

ข้อนี้ฟังดูจุกจิก แต่เป็นข้อที่ฆ่าระบบทิ้งได้ทั้งระบบ โดยเฉพาะระบบที่เข้าออกบ่อย

งานวิจัยของ Novy-Marx และ Velikov (2016) ใน Review of Financial Studies ตรวจกลยุทธ์ลงทุนที่เคยมีงานวิจัยรองรับ 23 กลยุทธ์ ด้วยข้อมูลตั้งแต่ ก.ค. 1963 ถึง ธ.ค. 2012 แล้วคำนวณใหม่โดยหักต้นทุนการซื้อขายจริง

กลยุทธ์ที่กำไรบนกระดาษ แต่ติดลบของจริง Novy-Marx & Velikov (2016) · ตัวอย่างกลยุทธ์หมุนพอร์ตถี่ · ผลต่อเดือน ก่อนหักต้นทุน +0.98% ดูเหมือนกลยุทธ์ที่ใช้ได้ หลังหักต้นทุนจริง −0.80% กลายเป็นเครื่องเผาเงิน กลยุทธ์ที่หมุนพอร์ตเกิน 50% ต่อเดือน เหลือเพียง 2 ตัวที่ยังมีกำไรอย่างมีนัยสำคัญ

ตัวอย่างที่ชัดที่สุดคือกลยุทธ์กลุ่มที่อาศัยการกลับตัวระยะสั้น ซึ่งก่อนหักต้นทุนให้ผล +0.98% ต่อเดือน · พอหักต้นทุนการซื้อขายจริงเข้าไป กลายเป็น −0.80% ต่อเดือน · พลิกจากกลยุทธ์ที่ดูน่าลงทุนเป็นเครื่องเผาเงินทันที

และในกลุ่มกลยุทธ์ที่หมุนพอร์ตเกิน 50% ต่อเดือน มีเพียง 2 ตัวเท่านั้นที่ยังเหลือกำไรอย่างมีนัยสำคัญ หลังหักต้นทุน

บทเรียนสำหรับการทดสอบระบบของตัวเองคือ ใส่ต้นทุนให้ครบตั้งแต่แรก ทั้งส่วนต่างราคาซื้อขาย ค่าธรรมเนียม ค่าถือข้ามคืน และเผื่อราคาที่เลื่อนจากจุดที่ตั้งใจ · แล้วตั้งให้แย่กว่าที่คิดเล็กน้อย เพราะช่วงตลาดผันผวนต้นทุนจะกว้างกว่าปกติเสมอ

รูรั่วที่ 4 — ยิ่งจูนยิ่งสวย แต่ยิ่งพัง

เมื่อทดสอบแล้วผลไม่สวย คนส่วนใหญ่จะเริ่มขยับค่าพารามิเตอร์ — เปลี่ยนเส้นค่าเฉลี่ยจาก 20 เป็น 21 เป็น 23 · ขยับจุดตัดขาดทุน · เพิ่มเงื่อนไขกรอง · ทำไปเรื่อย ๆ จนกราฟสวย

ปัญหาคือกระบวนการนี้ไม่ได้ค้นหาระบบที่ดี แต่กำลังค้นหาชุดตัวเลขที่บังเอิญเข้ากับอดีตชุดนี้พอดี

งานวิจัยของ Bailey, Borwein, López de Prado และ Zhu (2014) ที่ตีพิมพ์ใน Notices of the American Mathematical Society คำนวณไว้ชัดว่า ถ้ามีข้อมูลย้อนหลังเพียง 5 ปี ไม่ควรทดลองเกิน 45 รูปแบบ · เพราะเกินกว่านั้น ระบบที่ไม่มีความสามารถทำกำไรจริงเลย ก็สามารถให้ผลทดสอบที่ดูดีได้จากความบังเอิญล้วน ๆ

ที่หนักกว่านั้นคือข้อสรุปว่า เมื่อข้อมูลราคามีความต่อเนื่องในตัว "ยิ่งปรับให้เข้ากับอดีตมากเท่าไหร่ ผลในอนาคตยิ่งแย่ลงเท่านั้น" · การจูนจึงไม่ใช่แค่เสียเปล่า แต่ทำให้ผลจริงแย่ลงกว่าเดิม

แบ่งข้อมูลก่อนเริ่ม แล้วอย่าแตะส่วนที่กันไว้

วิธีป้องกันที่ใช้ได้จริงและทำได้ทันทีคือ แบ่งข้อมูลเป็นส่วน ๆ ตั้งแต่ก่อนเริ่มทดสอบ

แบ่งข้อมูลสามส่วนก่อนลงมือ ส่วนที่กันไว้ห้ามแตะจนกว่าจะสรุปกฎเสร็จแล้ว ส่วนที่ใช้พัฒนา ราว 60-70% ของข้อมูล · จูนได้เต็มที่ ส่วนที่กันไว้ ทดสอบครั้งเดียว เดินหน้าจริง บัญชีทดลอง/ไม้เล็ก เส้นเวลา อดีตที่ไกลกว่า อดีตที่ใกล้กว่า ปัจจุบัน ถ้าเผลอกลับไปจูนเพราะส่วนที่กันไว้ผลไม่ดี ส่วนนั้นก็หมดค่าทันที

ส่วนแรกใช้พัฒนาและจูนได้เต็มที่ · ส่วนที่สองกันไว้ห้ามแตะ จนกว่าจะสรุปกฎสุดท้ายแล้ว แล้วค่อยเอามาทดสอบ ครั้งเดียว · ถ้าผลตรงนั้นแย่ แปลว่าระบบไม่ผ่าน ไม่ใช่สัญญาณให้กลับไปจูนใหม่

ประโยคสุดท้ายนี้สำคัญที่สุด เพราะทันทีที่กลับไปจูนเพราะเห็นผลของส่วนที่กันไว้ ส่วนนั้นก็กลายเป็นข้อมูลพัฒนาไปแล้ว และหมดคุณค่าในการเป็นด่านตรวจทันที

ด่านสุดท้ายคือเดินระบบไปข้างหน้าด้วยเวลาจริง ในบัญชีทดลองหรือไม้ขนาดเล็ก · ตรงนี้จะเจอสิ่งที่ backtest ไม่มีวันจำลองได้ ทั้งราคาที่เลื่อน คำสั่งที่ไม่ได้ราคาที่ตั้งใจ และความจริงที่ว่าคนเรากดตามระบบยากกว่าที่คิดมาก

เช็กลิสต์ก่อนเชื่อผลทดสอบ

ก่อนจะตัดสินใจอะไรกับตัวเลขที่ได้ ลองไล่คำถามเหล่านี้: กฎทุกข้อชัดพอให้คนอื่นรันแล้วได้ผลเท่ากันหรือยัง · ทุกจุดตัดสินใจใช้เฉพาะข้อมูลที่รู้ ณ เวลานั้นจริงไหม · ใส่ต้นทุนครบและเผื่อไว้แย่กว่าจริงหรือยัง · จำนวนไม้มากพอจะเชื่อทางสถิติไหม · และลองปรับค่าพารามิเตอร์ไปมาแล้วผลยังใช้ได้อยู่หรือเปล่า

ข้อสุดท้ายเป็นตัวคัดที่ดีที่สุด — ระบบที่ทนทานจะยังทำงานได้เมื่อขยับตัวเลขไปนิดหน่อย · แต่ระบบที่ใช้ได้เฉพาะค่า 20 พอเปลี่ยนเป็น 19 หรือ 21 แล้วพัง คือระบบที่จูนเข้ากับอดีต ไม่ใช่ระบบที่จับอะไรได้จริง

สิ่งที่ต้องจำ

  • Backtest ใช้คัดระบบที่แย่ทิ้ง ไม่ใช่ใช้ยืนยันว่าระบบดี · ผลสวยยังพิสูจน์อะไรไม่ได้จนกว่าจะอุดรูรั่วครบ
  • ถามทุกจุดตัดสินใจว่า "ตอนนั้นรู้ข้อมูลนี้จริงไหม" — ใช้ราคาปิดตัดสินใจแล้วบันทึกว่าเข้าที่ราคาเปิดคือการแอบเห็นอนาคต
  • ข้อมูลที่เหลือแต่ผู้รอดทำให้ตัวเลขบวมขึ้นตามความยาว — Carhart และคณะ (2002) วัดได้ 0.07%/ปี ที่ 1 ปี · 0.37% ที่ 5 ปี · ราว 1% เมื่อเกิน 15 ปี
  • ต้นทุนพลิกผลได้ทั้งระบบ — Novy-Marx & Velikov (2016) พบกลยุทธ์ที่ได้ +0.98% ต่อเดือน เหลือ −0.80% หลังหักต้นทุนจริง
  • ยิ่งจูนยิ่งอันตราย — ข้อมูล 5 ปีไม่ควรลองเกิน 45 รูปแบบ (Bailey และคณะ 2014) · เกินนั้นผลสวยเกิดจากความบังเอิญได้
  • กันข้อมูลส่วนหนึ่งไว้ตั้งแต่ก่อนเริ่ม แล้วทดสอบครั้งเดียว · กลับไปจูนเมื่อไหร่ ด่านตรวจนั้นหมดค่าทันที
  • ระบบที่ดีต้องทนการขยับค่าพารามิเตอร์ — ใช้ได้เฉพาะตัวเลขเป๊ะ ๆ ตัวเดียวคือสัญญาณว่าจูนเข้ากับอดีต

คำเตือน: บทความนี้จัดทำขึ้นเพื่อให้ความรู้เรื่องวิธีทดสอบระบบเทรดย้อนหลังเท่านั้น ไม่ใช่คำแนะนำการลงทุนหรือการชี้นำให้ซื้อขายสินทรัพย์ใด ตัวเลขจากงานวิจัยที่อ้างถึงเป็นผลการศึกษาในช่วงเวลาและตลาดที่ระบุไว้ ไม่ได้แปลว่าจะเกิดผลแบบเดียวกันในตลาดอื่นหรือช่วงเวลาอื่น ผลการทดสอบย้อนหลังไม่ว่าจะดีเพียงใดก็ไม่ได้รับประกันผลลัพธ์ในอนาคต การซื้อขายสินทรัพย์ทางการเงินมีความเสี่ยงที่จะสูญเสียเงินลงทุน ผู้อ่านควรศึกษาข้อมูลและประเมินความเสี่ยงด้วยตนเองก่อนตัดสินใจ

อ่านต่อ

บทความที่เกี่ยวข้อง

Overfitting — ระบบที่สวยในอดีตแต่พังในอนาคต กลยุทธ์การเทรด

Overfitting — ระบบที่สวยในอดีตแต่พังในอนาคต

ยอดผลิตเนยในบังกลาเทศอธิบายตลาดหุ้นสหรัฐได้ 99% — เมื่อค้นหานานพอ ความสัมพันธ์สวยงามจะโผล่ขึ้นเสมอ และนี่คือสิ่งที่เกิดกับระบบเทรดที่จูนมากเกินไป

ทีมงาน · 14/09/2026
Win Rate กับ Expectancy — ทำไมชนะบ่อยไม่เท่ากับกำไร กลยุทธ์การเทรด

Win Rate กับ Expectancy — ทำไมชนะบ่อยไม่เท่ากับกำไร

ชนะ 8 ไม้จาก 10 แต่พอร์ตลด ส่วนคนที่ชนะ 4 จาก 10 กลับได้เงิน — เข้าใจค่าคาดหวังต่อไม้ ตัวเลขเดียวที่บอกว่าระบบเทรดทำเงินได้จริงหรือไม่

ทีมงาน · 08/09/2026
Trailing Stop — เลื่อน Stop Loss ตามกำไรยังไงให้คุ้มที่สุด กลยุทธ์การเทรด

Trailing Stop — เลื่อน Stop Loss ตามกำไรยังไงให้คุ้มที่สุด

ปิดเร็วไปกำไรหด ถือนานไปกำไรหาย — Trailing Stop คือคำตอบ เรียนรู้ 4 วิธีเลื่อน SL ตามกำไร จังหวะเริ่มเลื่อน และกับดัก "เลื่อนแน่นเกินจนโดนสะบัดออก"

ทีมงาน · 24/07/2026