แบ็กเทสต์เหมาะกับการคัดกลยุทธ์ที่ไม่ดีออก มากกว่าการเลือกกลยุทธ์ที่ดีที่สุด ทันทีที่คุณใช้ผลตอบแทนในอดีตมาเลือกจากกลยุทธ์หลายแบบ แบ็กเทสต์ก็กลายเป็นส่วนหนึ่งของการทดลอง และผู้ชนะที่ดูเหมือนโดดเด่นก็เริ่มมีต้นทุนแฝง นั่นคืออคติจากการคัดเลือก
ฟังดูย้อนแย้ง เราทำแบ็กเทสต์เพราะอยากรู้ว่ากลยุทธ์ไหนใช้ได้ผล แต่ทุกครั้งที่ตัดสินใจโดยอิงประวัติข้อมูลชุดเดิม หลักฐานบางส่วนก็ถูกใช้ไปแล้ว เมื่อเห็นผลลัพธ์แล้วจึงเปลี่ยนช่วง lookback, เกณฑ์, กลุ่มสินทรัพย์, วันปรับสมดุลพอร์ต หรือกฎ stop คุณก็ได้ถามข้อมูลเพิ่มอีกคำถามหนึ่ง ในที่สุดข้อมูลก็ได้รับคำถามมากพอที่จะให้คำตอบที่ดูน่าเชื่อถือ ทั้งที่จริงแล้วเป็นแค่เรื่องบังเอิญ
ทำไมการทดสอบกลยุทธ์มากขึ้นจึงทำให้ผลลัพธ์ที่ดีที่สุดน่าเชื่อถือน้อยลง?
ลองนึกภาพว่าคุณทดสอบกลยุทธ์ 100 แบบที่ไม่มี edge จริง ผลตอบแทนของแต่ละแบบก็ยังแตกต่างกันอยู่ดี หากค่าประมาณผลการดำเนินงานเป็นอิสระต่อกันโดยประมาณ และ noise มีการแจกแจงแบบปกติ ค่า Sharpe ที่ดีที่สุดในกลุ่มก็จะเป็นบวก แม้ Sharpe ที่แท้จริงของทุกกลยุทธ์จะเป็นศูนย์ก็ตาม
ค่าประมาณคร่าว ๆ ของค่าสูงสุดที่คาดหวังจากการสุ่มตัวอย่างแบบปกติมาตรฐานที่เป็นอิสระต่อกัน 100 ครั้ง คือสูงกว่าค่าเฉลี่ย 2.5 ส่วนเบี่ยงเบนมาตรฐาน ใช้ตัวเลขนี้เพื่อประกอบความเข้าใจเท่านั้น อย่านำไปใส่ในรายงานเป็นค่าปรับแก้ เพราะกลยุทธ์จริงมีความสัมพันธ์กัน ค่าประมาณ Sharpe เองก็มีความคลาดเคลื่อนจากการสุ่มตัวอย่าง และผลตอบแทนก็แทบไม่เคยมีการแจกแจงแบบปกติที่เรียบร้อย แม้จะมีข้อจำกัดเหล่านี้ ประเด็นหลักก็ยังเหมือนเดิม ยิ่งตรวจดูตัวเลือกมากเท่าไร คะแนนสูงสุดก็ยิ่งมีโอกาสสะท้อน noise ที่เป็นใจมากขึ้นเท่านั้น
และ “ตัวเลือก” ไม่ได้หมายถึงแค่แบ็กเทสต์ที่บันทึกไว้ แต่รวมถึงทุกการตัดสินใจหลังจากเห็นผลแล้ว เช่น ขยายกลุ่มสินทรัพย์เพราะกราฟดูผันผวนเกินไป ตัดปีที่ฉุดผลลัพธ์ออก หรือเปลี่ยนสมมติฐานค่าธรรมเนียมจนกว่าเส้นผลตอบแทนจะฟื้น การตัดสินใจเหล่านี้ก็นับรวมด้วย แม้จะไม่มีใครกำหนดหมายเลขเวอร์ชันให้ก็ตาม
เริ่มบันทึกงานวิจัยก่อนทดลองกลยุทธ์แบบถัดไป
บันทึกการค้นหาทั้งหมด รวมถึงไอเดียที่ทิ้งไปและเหตุผลของการเปลี่ยนแปลงแต่ละครั้ง วิธีนี้ช่วยให้เห็นภาพอย่างตรงไปตรงมามากขึ้นว่าผลลัพธ์ถูกคัดเลือกมาแค่ไหน และช่วยไม่ให้เราจำได้เฉพาะการทดลองที่ดูดี
| สิ่งที่บันทึก | ตัวอย่าง | เหตุผลที่สำคัญ |
|---|---|---|
| สมมติฐาน | การกลับตัวระยะสั้นมีความเด่นชัดขึ้นหลังจากราคา BTC perp เคลื่อนไหวรุนแรงผิดปกติ | แยกแนวคิดออกจากการตั้งค่าพารามิเตอร์ที่ได้ภายหลัง |
| รูปแบบและเวลา | สัญญาณ 48 ชั่วโมง, 2026-10-09, รัน 014 | นับจำนวนการค้นหาและเชื่อมผลลัพธ์กับโค้ดและข้อมูล |
| กฎการคัดเลือก | เลือกจาก Sharpe สุทธิ; มีการซื้อขายอย่างน้อย 100 ครั้ง | แสดงให้เห็นว่าคำว่า “ดีที่สุด” หมายถึงอะไร ก่อนเริ่มเปรียบเทียบ |
| รูปแบบที่ปฏิเสธ | ช่วง 12, 24, 72 ชั่วโมง; เก็บไว้ทั้งหมด | ป้องกันไม่ให้ผู้ชนะที่เห็นอยู่กลบคู่แข่งจนหมด |
บันทึกงานวิจัยไม่ได้ลบล้างผลจากการค้นหา แต่ทำให้เห็นกระบวนการค้นหาได้ชัดเจน ซึ่งเป็นก้าวแรกในการประเมินว่าผู้ชนะควรได้รับความเชื่อมั่นแค่ไหน
กันข้อมูลไว้ส่วนหนึ่งเพื่อไม่ให้กระบวนการวิจัยย้อนกลับไปใช้ซ้ำได้
แบ่งข้อมูลตามช่วงเวลา แล้วปกป้องช่วงสุดท้าย พัฒนากลยุทธ์ด้วยข้อมูลช่วงหนึ่ง ตัดสินใจโดยใช้ช่วง validation แล้วประเมินกลยุทธ์ที่ตรึงไว้แล้วเพียงครั้งเดียวกับข้อมูล holdout ในช่วงเวลาถัดมา ตัวอย่างเช่น คุณอาจใช้ปี 2018–2022 เพื่อพัฒนา ใช้ปี 2023 สำหรับ validation แล้วกันปี 2024–2025 ไว้ ช่วงเวลาเหล่านี้เป็นเพียงตัวอย่างคร่าว ๆ ควรกำหนดการแบ่งข้อมูลตามตลาด ระยะเวลาของกลยุทธ์ และความครอบคลุมของข้อมูล
เขียนให้ชัดว่า “ตรึงไว้แล้ว” หมายถึงอะไร ทั้งสัญญาณ กลุ่มสินทรัพย์ การกำหนดขนาดสถานะ สมมติฐานการส่งคำสั่งซื้อขาย และกฎเกี่ยวกับข้อมูลที่ขาดหาย หากผลจาก holdout น่าผิดหวังแล้วคุณปรับกลยุทธ์ให้เข้ากับข้อมูลช่วงนั้น ช่วงดังกล่าวก็กลายเป็นข้อมูล validation ไปแล้ว การประเมินอย่างซื่อตรงครั้งถัดไปต้องใช้หลักฐานชุดใหม่
ช่วงนี้ยังเป็นจุดที่ปัญหาจากตัวอย่างขนาดเล็กเริ่มส่งผล กลยุทธ์ที่ซื้อขาย 18 ครั้งใน holdout ยังไม่มีข้อมูลพอให้สรุปได้อย่างแม่นยำ รายงานจำนวนครั้งที่ซื้อขายและความไม่แน่นอนควบคู่กับสถิติผลตอบแทน เพราะการรายงานค่าเฉลี่ยเพียงค่าเดียวอาจทำให้ตัวอย่างที่มีข้อมูลน้อยดูเหมือนสรุปได้ชัดเจนแล้ว
หมายความว่าแบ็กเทสต์ไม่มีประโยชน์ในการเลือกกลยุทธ์หรือเปล่า?
ไม่ใช่ นักวิจารณ์มีเหตุผลที่บอกว่าการกันข้อมูล holdout อย่างเข้มงวดอาจสิ้นเปลือง ตลาดเปลี่ยนแปลงอยู่เสมอ ประวัติข้อมูลมีจำกัด และช่วงเวลาที่ไม่เคยแตะต้องอาจมีเพียงสภาวะตลาดที่ผิดปกติแบบเดียว กระบวนการ walk-forward ที่ออกแบบมาอย่างรอบคอบช่วยให้เห็นว่ากลยุทธ์มีพฤติกรรมอย่างไรเมื่อประวัติข้อมูลที่มีเลื่อนไปตามเวลา แต่ก็ไม่ได้ทำให้การปรับกลยุทธ์ซ้ำ ๆ ไม่มีต้นทุน หากคุณตรวจดูแต่ละ fold แล้วปรับกลยุทธ์ fold เหล่านั้นก็มีอิทธิพลต่องานวิจัยแล้ว
ใช้แบ็กเทสต์เพื่อเปิดเผยจุดที่กลยุทธ์ล้มเหลว เปรียบเทียบไอเดียจำนวนน้อยที่มีพื้นฐานจากกลไกของตลาด และทดสอบว่าผลลัพธ์ยังอยู่ได้หรือไม่เมื่อเจอค่าธรรมเนียม funding, market impact และการเปลี่ยนแปลงพารามิเตอร์ในระดับที่เป็นไปได้ บันทึกงานวิจัย เก็บข้อมูล holdout ชุดสุดท้ายไว้ จากนั้นนำกลยุทธ์เวอร์ชันที่มีแนวโน้มดีและตรึงไว้แล้วไปทำ paper trading เพื่อดูความคลาดเคลื่อนด้านการปฏิบัติงาน
คำตอบที่มีประโยชน์ที่สุดจากแบ็กเทสต์มักเป็น “แนวคิดนี้ใช้ไม่ได้ภายใต้เงื่อนไขที่เราเห็นอยู่แล้ว” เมื่อมันตอบว่า “นี่คือกลยุทธ์ที่ดีที่สุด” ให้ถามว่าก่อนหน้านี้เราให้มันตอบคำถามอื่นไปแล้วกี่ข้อ
← บทความทั้งหมด


