การทดสอบย้อนหลังคริปโต: รายการตรวจสอบสำหรับผู้เริ่มต้นเพื่อหลีกเลี่ยงจุดแข็งที่ปลอมแปลง

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

คู่มือการศึกษา ตัวอย่างเป็นเพียงสมมติฐาน ไม่ใช่ราคาจริง ไม่ใช่คำแนะนำการลงทุนเฉพาะบุคคล

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

เขียนกฎก่อนตรวจสอบผลลัพธ์

ระบุกลุ่มสินทรัพย์ ตลาด เวลา สัญญาณ เวลาเข้า ขนาดตำแหน่ง การออก และความเสี่ยงสูงสุดที่เกิดขึ้นพร้อมกัน นอกจากนี้ยังต้องระบุวิธีการจัดการกับข้อมูลขาดหาย และข้อกำหนดใดๆ เกี่ยวกับการกู้ยืมหรือการขายชอร์ต กฎง่ายๆ ที่มีสมมติฐานชัดเจนจะตรวจสอบได้ง่ายกว่าชุดข้อยกเว้นที่คิดขึ้นเพื่อปรับปรุงเส้นโค้งของพอร์ตโฟลิโอ

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

ตรวจสอบว่าข้อมูลของคุณแสดงถึงอะไรจริงๆ

ใช้ timestamp และเขตเวลาให้สอดคล้องกัน ตรวจสอบเทียนซ้ำ ช่วงเวลาที่ขาดหาย การหยุดทำงานของแหล่งข้อมูล และราคาที่น่าสงสัย อย่าสันนิษฐานว่าทุก quote ที่รวมแล้วสามารถทำธุรกรรมได้บนแลกเปลี่ยนที่คุณตั้งใจ สำหรับอนุพันธ์ ข้อมูลจำเพาะของสัญญาและประวัติการระดมทุนมีความสำคัญ สำหรับสเปก การขึ้นบัญชีและคู่ที่พร้อมใช้งานมีความสำคัญ

หลีกเลี่ยงอคติจากการอยู่รอด (survivorship bias) เหรียญที่ประสบความสำเร็จในปัจจุบันไม่ได้เป็นตัวแทนของเหรียญทั้งหมดที่มีอยู่ในอดีต การยกเว้นสินทรัพย์ที่ล้มเหลวหรือถูกถอดออกอาจทำให้กลยุทธ์ดูมีความยืดหยุ่นมากกว่าที่เป็นจริง ข้อมูลตลาดที่มีอยู่ในปัจจุบันอาจมีการแก้ไขหรือการจัดประเภทที่ไม่เป็นที่รู้จักในขณะนั้น

สามทางลัดที่ทำให้ผลลัพธ์ไม่ถูกต้อง

Look-ahead bias ใช้ข้อมูลก่อนที่ข้อมูลนั้นจะพร้อมใช้งาน ตัวอย่างรวมถึงการเทรดบนเทียนที่ยังไม่ปิด หรือการใช้จุดข้อมูลที่แก้ไขในภายหลังราวกับว่าข้อมูลนั้นเป็นที่รู้กันในขณะนั้น ย้ายสัญญาณและการดำเนินการอย่างมีเจตนา และตรวจสอบธุรกรรมหลายรายการด้วยตนเอง

Overfitting หมายถึงการปรับกฎให้เข้ากับสัญญาณรบกวนในข้อมูลประวัติศาสตร์ การลองพารามิเตอร์หลายร้อยชุดและรายงานเฉพาะผู้ชนะ สร้างปัญหาการเลือกที่ซ่อนอยู่ บันทึกสิ่งที่คุณได้ลอง prefer กฎที่เข้าใจง่าย และอย่านำเสนอการรันที่ดีที่สุดเป็นการค้นพบที่ไม่มีอคติ

Backtest without hindsight: Audit the assumptions behind the equity curve. Original diagram; hypothetical examples.

ความคลุมเครือภายในแท่งเทียนเกิดขึ้นเมื่อข้อมูลแท่งเทียนไม่สามารถระบุลำดับเหตุการณ์ได้ หากทั้งจุดหยุดขาดและจุดเป้าหมายอยู่ภายในช่วงของแท่งเทียน ค่า OHLC เพียงอย่างเดียวอาจไม่สามารถเปิดเผยได้ว่าเหตุการณ์ใดเกิดขึ้นก่อน ให้ใช้ข้อมูลที่มีความละเอียดสูงกว่า หรือใช้สมมติฐานแบบอนุรักษ์นิยม และเปิดเผยการเลือกนั้น การที่ราคาสูงหรือต่ำแตะระดับจำกัดยังไม่ได้พิสูจน์ว่าคำสั่งของคุณมีความสำคัญในการดำเนินการก่อน

รวมต้นทุนในการซื้อขายจริง

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

ในการทดสอบสมมติฐานด้วยทุนเริ่มต้น $10,000 กำไรขั้นต้น $800 และต้นทุนแบบจำลองรวม $350 ส่งผลให้ได้กำไรสุทธิ $450 หรือ 4.5% ก่อนหักภาษีและผลกระทบที่ละไว้ การผลตอบแทนขั้นต้นเพียงอย่างเดียวจะแสดงค่า 8% ทั้งสองตัวเลขนี้ไม่ได้บอกอะไรเกี่ยวกับขนาดของการดรอว์ดาวน์ที่เกิดขึ้นระหว่างทาง

แยกการพัฒนาออกจากการประเมินผล

ใช้ช่วงเวลาที่ผ่านมาสำหรับการพัฒนา และช่วงเวลาหลังที่ยังไม่ได้ใช้สำหรับการประเมิน กระบวนการเดินไปข้างหน้า (walk-forward) จะทำการพัฒนาซ้ำๆ บนข้อมูลก่อนหน้า และประเมินผลบนหน้าต่างข้อมูลถัดไป เมื่อคุณปรับแต่งซ้ำๆ กับชุดข้อมูลที่เก็บไว้ ชุดข้อมูลนั้นจะไม่ได้ถูกเก็บไว้โดยไม่ถูกแตะต้องอีกต่อไป ให้ทดสอบในสภาวะตลาดขาขึ้น ขาลง และตลาดไซด์เวย์ โดยอาศัยข้อมูลที่มีอยู่ให้เหมาะสม

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

ขั้นตอนถัดไปคือการทดสอบอีกชุดหนึ่ง

รักษากฎ ช่วงข้อมูล และสมมติฐานไว้เพื่อให้ผู้อื่นสามารถทำซ้ำผลลัพธ์ได้ จากนั้นใช้ https://realcryptocap.com/articles/crypto-paper-trading-guide เพื่อทดสอบแบบ forward-test ด้วยกฎเดิมที่ไม่เปลี่ยนแปลง กำไรในอดีตไม่ใช่การคาดการณ์ และการทดสอบย้อนหลัง (backtest) ไม่ได้พิสูจน์ว่าการใช้เงินทุนจริงมีความเหมาะสม

แหล่งข้อมูลและอ่านเพิ่มเติม: Binance Academy, What Is Backtesting? — https://academy.binance.com/en/articles/what-is-backtesting; Binance Academy, How to Backtest a Trading Strategy — https://academy.binance.com/en/articles/how-to-backtest-a-trading-strategy. คำอธิบายที่เป็นอิสระพร้อมตัวอย่างต้นฉบับ

All RealCryptoCap analysis