ผมใช้เวลาสองสามวันในการตรวจสอบระบบเทรด 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.08 | 3bp | +0.06 | -0.09 | ไม่ |
| FX cross | +0.02 | 1bp | -0.05 | -0.06 | ไม่ |
| Index | +0.07 | 5bp | +0.04 | +0.02 | ใช่ |
| Metal | +0.12 | 12bp | +0.13 | +0.03 | ใช่ |
| Energy | +0.13 | 23bp | +0.15 | -0.02 | ไม่ |
| Crypto | +0.42 | 100bp | +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
บทความที่เกี่ยวข้อง
รีวิว InsWeb เปรียบเทียบประกันรถยนต์แบบเหมา: เหมาะกับใคร ควรระวังอะไร
รีวิว InsWeb บริการเปรียบเทียบประกันรถยนต์แบบเหมา ดูข้อดี ข้อควรระวัง เหมาะกับใครบ้าง พร้อมวิธีสมัครและสิ่งที่ต้องตรวจสอบก่อนใช้บริการ
รีวิว SafetyWing 2026: ประกันรายเดือนสำหรับคนทำงานต่างแดน เหมาะกับใคร?
รีวิว SafetyWing แบบกลางๆ สำหรับคนทำงานดิจิทัลนómádและผู้พำนักระยะยาวในต่างประเทศ เจาะลึกคุณสมบัติ ข้อควรระวัง และวิธีสมัคร พร้อมตารางเปรียบเทียบกับประกันทั่วไป
รีวิว มินนะโนะเซเมียวโฮเคน อาดไวเซอร์ (Minna no Seimei Hoken Advisor) – บริการให้คำปรึกษาประกันชีวิตผ่าน FP
สำหรับคนไทยที่อาศัยในญี่ปุ่นและลังเลเรื่องประกันชีวิต บริการนี้ช่วยให้คุณเปรียบเทียบแผนจากหลายบริษัทโดยไม่เสียค่าใช้จ่าย พร้อมรับคำแนะนำจาก FP ที่ผ่านการคัดเลือก