Northmark
forex-strategy
16 นาทีในการอ่าน

ระบบเทรดของฉันมีอัตราชนะ 73.5% แต่กลับขาดทุน: การตรวจสอบย้อนหลัง 16 ปี

การตรวจสอบย้อนหลัง 16 ปีของระบบ Forex ที่ใช้งานจริง: อัตราชนะ 73.5%, ขาดทุน -4,670 pips. ข้อบกพร่องของเรขาคณิตสเปรด, กับดักอัตราชนะที่จุดคุ้มทุน, และการทดสอบความสัมพันธ์อันดับที่พิสูจน์ว่าพื้นผิวพารามิเตอร์เป็นเพียงสัญญาณรบกวน

ตรวจสอบข้อเท็จจริงแล้ว · ยืนยันล่าสุด 20 กรกฎาคม 2569
Need specific ticker symbols? Let me know!

Also, check out my website: https://volatilitystreet.com/
Photo by Tyler Prahm on Unsplash

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

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

การตั้งค่า

การกำหนดค่า 17 แบบ, แท่งเทียนระยะเวลา 4 ชั่วโมงสำหรับการเข้าสถานะ, จำลองการออกสถานะบนแท่งเทียนระยะเวลา 1 ชั่วโมง, ตั้งแต่วันที่ 2010-05-28 ถึง 2026-07-08, รวม 7,641 รายการซื้อขาย สิ่งสำคัญคือผมได้ป้อนไฟล์ CSV ทางประวัติศาสตร์เข้าสู่ ฟังก์ชัน production ที่ไม่มีการแก้ไข แทนที่จะเป็นฟีดข้อมูลแบบสด ดังนั้นเส้นทางการเขียนโค้ดที่ถูกทดสอบจึงเป็นเส้นทางเดียวกันกับที่ใช้ในการทำงานจริง

บั๊กที่ 1: การจำลองคิดค่าใช้จ่ายผิดที่

แท่งราคา OHLC บนแพลตฟอร์มคือราคา BID การแบ็กเทสต์ทำการเปิดออเดอร์ที่ปิดแท่ง กำหนดจุดทำกำไรและจุดตัดขาดทุนที่ราคาปิด ± n·ATR ตรวจสอบการแตะสูงสุดและต่ำสุดเทียบกับราคา BID จากนั้นจึงหักสเปรดออกจาก กำไรขาดทุนสุดท้าย

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

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

จากการวัดผลพบว่า: อัตราการชนะลดลง 2–5 เปอร์เซ็นต์จุด ซึ่งส่งผลเสียต่อคุณเสมอ

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

บั๊กข้อที่ 2: อัตราการชนะเป็นผลมาจากการออกแบบ มิใช่หลักฐานยืนยัน

เป้าหมายกำไรอยู่ที่ 0.5–0.8 เท่าของ ATR ในขณะที่จุดหยุดขาดทุนอยู่ที่ 1.5–2.0 เท่าของ ATR ซึ่งให้อัตราส่วนผลตอบแทนต่อความเสี่ยง (Reward:Risk) อยู่ที่ 0.25–0.4 ทำให้สามารถคำนวณอัตราการชนะที่จุดคุ้มทุนได้โดยตรงผ่านสูตรทางคณิตศาสตร์ดังนี้:

อัตราการชนะที่จุดคุ้มทุน = SL / (TP + SL) = 75–82%

เมื่อทดสอบกับข้อมูลนอกกลุ่มตัวอย่าง โดยใช้เฉพาะชุดข้อมูลแบบ Walk-forward เท่านั้น พบว่า: มีการซื้อขายทั้งหมด 4,947 รายการ มีอัตราการชนะ 73.5% แต่ขาดทุนรวม -4,669.9 พิป หรือเฉลี่ยขาดทุน -0.944 พิปต่อการซื้อขาย

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

การวินิจฉัยที่ควรนำไปใช้

ก่อนทำการปรับให้เหมาะสมอีกครั้ง ผมได้ตั้งคำถามว่าพื้นผิวพารามิเตอร์นั้น สามารถเรียนรู้ได้จริงหรือไม่

สำหรับการแบ่งข้อมูลแบบ walk-forward แต่ละรอบ: ให้ประเมินตารางพารามิเตอร์ ทั้งหมด ในช่วงหน้าต่างการฝึกสอนและในช่วงหน้าต่างการทดสอบ จากนั้นคำนวณหาความสัมพันธ์อันดับสเปียร์แมน (Spearman rank correlation) ระหว่างผลลัพธ์ทั้งสองชุด

if rho > 0  -> อันดับในการฝึกสอนทำนายอันดับในการทดสอบได้; การคัดเลือกมีความหมาย
if rho ~ 0  -> พื้นผิวนั้นเป็นเพียงสัญญาณรบกวน; กฎการคัดเลือกใดๆ ก็ตามไม่สามารถช่วยได้

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

ผลลัพธ์จากการทดสอบทั้งหมด 119 รอบ:

  • ค่ามัธยฐานของ rho: -0.024
  • ค่าเฉลี่ยของ rho: -0.030, ช่วงความเชื่อมั่น 95% [-0.090, +0.030] — ครอบคลุมค่าศูนย์
  • รอบที่มีค่า rho > 0: 47.9% — พอๆ กับการโยนเหรียญเสี่ยงทาย

ไม่พบข้อมูลที่เป็นประโยชน์ใดๆ สอดคล้องกับผลลัพธ์ดังกล่าว การปรับให้เหมาะสมแบบ walk-forward พร้อมการทำให้เรียบบริเวณที่ราบ (plateau smoothing) ให้ผลลัพธ์นอกกลุ่มตัวอย่าง (out-of-sample) ที่ แย่กว่า พารามิเตอร์ที่ผมไม่ได้เข้าไปแตะต้องเลย และมีการเลือกขอบเขตของตารางใน 11 จาก 17 การกำหนดค่า ซึ่งเป็นลักษณะเฉพาะของตัวปรับให้เหมาะสมที่ไม่มีจุดยึดเกาะให้ทำงาน

จากนั้นผมจึงตรวจสอบว่าผลลัพธ์ดังกล่าวมีอยู่จริงในส่วนใดบ้าง

เครื่องมือ 38 รายการ ระยะเวลาการถือครองที่ไม่ทับซ้อนกัน ปรับตามความผันผวน และจัดกลุ่มตามประเภทสินทรัพย์ ทำให้การทดสอบ 1,140 ครั้งลดเหลือเพียง 6 ครั้ง โดยแบ่งเปรียบเทียบระหว่างครึ่งแรกและครึ่งหลัง:

ประเภทสินทรัพย์Sharpe @0bpจุดคุ้มทุนค่าใช้จ่ายครึ่งแรกครึ่งหลังมีความเสถียร
FX major+0.083bp+0.06-0.09ไม่
FX cross+0.021bp-0.05-0.06ไม่
Index+0.075bp+0.04+0.02ใช่
Metal+0.1212bp+0.13+0.03ใช่
Energy+0.1323bp+0.15-0.02ไม่
Crypto+0.42100bp+0.54+0.15ใช่

มีสองสิ่งที่ผมคาดไม่ถึงมาก่อน:

จุดคุ้มทุนของค่าใช้จ่ายในการทำธุรกรรมมีประโยชน์ต่อการตัดสินใจมากกว่าค่า Sharpe คู่เงิน FX major มีจุดคุ้มทุนที่ประมาณ 3bp และคู่เงินข้าม (crosses) ที่ประมาณ 1bp ซึ่งทั้งสองค่านี้ ต่ำกว่า สเปรดจริง คำถามที่ว่า "มีความได้เปรียบตรงนี้หรือไม่" จึงถูกตอบได้ก่อนที่จะเขียนโค้ดกลยุทธ์ใดๆ เลย

ผลลัพธ์ที่มีนัยสำคัญทางสถิติกลับเป็นผลลัพธ์ที่หลอกตา พลังงาน (Energy) แสดงค่า t = 3.73 ในตัวอย่างข้อมูลทั้งหมด แต่กลับทรงตัวหรือติดลบในครึ่งหลัง หากไม่มีการแบ่งช่วงเวลา ผลลัพธ์นี้อาจดูเหมือนเป็นการค้นพบที่แข็งแกร่งที่สุดในตาราง

คริปโทเคอร์เรนซี (Crypto) เป็นเพียงกลุ่มเดียวที่ยังคงให้ผลบวก แต่ก็ลดลงอย่างรุนแรง (จาก 0.54 เหลือ 0.15) เมื่อพิจารณาจากสเปรด CFD ที่เป็นจริง ครึ่งหลังจะเปลี่ยนเป็นติดลบ นี่จึงเป็นปรากฏการณ์ในอดีต ไม่ใช่สิ่งที่เป็นอยู่ในปัจจุบัน

บทเรียนที่แท้จริง

จงสร้างตัวพิสูจน์ความเท็จก่อนสร้างกลยุทธ์

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

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


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


ภาพถ่ายโดย Tyler Prahm บน Unsplash


Photo by Tyler Prahm on Unsplash

แท็ก
#การเทรดเกินพอดี#การตรวจสอบวอล์กฟอร์เวิร์ด#อัตราชนะจุดคุ้มทุน#โมเมนตัมอนุกรมเวลา#การตรวจสอบระบบเทรด

บทความที่เกี่ยวข้อง

review12 นาทีในการอ่าน

รีวิว InsWeb เปรียบเทียบประกันรถยนต์แบบเหมา: เหมาะกับใคร ควรระวังอะไร

รีวิว InsWeb บริการเปรียบเทียบประกันรถยนต์แบบเหมา ดูข้อดี ข้อควรระวัง เหมาะกับใครบ้าง พร้อมวิธีสมัครและสิ่งที่ต้องตรวจสอบก่อนใช้บริการ

review15 นาทีในการอ่าน

รีวิว SafetyWing 2026: ประกันรายเดือนสำหรับคนทำงานต่างแดน เหมาะกับใคร?

รีวิว SafetyWing แบบกลางๆ สำหรับคนทำงานดิจิทัลนómádและผู้พำนักระยะยาวในต่างประเทศ เจาะลึกคุณสมบัติ ข้อควรระวัง และวิธีสมัคร พร้อมตารางเปรียบเทียบกับประกันทั่วไป

review13 นาทีในการอ่าน

รีวิว มินนะโนะเซเมียวโฮเคน อาดไวเซอร์ (Minna no Seimei Hoken Advisor) – บริการให้คำปรึกษาประกันชีวิตผ่าน FP

สำหรับคนไทยที่อาศัยในญี่ปุ่นและลังเลเรื่องประกันชีวิต บริการนี้ช่วยให้คุณเปรียบเทียบแผนจากหลายบริษัทโดยไม่เสียค่าใช้จ่าย พร้อมรับคำแนะนำจาก FP ที่ผ่านการคัดเลือก