Boom Leverage
บทความทั้งหมด
claude-codebacktestquant

Backtest กลยุทธ์ลงทุนด้วย Claude Code — และกับดักที่คนทำ risk เห็นก่อน

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

Varanchai Yingkhamnueng·

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

Backtest ด้วย Claude Code อย่างไม่โดนหลอก: ระวัง look-ahead · overfitting · survivorship — validate เหมือนตรวจโมเดล

backtest คืออะไร และทำไมผลสวยมักหลอก

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

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

ให้ Claude Code ช่วยสร้าง backtest ทีละขั้น

ข้อดีของการใช้ Claude Code คือมันเขียนโค้ดส่วนที่น่าเบื่อให้ ในขณะที่คุณโฟกัสกับ "ตรรกะของกลยุทธ์" และ "ความถูกต้องของวิธีทดสอบ" วิธีที่ปลอดภัยคือซอยเป็นขั้น แล้วตรวจทุกขั้น เหมือนที่ผมทำกับงาน data science สาย credit risk

  • นิยามกลยุทธ์ให้ชัดเป็นกฎ — เข้าเมื่อไหร่ ออกเมื่อไหร่ ถือเท่าไร เป็นเงื่อนไขที่เขียนเป็นโค้ดได้
  • เตรียมข้อมูลย้อนหลังให้สะอาด และระวังเรื่องช่วงเวลาให้ดี (เดี๋ยวว่าต่อในหัวข้อกับดัก)
  • ให้มันรันจำลองแบบเดินตามเวลาจริง — ตัดสินใจ ณ แต่ละวันด้วยข้อมูลที่ "มีอยู่ ณ วันนั้น" เท่านั้น
  • คิดต้นทุนจริงเข้าไปด้วย — ค่าธรรมเนียม ส่วนต่างราคา ภาษี เพราะผลที่ไม่หักต้นทุนคือผลปลอม

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

3 กับดักที่ทำให้ backtest โกหก

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

  1. Look-ahead bias — โมเดลแอบใช้ข้อมูลที่ในความจริงยังมาไม่ถึง ณ จุดตัดสินใจ เช่น ใช้ราคาปิดของวันเพื่อตัดสินใจซื้อตอนเช้าวันเดียวกัน นี่คือกับดักที่เนียนที่สุดและทำให้ผลสวยที่สุด — ให้ Claude Code ช่วยไล่ตรวจว่าทุกการตัดสินใจใช้เฉพาะข้อมูลในอดีตจริง ๆ
  2. Overfitting — ปรับพารามิเตอร์ของกลยุทธ์จนพอดีกับอดีตเป๊ะ ผลในอดีตเลยสวย แต่มันแค่ "จำข้อสอบ" ไม่ได้ "เข้าใจ" ทางแก้คือทดสอบกับช่วงข้อมูลที่ไม่เคยเอามาปรับ (out-of-sample) และระวังการลองพารามิเตอร์เป็นร้อยแบบแล้วเลือกอันที่ดีที่สุด
  3. Survivorship bias — ทดสอบกับเฉพาะสินทรัพย์ที่ "รอดมาถึงวันนี้" โดยลืมตัวที่เจ๊งหายไประหว่างทาง ผลเลยดูดีเกินจริงเพราะตัดผู้แพ้ออกไปแล้ว

กับดักทั้งสามมีรากเดียวกับความเสี่ยงของโมเดลในยุค AIที่ผมเขียนไว้ — โมเดลที่ดูแม่นในกระดาษ อาจแม่นเพราะเหตุผลที่ผิด

validate เหมือนตอนตรวจโมเดลความเสี่ยง

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

  • ทดสอบกับช่วงเวลาที่ไม่ได้ใช้ปรับกลยุทธ์ (out-of-sample) เสมอ
  • ดูว่าผลมันทนต่อการเปลี่ยนพารามิเตอร์เล็กน้อยไหม ถ้าขยับนิดเดียวแล้วผลพังคือสัญญาณ overfitting
  • ถามว่า "ถ้ากลยุทธ์นี้เวิร์กจริง ทำไมคนอื่นถึงไม่ทำกันหมด" — คำตอบที่ honest มักเผยจุดอ่อน

ข้อจำกัดและคำเตือน

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

ค่าที่แท้จริงของการใช้ Claude Code กับเรื่องนี้ ไม่ใช่การหากลยุทธ์รวยเร็ว แต่คือการมีเครื่องมือที่ช่วยคุณ ทดสอบไอเดียอย่างซื่อสัตย์และเร็วพอจะล้มไอเดียที่ไม่เวิร์กทิ้งได้ก่อนเสียเงินจริง ถ้าอยากเห็นวิธีวางกระบวนการทดสอบและ validate แบบที่ผมใช้กับงาน data ผมรวมไว้ในคอร์ส Claude Code — ก็อป workspace ผมไปปรับกับงานของคุณได้เลย