ปัญหา Overfitting
ให้คอมพิวเตอร์พารามิเตอร์มากพอที่จะ optimize และมันจะพบชุดค่าผสมที่สร้างผลตอบแทนอันน่าทึ่งบนข้อมูลประวัติศาสตร์ สิ่งนี้บอกคุณแทบจะไม่ได้อะไรเกี่ยวกับอนาคต กลยุทธ์ได้จดจำอดีต ไม่ได้เรียนรู้จากอดีต นี่เรียกว่า overfitting และเป็นสาเหตุที่พบบ่อยที่สุดเพียงประการเดียวที่ทำให้กลยุทธ์ที่ backtest แล้วล้มเหลวในการเทรดจริง
Bailey, Borwein และ Lopez de Prado ตีพิมพ์บทความใน Notices of the American Mathematical Society ชื่อ "Pseudo-Mathematics and Financial Charlatanism" ข้อค้นพบสำคัญของพวกเขา: ประสิทธิภาพจำลองที่สูงทำได้ง่ายหลังจากทดสอบการกำหนดค่ากลยุทธ์ทางเลือกในจำนวนที่ค่อนข้างน้อย ภายใต้ผลกระทบของหน่วยความจำ การ backtest overfitting นำไปสู่ผลตอบแทนคาดหวังติดลบนอก sample ไม่ใช่ศูนย์ ติดลบ หมายความว่ากลยุทธ์ที่ overfit คาดว่าจะสูญเสียเงินในอนาคต
ทีมเดียวกันได้ตีพิมพ์ "The Probability of Backtest Overfitting" ใน Journal of Computational Finance ในปี 2015 โดยแนะนำกรอบการทำงานที่เป็นทางการสำหรับคำนวณว่ามีโอกาสเพียงใดที่ backtest ใดๆ ที่กำหนดจะ overfit Sharpe Ratio แบบ Deflated ของพวกเขาแก้ไขอคติการเลือกภายใต้การทดสอบหลายรายการและผลตอบแทนแบบไม่ปกติ
การทดสอบนอก Sample เป็นสิ่งที่ไม่สามารถต่อรองได้
มาตรฐานขั้นต่ำสำหรับ backtest ใดๆ คือการตรวจสอบนอก sample แบ่งข้อมูลของคุณเป็นอย่างน้อยสองช่วงเวลา พัฒนากลยุทธ์ของคุณในช่วงแรก (in-sample) จากนั้นทดสอบในช่วงที่สอง (out-of-sample) โดยไม่มีการปรับเปลี่ยนใดๆ หากประสิทธิภาพเสื่อมลงอย่างมีนัยสำคัญในข้อมูลนอก sample กลยุทธ์ถูก overfit
การวิเคราะห์ walk-forward ขยายเรื่องนี้ไปอีกขั้น แทนที่จะแบ่งครั้งเดียว คุณฝึกซ้ำๆ บนหน้าต่างข้อมูลแบบหมุนและทดสอบในช่วงถัดไป ฝึกในปี 1-3 ทดสอบในปี 4 ฝึกในปี 2-4 ทดสอบในปี 5 และต่อไป สิ่งนี้จำลองว่ากลยุทธ์จะถูกใช้ในทางปฏิบัติจริงอย่างไร โดยมีพารามิเตอร์ที่ถูก re-optimize เป็นระยะในข้อมูลล่าสุด
อัตราส่วนของประสิทธิภาพนอก sample ต่อ in-sample คือเมตริกที่สำคัญที่สุด กลยุทธ์ที่สร้าง Sharpe ratio 2.0 in-sample และ 1.4 out-of-sample มีการเสื่อม 30% ซึ่งสมเหตุสมผลดีและแสดงถึง edge ที่แท้จริง กลยุทธ์ที่สร้าง 3.0 in-sample และ 0.5 out-of-sample ถูก overfit เกือบทั้งหมดและไม่ควรเทรด รายงานชี้ว่ากว่า 90% ของกลยุทธ์ทางวิชาการล้มเหลวในการเทรดจริง และ Sharpe ratio ของ backtest ที่ 3.0+ มักกลายเป็นลบในการใช้งานจริง
ค่าธรรมเนียมธุรกรรมและ Slippage
กลยุทธ์ที่เทรด 50 ครั้งต่อวันต้องผ่านเกณฑ์ที่สูงกว่ากลยุทธ์ที่เทรดสองครั้งต่อเดือนมาก ทุกการเทรดมีค่าใช้จ่าย: bid-ask spread ค่าธรรมเนียมตลาด และ slippage
ข้อมูล Kaiko Research จากปี 2024 แสดง spread เฉลี่ยของ BTC-USDT ของ Binance ประมาณ 0.0014 basis points ในขณะที่ BTC-USD ของ Coinbase เฉลี่ยประมาณ 0.086 basis points สำหรับ altcoin เล็กๆ spread สามารถไปถึงจุดเปอร์เซ็นต์เต็มๆ ในหมู่โบรกเกอร์สถาบัน TWAP slippage ลบที่ -1 ถึง -2 basis points เป็นเรื่องปกติในคริปโต
ค่าธรรมเนียมตลาดสะสมขึ้น: Binance คิด 0.10% maker/taker บน spot; OKX 0.08% maker, 0.10% taker; Coinbase Advanced อยู่ในช่วง 0.00-0.40% maker และ 0.05-0.60% taker ขึ้นอยู่กับระดับปริมาณ backtest ที่สมจริงต้องคำนึงถึงค่าใช้จ่ายเหล่านี้ทั้งหมด และ backtest มือสมัครเล่นส่วนใหญ่ไม่ทำ
Survivorship Bias
หากจักรวาลของคุณรวมเฉพาะสินทรัพย์ที่จดทะเบียนอยู่ในปัจจุบัน backtest ของคุณมีอคติ บริษัทที่ล้มละลาย token ที่ไปถึงศูนย์ และตราสารที่ถูกถอดออกจากทะเบียนหายไปจากข้อมูล เนื่องจากสิ่งเหล่านี้มีแนวโน้มเป็นผู้ทำผลงานแย่ที่สุด การขาดหายไปทำให้ทุกกลยุทธ์ long ดูดีกว่าที่มันเป็นจริง ในคริปโต ผลกระทบรุนแรงเพราะ token นับร้อยที่เปิดตัวในปี 2017-2018 ไปถึงศูนย์และไม่ปรากฏในฟีดข้อมูลส่วนใหญ่อีกต่อไป
backtest ที่เหมาะสมใช้ข้อมูล point-in-time ที่รวมหลักทรัพย์ทั้งหมดที่มีอยู่ในแต่ละช่วงเวลาประวัติศาสตร์ รวมถึงสิ่งที่ต่อมาหายไป
ระยะเวลา Drawdown มีความสำคัญ
Maximum drawdown บอกคุณถึงการลดลงจากจุดสูงสุดถึงจุดต่ำสุดที่เลวร้ายที่สุด แต่ระยะเวลา drawdown มีความสำคัญเท่าเทียมกันสำหรับการเทรดในทางปฏิบัติ กลยุทธ์อาจมี drawdown สูงสุดเพียง 15% แต่หาก drawdown นั้นกินเวลา 18 เดือน เทรดเดอร์ส่วนใหญ่จะทิ้งมันไปก่อนที่จะฟื้นตัว การรู้ทั้งความลึกและระยะเวลาของ drawdown ในอดีตช่วยให้คุณประเมินได้ว่าคุณสามารถยึดติดกับกลยุทธ์ได้ผ่านช่วงเวลาขาดทุนที่หลีกเลี่ยงไม่ได้หรือไม่