← ศูนย์การเรียนรู้ Backtest

การวิจัยกลยุทธ์แบบควบคุม

ลด backtest overfitting ด้วย locked holdout

ใช้ trial log, chronological split, gap, out-of-sample ที่ล็อกไว้ และกฎที่เขียนก่อนประเมิน เพื่อลดการจำ noise

คำตอบสั้น ๆ

Overfitting เกิดเมื่อการตัดสินใจจำนวนมากจดจำความบังเอิญในอดีตแทน behavior ที่ทนทาน แยก research period จาก holdout ที่มาทีหลัง นับทุก trial เขียนเกณฑ์ก่อน และเปิด holdout เพียงครั้งเดียวสำหรับ frozen candidate

หลังปรับตามสิ่งที่เห็น holdout นั้นจะกลายเป็น research data ยังมีความเสี่ยงจาก sample สั้น, regime change และการเลือกจาก candidates มากเกินไป ดังนั้น holdout ไม่ได้ค้ำประกันกำไร

บริบทการวิจัย

งานของ Bailey และคณะอธิบายว่า multiple testing ทำให้เลือก winner จากโชคในข้อมูลจำกัดได้ง่ายขึ้น จึงต้องรายงานจำนวน configurations พร้อม performance

TimeSeriesSplit รักษาลำดับเวลาและ gap; ใน trading ต้องคิดถึง indicator lookback, overlapping positions และ execution delay ด้วย split ที่ดีไม่แก้ look-ahead หรือ fills ที่ไม่สมจริง

ตัวอย่างการตั้งค่าใน Backtest

ใช้ BTCUSDT 1h 18 เดือน ล็อกหกเดือนสุดท้ายเป็น holdout ใส่ gap เจ็ดวัน และใช้ส่วนที่เหลือเป็น research ทดสอบ EMA fast 8/9/10 กับ slow 20/21/22 รวมเก้า trials ที่บันทึกทั้งหมด

ตรึง 10,000 USD, size 2%, SL 2%, TP 4%, commission 0.10%, slippage 5 bps และ closed-candle เลือกด้วย scorecard ที่เขียนไว้: minimum trades, net result, drawdown, outlier concentration และความเสถียรของ parameter ข้างเคียง บันทึก fingerprint ก่อน holdout

ลด backtest overfitting ด้วย locked holdout — ตัวอย่างการตั้งค่าใน Backtest: ใช้ trial log, chronological split, gap, out-of-sample ที่ล็อกไว้ และกฎที่เขียนก่อนประเมิน เพื่อลดการจำ noise
ตรึง 10,000 USD, size 2%, SL 2%, TP 4%, commission 0.10%, slippage 5 bps และ closed-candle เลือกด้วย scorecard ที่เขียนไว้: minimum trades, net result, drawdown, outlier concentration และความเสถียรของ parameter ข้างเคียง บันทึก fingerprint ก่อน holdout

วิธีอ่านผลลัพธ์

ไม่จำเป็นให้ return ของ research กับ holdout เท่ากัน ให้ดูว่า cadence, direction, cost sensitivity, profit factor, drawdown, average R และ failure clusters ยังสมเหตุผลหรือไม่ การกลับเครื่องหมายหรือพึ่ง outlier เดียวอาจเป็น reject

เปิดเผยจำนวน configurations Pass หมายถึงไป paper observation เท่านั้น ไม่ใช่อนุญาต real capital; เก็บ fail ไว้ และจัด sample เล็กเป็น inconclusive เพื่อรอข้อมูลใหม่

ข้อผิดพลาดที่พบบ่อย

รายการตรวจสอบเชิงปฏิบัติ

  1. เขียน hypothesis, trial budget และ rejection rule
  2. แบ่ง research, gap, holdout ล่วงหน้า
  3. freeze data, timeframe, costs, size และ exits
  4. log ทุก configuration
  5. ตรวจ neighboring parameters และ cost stress
  6. save candidate fingerprint
  7. evaluate ครั้งเดียวไม่ retune
  8. ส่งไป paper โดยไม่เปลี่ยน

หมายเหตุความเสี่ยง

Holdout ลด bias ได้หนึ่งชนิด แต่ไม่พิสูจน์กำไรหรือความปลอดภัย Backtest เป็นการศึกษา ไม่ใช่คำแนะนำหรือ execution; market, spread, slippage, liquidity, gaps, latency, outages, funding และการตัดสินใจของคนอาจเปลี่ยนผลจริงมาก

คู่มือที่เกี่ยวข้อง

ใช้ trial log, chronological split, gap, out-of-sample ที่ล็อกไว้ และกฎที่เขียนก่อนประเมิน เพื่อลดการจำ noise

แหล่งข้อมูลวิจัย

Backtest Trading สำหรับ iOS

วิจัยต่อบน iPhone

รันการตั้งค่าอีกครั้ง ตรวจทุกเทรดจำลอง และเก็บหลักฐานของกลยุทธ์ไว้ในแอป

ดาวน์โหลดบน App Store