Backtest กลยุทธ์ลงทุนด้วย Claude Code — และกับดักที่คนทำ risk เห็นก่อน
ให้ Claude Code ช่วยสร้าง backtest กลยุทธ์ลงทุนทีละขั้นแบบที่ตรวจสอบได้ พร้อมเปิด 3 กับดักที่ทำให้ผล backtest สวยเกินจริง (look-ahead, overfitting, survivorship) จากมุมคนทำ model validation สายธนาคาร — เน้นวิธีการ ไม่ใช่คำแนะนำการลงทุน
คลิปที่คนดูเยอะที่สุดในช่องผมคือเรื่องเทมเพลตเทรดด้วย AI และคำถามที่ตามมาเสมอคือ "แล้วจะรู้ได้ยังไงว่ากลยุทธ์มันเวิร์กจริง ก่อนเอาเงินจริงไปเสี่ยง" คำตอบทางเทคนิคคือ backtest — เอากลยุทธ์ไปลองกับข้อมูลในอดีตดูว่ามันจะทำได้แค่ไหน และ Claude Code ช่วยสร้าง backtest ได้เร็วมาก แต่นี่แหละจุดอันตราย เพราะ backtest ที่ผลออกมาสวยหรู ส่วนใหญ่ "โกหก" และคนที่ทำงาน model validation สายธนาคารอย่างผมจะเห็นกับดักพวกนี้ก่อน บทความนี้ผมจะเล่าทั้งวิธีสร้างและวิธีไม่ให้ถูกผลปลอมหลอก — เน้นที่วิธีการ ไม่ใช่คำแนะนำให้ไปลงทุนอะไร

backtest คืออะไร และทำไมผลสวยมักหลอก
backtest คือการจำลองว่า "ถ้าเราใช้กลยุทธ์นี้ในอดีต ผลจะเป็นยังไง" ฟังดูตรงไปตรงมา แต่ปัญหาคือมันง่ายมากที่จะสร้าง backtest ที่ผลสวยโดยไม่ได้ตั้งใจโกง — แค่เผลอให้โมเดลเห็นข้อมูลที่ในความจริงยังมาไม่ถึง หรือปรับกลยุทธ์จนพอดีกับอดีตเป๊ะ ๆ ผลในกระดาษก็สวยทันที แต่พอใช้จริงกลับพัง
นี่คือเหตุผลที่มุมมองคนทำความเสี่ยงมีค่ากับเรื่องนี้ — เราถูกฝึกมาให้ไม่เชื่อตัวเลขที่ดูดีเกินไป และให้ถามเสมอว่า "ผลนี้มันจริง หรือเราหลอกตัวเอง"
ให้ Claude Code ช่วยสร้าง backtest ทีละขั้น
ข้อดีของการใช้ Claude Code คือมันเขียนโค้ดส่วนที่น่าเบื่อให้ ในขณะที่คุณโฟกัสกับ "ตรรกะของกลยุทธ์" และ "ความถูกต้องของวิธีทดสอบ" วิธีที่ปลอดภัยคือซอยเป็นขั้น แล้วตรวจทุกขั้น เหมือนที่ผมทำกับงาน data science สาย credit risk
- นิยามกลยุทธ์ให้ชัดเป็นกฎ — เข้าเมื่อไหร่ ออกเมื่อไหร่ ถือเท่าไร เป็นเงื่อนไขที่เขียนเป็นโค้ดได้
- เตรียมข้อมูลย้อนหลังให้สะอาด และระวังเรื่องช่วงเวลาให้ดี (เดี๋ยวว่าต่อในหัวข้อกับดัก)
- ให้มันรันจำลองแบบเดินตามเวลาจริง — ตัดสินใจ ณ แต่ละวันด้วยข้อมูลที่ "มีอยู่ ณ วันนั้น" เท่านั้น
- คิดต้นทุนจริงเข้าไปด้วย — ค่าธรรมเนียม ส่วนต่างราคา ภาษี เพราะผลที่ไม่หักต้นทุนคือผลปลอม
สั่งให้มันทำทีละขั้นแล้วคุณตรวจผลแต่ละช่วง ดีกว่าปล่อยให้มันสร้างทั้งระบบรวดเดียวแล้วเชื่อผลสุดท้าย
3 กับดักที่ทำให้ backtest โกหก
นี่คือส่วนที่สำคัญที่สุดของบทความ และเป็นจุดที่ประสบการณ์ model validation ช่วยได้มาก สามกับดักนี้คือสาเหตุที่ backtest ส่วนใหญ่ดูดีกว่าความจริง
- Look-ahead bias — โมเดลแอบใช้ข้อมูลที่ในความจริงยังมาไม่ถึง ณ จุดตัดสินใจ เช่น ใช้ราคาปิดของวันเพื่อตัดสินใจซื้อตอนเช้าวันเดียวกัน นี่คือกับดักที่เนียนที่สุดและทำให้ผลสวยที่สุด — ให้
Claude Codeช่วยไล่ตรวจว่าทุกการตัดสินใจใช้เฉพาะข้อมูลในอดีตจริง ๆ - Overfitting — ปรับพารามิเตอร์ของกลยุทธ์จนพอดีกับอดีตเป๊ะ ผลในอดีตเลยสวย แต่มันแค่ "จำข้อสอบ" ไม่ได้ "เข้าใจ" ทางแก้คือทดสอบกับช่วงข้อมูลที่ไม่เคยเอามาปรับ (out-of-sample) และระวังการลองพารามิเตอร์เป็นร้อยแบบแล้วเลือกอันที่ดีที่สุด
- Survivorship bias — ทดสอบกับเฉพาะสินทรัพย์ที่ "รอดมาถึงวันนี้" โดยลืมตัวที่เจ๊งหายไประหว่างทาง ผลเลยดูดีเกินจริงเพราะตัดผู้แพ้ออกไปแล้ว
กับดักทั้งสามมีรากเดียวกับความเสี่ยงของโมเดลในยุค AIที่ผมเขียนไว้ — โมเดลที่ดูแม่นในกระดาษ อาจแม่นเพราะเหตุผลที่ผิด
validate เหมือนตอนตรวจโมเดลความเสี่ยง
วินัยที่ผมยกมาจากงานธนาคารโดยตรงคือ อย่าเชื่อผลจนกว่าจะพยายามทำให้มันพังแล้วมันไม่พัง ลองทดสอบกลยุทธ์กับช่วงเวลาอื่น ตลาดอื่น หรือสภาวะที่ต่างจากเดิม ถ้าผลดีเฉพาะกับชุดข้อมูลเดียวก็ให้สงสัยไว้ก่อน
- ทดสอบกับช่วงเวลาที่ไม่ได้ใช้ปรับกลยุทธ์ (out-of-sample) เสมอ
- ดูว่าผลมันทนต่อการเปลี่ยนพารามิเตอร์เล็กน้อยไหม ถ้าขยับนิดเดียวแล้วผลพังคือสัญญาณ overfitting
- ถามว่า "ถ้ากลยุทธ์นี้เวิร์กจริง ทำไมคนอื่นถึงไม่ทำกันหมด" — คำตอบที่ honest มักเผยจุดอ่อน
ข้อจำกัดและคำเตือน
ขอพูดให้ชัดที่สุด — บทความนี้เป็นเรื่องวิธีการทำ backtest และการตรวจสอบความน่าเชื่อถือของมัน ไม่ใช่คำแนะนำการลงทุน และไม่ได้บอกว่ากลยุทธ์ใดดี backtest ที่ดีบอกได้แค่ว่ากลยุทธ์ "ไม่ได้แย่อย่างเห็นได้ชัดในอดีต" เท่านั้น มันไม่รับประกันอนาคต เพราะอดีตไม่ใช่อนาคต และตลาดเปลี่ยนพฤติกรรมได้เสมอ การลงทุนมีความเสี่ยง ผู้ลงทุนต้องตัดสินใจและรับผิดชอบเอง
ค่าที่แท้จริงของการใช้ Claude Code กับเรื่องนี้ ไม่ใช่การหากลยุทธ์รวยเร็ว แต่คือการมีเครื่องมือที่ช่วยคุณ ทดสอบไอเดียอย่างซื่อสัตย์และเร็วพอจะล้มไอเดียที่ไม่เวิร์กทิ้งได้ก่อนเสียเงินจริง ถ้าอยากเห็นวิธีวางกระบวนการทดสอบและ validate แบบที่ผมใช้กับงาน data ผมรวมไว้ในคอร์ส Claude Code — ก็อป workspace ผมไปปรับกับงานของคุณได้เลย