ผลลบที่ซื่อสัตย์: แบ็คเทสหลายหมื่นครั้ง ห้าเหรียญหลัก ไม่พบ Edge ที่แข็งแกร่ง
ส่วนหนึ่งของซีรีส์ "Backtests Without Illusions"
ผลลัพธ์ที่เราไม่อยากได้
ซีรีส์นี้ใช้เวลาหลายบทความสร้างเครื่องมือเพื่อจับโกหก: look-ahead bias ที่สร้าง Sharpe ปลอมถึง 15 จากการรั่วไหลข้อมูลเพียงหนึ่งแท่ง Deflated Sharpe Ratio ที่ตีราคาผู้ชนะจากการค้นหา Probability of Backtest Overfitting ที่ตีราคาตัวกระบวนการค้นหาเอง แต่ละชิ้นเป็นเสมือนการซ้อมใหญ่ ส่วนบทความนี้คือการแสดงจริง: เราชี้เครื่องมือทั้งหมดไปที่กลุ่มกลยุทธ์จริงที่เราอยากเทรดจริงๆ และปล่อยให้มันตัดสินตามที่มันถูกสร้างมาให้ตัดสิน — แม้ผลตัดสินนั้นจะเป็น ไม่
นี่คือบทสรุปที่ซื่อสัตย์ตั้งแต่ต้น เรารัน แบ็คเทสหลายหมื่นครั้ง กับ เหรียญหลักห้าตัว ในโครงแบบ dual-timeframe และ triple-timeframe เพื่อค้นหา edge ที่แข็งแกร่ง เราไม่พบมัน ไม่ใช่แบบ "เราพบ edge เล็กๆ แล้วก็ลดขนาดโพซิชันลง" เราพบว่า ไม่มีอะไรรอดจากการปะทะกับเครื่องมือได้เลย — ไม่มีคอนฟิกใดที่ทำกำไรได้พร้อมกันในทุกเครื่องมือ และยังยืนหยัดได้ภายใต้การปรับแก้แบบ multiple-testing ไปพร้อมกัน นั่นไม่ใช่ความล้มเหลวของการทดลอง นั่น คือ ความสำเร็จของการทดลองต่างหาก
ส่วนที่ล่อตาล่อใจ — ส่วนที่จะทำให้ทีมที่มีเครื่องมือด้อยกว่านี้ตัดสินใจจัดสรรเงินทุนลงไป — คือการอ่านผลแบบผิวเผินนั้นดูดีจริงๆ:
| ขั้นตอน | สิ่งที่เราเห็น | สิ่งที่มันเป็นจริงๆ |
|---|---|---|
| การค้นหาสัญลักษณ์เดียว (ETHUSDT, dual-TF) | +16.35% จาก out-of-sample test, +2.62% บน holdout ที่ไม่เคยถูกแตะต้อง | ผู้ชนะที่ล่อตาล่อใจ |
| Deflated Sharpe จากการทดลองราว 37,000 ครั้ง | DSR = 0.00 | best-of-noise (ผลดีที่สุดของ noise) |
| Cross-instrument, 5 เหรียญหลัก, dual-TF | DSR 0.24 / PBO 0.264 | ไม่ผ่าน |
| Cross-instrument, 5 เหรียญหลัก, triple-TF | DSR 0.14 / PBO 0.327 | ไม่ผ่าน |
ลองอ่านแถวบนสุดแบบที่เราอ่านครั้งแรก: กลยุทธ์ moving-average-crossover ที่ปรับจูนบน ETHUSDT ผ่าน grid แบบ dual-timeframe ทำได้ +16.35% บนข้อมูลที่ไม่เคยเห็นระหว่างการค้นหา และยังคงเป็น บวก ที่ +2.62% บนหน้าต่างที่สองที่เรากันไว้ไม่ให้ถูกแตะต้องเลย ถ้าคุณหยุดอ่านตรงนี้ — และแบ็คเทสที่ตีพิมพ์ส่วนใหญ่ก็หยุดตรงนี้ — คุณก็คงส่งมันไปใช้งานจริงแล้ว ส่วนที่เหลือของบทความนี้คือเครื่องมือที่บอกเราว่าอย่าทำ และเหตุผลว่าทำไมมันถึงถูกต้อง
องก์ที่ 1 — ผู้ชนะที่ล่อตาล่อใจ

กลุ่มกลยุทธ์นี้เป็นแบบธรรมดาโดยตั้งใจ: การครอสของ Hull-moving-average ที่ประเมินบนแท่งที่ปิดแล้ว ด้วยโมเดลการส่งคำสั่งที่ซื่อสัตย์ (ตัดสินใจที่ราคาปิดของแท่ง i แล้วส่งคำสั่งที่ราคาเปิดของแท่ง i+1 — วินัยแบบ one-bar ที่ซีรีส์นี้จะไม่มีวันประนีประนอม) "Dual-timeframe" หมายถึงสัญญาณถูกกรองด้วยเทรนด์ของไทม์เฟรมที่ช้ากว่า ส่วน "triple" เพิ่มไทม์เฟรมที่สามซึ่งช้ากว่าเข้าไปอีก ไทม์เฟรมแต่ละอันเพิ่มพารามิเตอร์อิสระ และพารามิเตอร์อิสระนี่เองที่การค้นหาแปลงให้กลายเป็นผลงานที่ดูดีเกินจริง
การศึกษาสัญลักษณ์เดียวรันบน ETHUSDT โปรโตคอลที่ใช้เป็นแบบที่ดีอยู่แล้ว: การแบ่งแบบ rolling walk-forward (หน้าต่าง warmup, หลาย in-sample fold, หน้าต่าง out-of-sample test) บวกกับหน้าต่าง holdout สุดท้ายที่ห้ามการค้นหาแตะต้องจนกว่าจะถึงขั้นตอนสุดท้ายจริงๆ การค้นหาแบบ Sobol/QMC สำรวจพื้นที่พารามิเตอร์ทั้งหมด ผู้รอดชีวิตคือคอนฟิกที่มีคะแนน walk-forward ดีที่สุด และมันถูกนำไปทดสอบบน holdout เพียงครั้งเดียว — ครั้งเดียวเท่านั้น
ผู้รอดชีวิตดูเหมือนจะมี edge จริง:
- +16.35% บนหน้าต่าง out-of-sample test — ข้อมูลที่ใช้เพียงเพื่อ ให้คะแนน คอนฟิกเท่านั้น ไม่เคยใช้ fit มันเลย
- +2.62% บน holdout ที่ไม่เคยถูกแตะต้อง — กำแพงด่านที่สอง ผ่านไปได้
นี่คือช่วงเวลาที่ตัดสินว่ากระบวนการวิจัยซื่อสัตย์หรือแค่แสดงละคร กำไรแบบ out-of-sample เป็นเรื่องจริงในความหมายแคบๆ ที่ว่าตัวเลขไม่ได้ถูกปลอมแปลงและไม่มีการรั่วไหลแบบ look-ahead — เราตรวจสอบแล้ว แต่ "ตัวเลขจริง ไม่มีการรั่วไหล" เป็นมาตรฐานที่ ต่ำกว่ามาก เมื่อเทียบกับ "edge ที่แท้จริง" สิ่งที่อยู่ตรงกลางระหว่างสองอย่างนี้คือสิ่งที่ซีรีส์ทั้งหมดนี้พูดถึง: selection (การคัดเลือก) เราไม่ได้ประเมินกลยุทธ์เพียงหนึ่งเดียวแล้วพบว่ามันทำกำไรได้ 16% เราประเมินกลยุทธ์จำนวนมหาศาลแล้ว รายงานตัวเลข 16% ของตัวที่ดีที่สุด หน้าต่าง out-of-sample สะอาดจากการรั่วไหลแบบ look-ahead ก็จริง แต่มันไม่สะอาดจากการคัดเลือก — เพราะเราเลือกผู้ชนะส่วนหนึ่งจากผลงานของมันในหน้าต่างนั้นเอง เครื่องมือเดียวที่แยกแยะสองเรื่องนี้ออกจากกันได้คือเครื่องมือที่รู้ว่าเรามองไปกี่ครั้ง
องก์ที่ 2 — การ Deflate: การทดลองราว 37,000 ครั้ง, DSR = 0.00

ลองนับจำนวนครั้งที่เรามอง ตลอดทุก fold ทุกชุดผสมของไทม์เฟรม และทุก grid ของพารามิเตอร์ การค้นหาแบบ dual-timeframe ประเมินคอนฟิกที่แตกต่างกันไปราว 37,000 คอนฟิก แต่ละคอนฟิกคือการสุ่มดึงหนึ่งตัวอย่างจากพื้นที่กลยุทธ์ทั้งหมด และการค้นหาก็เก็บเอาค่าสูงสุดไว้ บทความ Deflated Sharpe Ratio มีการพิสูจน์แบบเต็มรูปแบบ แต่ข้อเท็จจริงเดียวที่คุณต้องรู้ตรงนี้คือ False Strategy Theorem (Bailey & López de Prado): ค่า Sharpe สูงสุด ที่คาดหวังได้จากกลยุทธ์จำนวน N ตัวที่มี edge จริงเป็นศูนย์ จะเพิ่มขึ้นตาม N ที่ N ≈ 30,000 ผลดีที่สุดของ noise ล้วนๆ จะอยู่สูงกว่าศูนย์ประมาณ สี่ส่วนเบี่ยงเบนมาตรฐาน เพียงเพราะการคัดเลือกล้วนๆ สี่ซิกมาดูเหมือนการค้นพบ แต่จริงๆ แล้วมันคือเงาของการค้นหานั่นเอง
ดังนั้นคำถามที่ถูกต้องไม่ใช่ "Sharpe ของผู้ชนะเป็นบวกไหม" — แน่นอนว่าใช่ เพราะคุณเลือกค่าสูงสุดมา คำถามที่ถูกต้องคือ "Sharpe ของผู้ชนะสูงเกินกว่าที่ คนโยนเหรียญที่โชคดีที่สุดใน 37,000 คน จะทำได้หรือไม่" นั่นคือสิ่งที่ DSR คำนวณออกมาพอดี: มันย้ายเกณฑ์เปรียบเทียบจากศูนย์ขึ้นไปเป็นเพดาน noise ที่คำนวณจากจำนวนการทดลอง แล้วรายงานความน่าจะเป็นที่ Sharpe ที่แท้จริงจะผ่านเกณฑ์นั้นได้
ผลงาน out-of-sample ของผู้ชนะ ETHUSDT เทียบเท่ากับ daily Sharpe ประมาณ 0.19 ถ้าดูเดี่ยวๆ SR รายวันที่ 0.19 ตลอดหน้าต่างที่ยาวนานถือเป็นตัวเลขที่น่านับถือทีเดียว แต่เมื่อ deflate เทียบกับการทดลองราว 37,000 ครั้ง มันก็ระเหยหายไป:
ศูนย์ ไม่ใช่ "marginal" ไม่ใช่ "0.4 เฝ้าดูต่อไป" DSR บอกว่า: จากความเข้มข้นของการค้นหาที่เราทำ daily Sharpe ที่ 0.19 นั้น แยกไม่ออกจากผลดีที่สุดของ noise ล้วนๆ ตัวเลข +16.35% แบบ out-of-sample และ +2.62% บน holdout สอดคล้องกัน ในระดับความละเอียดที่การทดสอบนี้แยกแยะได้ กับกลยุทธ์ที่ไม่มี edge เลยแม้แต่น้อย และเพียงแค่ถูกลอตเตอรีที่มีตั๋วอยู่ 37,000 ใบเท่านั้น
มีรายละเอียดปลีกย่อยที่ควรชี้แจง เพราะเราไม่อยากพูดเกินจริงเรื่องการ deflate: จุดที่อยู่ใกล้กันบน grid ของพารามิเตอร์นั้นแทบจะซ้ำกัน ทำให้จำนวนการทดลอง แบบดิบ นับจำนวนครั้งที่มองแบบอิสระเกินจริง เกณฑ์ของเราจึงใช้จำนวนการทดลอง แบบ effective — การทดลองที่ถูกจัดกลุ่มตามความสัมพันธ์ของผลตอบแทนด้วย ONC (López de Prado & Lewis) ก่อนทำการ deflate — เพื่อไม่ให้เราปฏิเสธ edge ที่แท้จริงด้วยเหตุผลทางบัญชีล้วนๆ แม้จะรวมการปรับแก้นี้เข้าไปแล้ว ผู้ชนะ ETHUSDT ก็ยังไม่รอด เมื่อผลลัพธ์อ่านได้ว่า DSR 0.00 รายละเอียดปลีกย่อยของ effective-N จะไม่ช่วยกู้อะไรได้เลย มันจมอยู่ลึกในกอง noise
เรื่องนี้น่าจะจบตรงนี้ได้ สัญลักษณ์เดียว การค้นหาเดียว deflate จนไม่เหลืออะไร แต่การที่ DSR ล้มเหลวบนสัญลักษณ์เดียวยังทิ้งช่องโหว่ไว้ที่นักปรับแต่งผู้มุ่งมั่นจะพยายามลอดเข้าไปเสมอ: บางทีอาจเป็นเพราะ ETHUSDT เป็นสัญลักษณ์ที่ยากเป็นพิเศษ และคอนฟิกนี้อาจเป็นจริงในที่อื่น การจะปิดช่องโหว่นี้ได้ คุณต้องเปลี่ยนแกนของการทดสอบ
องก์ที่ 3 — การทดสอบที่ชี้ขาด: ความแข็งแกร่งอยู่ที่การข้ามเครื่องมือ

การค้นหาแบบสัญลักษณ์เดียวมีจุดอ่อนเชิงโครงสร้างแม้ในกรณีที่ทุกอย่างสมบูรณ์แบบ: แกน out-of-sample เดียวที่มันมีคือ เวลา มันบอกคุณได้ว่าคอนฟิกยืนหยัดได้บนหน้าต่างที่ตามมาของ ETHUSDT — แต่มันบอกไม่ได้ว่าคอนฟิกนั้นเรียนรู้อะไรบางอย่างเกี่ยวกับตลาด หรือเรียนรู้อะไรบางอย่างเกี่ยวกับ ETHUSDT โดยเฉพาะ การ overfit กับเครื่องมือเดียวนั้นมองไม่เห็นเลยสำหรับการทดสอบที่ไม่เคยออกจากเครื่องมือนั้น
เราจึงเปลี่ยน objective แทนที่จะเป็น "ดีที่สุดบน ETHUSDT out-of-sample" การล่าหาแบบ cross-instrument เรียกร้อง generalist: คอนฟิกที่ดี พร้อมกัน ในหลายสัญลักษณ์ โปรโตคอลมีดังนี้:
- เหรียญหลักที่มีสภาพคล่องสูงห้าตัว: ETHUSDT, BTCUSDT, SOLUSDT, BNBUSDT, XRPUSDT — ประมาณ 1.18 ล้านแท่ง 1 นาทีต่อเหรียญ ใช้หน้าต่างปฏิทินร่วมกันหนึ่งชุด และชุดการแบ่งข้อมูลร่วมกันหนึ่งชุด (warmup → K in-sample fold → test → holdout ที่ไม่เคยถูกแตะต้อง)
- Objective ที่แข็งแกร่ง: ให้คะแนนแต่ละคอนฟิกจากผล walk-forward ของทุกสัญลักษณ์ แล้วจัดอันดับด้วย ค่ามัธยฐานข้ามสัญลักษณ์ (median across symbols) ค่ามัธยฐานคือหัวใจสำคัญ — คอนฟิกที่โดดเด่นสุดๆ บนเหรียญเดียวแต่แย่มากบนอีกสี่เหรียญ จะไม่สามารถซื้อทางเข้ามาได้ด้วย outlier ตัวเดียว การจะถูกเลือกได้ต้องทำได้อย่างน้อย ระดับกลางๆ บนเหรียญส่วนใหญ่
- เมทริกซ์ผลตอบแทนแบบพอร์ตโฟลิโอสำหรับ gate: ผลตอบแทนรายวันต่อการทดลองคือพอร์ตโฟลิโอแบบถ่วงน้ำหนักเท่ากันข้ามห้าสัญลักษณ์ (1/S ของเงินทุนต่อเหรียญ) ทำให้ได้เมทริกซ์ผลงานขนาด T×N ที่ gate ของ DSR และ PBO-CSCV นำไปใช้
- Holdout ถูกแตะเพียงครั้งเดียว โดยแชมป์ที่แข็งแกร่งที่สุดของแต่ละโหมดเท่านั้น
นี่คือการทดสอบที่ ยากกว่า การทดสอบสัญลักษณ์เดียวอย่างชัดเจน และตั้งใจให้เป็นแบบนั้น คอนฟิกหนึ่งอาจชนะการค้นหาบน ETHUSDT ได้ด้วยการอาศัยความแปลกประหลาดเฉพาะตัวของเหรียญเดียว แต่มันจะชนะการค้นหาแบบ median-across-five ด้วยวิธีนั้นไม่ได้ ถ้ามี edge ที่แข็งแกร่งอยู่จริงในกลุ่มกลยุทธ์นี้ นี่คือการตั้งค่าที่จะค้นพบมัน และถ้าไม่มี นี่ก็คือการตั้งค่าที่จะบอกเช่นนั้นโดยไม่หวั่นไหว
องก์ที่ 4 — คำตัดสิน: ทั้งสองไทม์เฟรมไม่ผ่านเกณฑ์
เรารันการล่าแบบ cross-instrument ทั้งสองโครงแบบ แล้วนำแชมป์ที่แข็งแกร่งที่สุดของแต่ละแบบไปผ่านเกณฑ์ (gate) เกณฑ์มาตรฐานมีสองอย่าง: DSR ≥ 0.95 (deflate เทียบกับจำนวนการทดลองแบบ effective) และ PBO ≤ 0.2 (จาก CSCV บนเมทริกซ์ผลงาน) นี่คือคำตัดสินทั้งหมด อย่างตรงไปตรงมา:
| โหมด | DSR (effective-N) | PBO (CSCV) | เกณฑ์: DSR ≥ 0.95 | เกณฑ์: PBO ≤ 0.2 | คำตัดสิน |
|---|---|---|---|---|---|
| Dual-timeframe | 0.24 | 0.264 | ไม่ผ่าน | ไม่ผ่าน | ไม่มี edge ที่แข็งแกร่ง |
| Triple-timeframe | 0.14 | 0.327 | ไม่ผ่าน | ไม่ผ่าน | ไม่มี edge ที่แข็งแกร่ง |
ไม่ผ่านทั้งคู่ ทั้งสองเกณฑ์ ทั้งสองโหมด อ่านตัวเลขแต่ละตัวด้วยการปรับเทียบที่บทความก่อนหน้าได้วางไว้ เพราะทั้งสองเกณฑ์กำลังบอกเรื่องที่ต่างกัน แต่กลับเห็นตรงกัน:
-
DSR 0.24 (dual), 0.14 (triple) DSR คือความน่าจะเป็นที่ Sharpe ที่แท้จริงจะเกินเพดาน noise ที่คำนวณจากการค้นหา เราต้องการ 0.95 แต่เราได้ 0.24 และ 0.14 — แทบจะเป็นโอกาสหนึ่งในสี่และหนึ่งในเจ็ดเท่านั้นที่ edge จะเป็น บวก เลยด้วยซ้ำ เมื่อนับรวมจำนวนคอนฟิกที่ลองแล้ว การเพิ่มไทม์เฟรมที่สามกลับทำให้ แย่ลง ไม่ใช่ดีขึ้น: พารามิเตอร์มากขึ้น วิธี fit ตัวอย่างมากขึ้น สิ่งที่ generalize ได้น้อยลง การกลับด้านแบบนี้เองคือลายนิ้วมือของ overfitting
-
PBO 0.264 (dual), 0.327 (triple) ย้อนกลับไปที่ข้อเท็จจริงหนึ่งเดียวที่ทุกคนมักอ่านผิดเกี่ยวกับ PBO (อ่านฉบับเต็มที่นี่): ค่า null ของมันคือ 0.5 ไม่ใช่ 1 PBO คือความน่าจะเป็นที่ผู้ชนะแบบ in-sample จะตกไปอยู่ ครึ่งล่าง เมื่อทดสอบแบบ out-of-sample การคัดเลือกที่น่าเชื่อถือจะอยู่ใกล้ 0 ส่วนการโยนเหรียญล้วนๆ จะอยู่ที่ 0.5 ค่า 0.264 และ 0.327 ของเรา ต่ำกว่า 0.5 — การคัดเลือกไม่ใช่การโยนเหรียญตรงตัวเป๊ะ มีสัญญาณแผ่วเบาแฝงอยู่บ้าง — แต่ทั้งคู่ก็ยังสูงกว่า 0.2 ที่เราต้องการมากเพื่อเรียกการคัดเลือกนี้ว่าเชื่อถือได้ และอีกครั้งที่ triple (0.327) ใกล้เส้นโยนเหรียญมากกว่า dual (0.264): ความซับซ้อนมากขึ้น การ generalize น้อยลง
เครื่องมือสองชนิดนี้เป็นอิสระต่อกัน (orthogonal) — DSR เป็นแบบ parametric และตีราคา ผู้ชนะ, PBO เป็นแบบ non-parametric และตีราคา กระบวนการ — และทั้งคู่มาบรรจบที่คำตอบเดียวกันจากคนละทิศทาง ไม่มีวิธีอ่านตารางนี้แบบไหนที่ทำให้กลยุทธ์ใดผ่านเกณฑ์ได้เลย ตัวเลข +16.35% ที่จุดประกายการล่าทั้งหมดนี้ ไม่มีญาติที่แข็งแกร่งข้ามเครื่องมืออยู่เลย มันเป็นเพียงคุณสมบัติของเหรียญเดียวและการค้นหาครั้งเดียวเท่านั้น
องก์ที่ 5 — ตามรอยแชมป์ ทีละสัญลักษณ์
เกณฑ์แบบรวม (aggregate) บอกคุณว่ากลยุทธ์ ล้มเหลว แต่การแยกตามสัญลักษณ์บอกคุณว่า ล้มเหลวอย่างไร และ "อย่างไร" นี่แหละคือส่วนที่ให้บทเรียนมากที่สุดในการศึกษาทั้งหมด ลองดูแชมป์ triple-timeframe — คอนฟิกที่ objective แบบ median-across-five สวมมงกุฎให้จริงๆ — แล้วดูว่ามันทำอะไรบนหน้าต่าง out-of-sample test ของแต่ละสัญลักษณ์:
| สัญลักษณ์ | แชมป์ Triple, OOS test |
|---|---|
| ETHUSDT | −0.39% |
| BTCUSDT | −0.38% |
| SOLUSDT | +14.74% |
| BNBUSDT | −8.58% |
| XRPUSDT | −4.13% |
นั่นคือภาพลวงตาทั้งหมด เผยออกมาอย่างชัดเจนในห้าแถว แชมป์ทำกำไรได้ เพียงหนึ่งเดียว จากห้าสัญลักษณ์ — SOLUSDT ที่ +14.74% อย่างโดดเด่นเกินจริง — และ ขาดทุนในอีกสี่ที่เหลือ มันไม่ใช่ generalist ที่บังเอิญอ่อนแอ แต่มันคือ ผู้เชี่ยวชาญด้าน SOL ที่สวมเสื้อคลุมของพอร์ตโฟลิโอ ตัวเลขบวกก้อนใหญ่ตัวเดียวแบกรับทุกอย่างไว้ objective แบบ median ลดอันดับมันลงต่ำกว่าผู้ชนะ ETHUSDT แบบดิบๆ ก็เพราะ median ปฏิเสธที่จะถูกหลอกด้วย outlier ตัวเดียวนี่แหละ แต่แม้แต่แชมป์ที่ถูกเลือกด้วย median ก็ยังพึ่งพาเหรียญเดียวเกือบทั้งหมด เมื่อคุณแกะดูรายละเอียด
holdout — หน้าต่างที่ไม่มีใครได้รับอนุญาตให้ปรับแต่งเข้าหา — บอกเรื่องราวเดียวกันจากมุมมองที่สะอาดที่สุดเท่าที่จะเป็นไปได้: ในห้าเหรียญหลัก ผลตอบแทน holdout ของแชมป์เป็น บวกเพียง 1 ใน 5 สัญลักษณ์ ถ้านี่เป็น edge ที่แท้จริงในกลุ่มกลยุทธ์นี้ มันน่าจะปรากฏให้เห็น อย่างน้อยก็แผ่วเบา บนข้อมูลที่ไม่เคยถูกแตะต้องของมากกว่าหนึ่งเครื่องมือ แต่มันปรากฏแค่ตัวเดียว นั่นคือลายเซ็นของคอนฟิกที่เรียนรู้สัญลักษณ์หนึ่งตัว ไม่ใช่ตลาด
นี่คือเหตุผลที่แกน cross-instrument เป็นการทดสอบที่ชี้ขาด ไม่ใช่แค่สิ่งที่มีก็ดี DSR แบบสัญลักษณ์เดียวก็ deflate ETHUSDT ลงเหลือศูนย์ไปแล้ว แต่ต้องอาศัยการออกแบบแบบ median-across-five ในการ วินิจฉัย ความล้มเหลวนี้ — เพื่อแสดงให้เห็นว่า edge ที่ดูเหมือนจะมีนั้น ไม่เคยกระจายอยู่ข้ามเครื่องมือมาตั้งแต่แรก แต่เป็นคุณสมบัติของเหรียญตัวไหนก็ตามที่การค้นหาบังเอิญ overfit ในรอบนั้น บน ETHUSDT มันเป็นของ ETHUSDT บนการล่าแบบ median มันย้ายไปเป็นของ SOLUSDT edge เคลื่อนที่ไปมา edge ที่แท้จริงไม่เคลื่อนที่แบบนั้น
ทำไมผลลบจึงเป็นผลลัพธ์ที่ถูกต้อง

ควรพูดให้ชัดเจนว่าเรากำลังอ้างและไม่ได้อ้างอะไร เพราะคำว่า "เราไม่พบ edge" นั้นง่ายต่อการอ่านผิดว่าเป็นความถ่อมตัวปลอมๆ หรือคำสารภาพว่าไร้ความสามารถ แต่มันไม่ใช่ทั้งสองอย่าง
เรา ไม่ได้ อ้างว่า HMA crossover ใช้ไม่ได้ผลตลอดไป หรือว่าเหรียญทั้งห้านี้คาดเดาไม่ได้ หรือว่าไม่มีกลยุทธ์แบบ dual/triple-timeframe อยู่จริง เรากำลังอ้างสิ่งที่แคบกว่าและหนักแน่นกว่ามาก: ภายในกลุ่มกลยุทธ์นี้ บนข้อมูลชุดนี้ ที่ความเข้มข้นของการค้นหาระดับนี้ ไม่มีคอนฟิกใดที่ประสิทธิภาพที่ดูเหมือนจะดีของมันรอดจากการปรับแก้ตามจำนวนสิ่งที่เราลองได้เลย ทุกสิ่งที่ดูเหมือน edge อยู่ภายในแถบความเชื่อมั่นของผลดีที่สุดของ noise นี่คือข้อความที่แม่นยำ พิสูจน์ว่าผิดได้ (falsifiable) และปกป้องได้ — และเป็นข้อความที่ถูกต้องที่จะตีพิมพ์
สิ่งล่อใจที่เครื่องมือนี้เอาชนะได้นั้นใหญ่หลวงมาก และมันมีชื่อเรียกในทุกสาขาวิชา: file-drawer problem ผลลบถูกฝังไว้ ผลบวกถูกเขียนเผยแพร่ ในวงการเทรดแรงจูงใจยิ่งคมชัดกว่าเดิม เพราะผลบวกที่คุณ deflate ไม่สำเร็จนั้นไม่ใช่แค่งานวิจัยที่แย่ — มันคือเงินทุนที่ถูกนำไปวางเดิมพันกับ noise เงินจริงที่จ่ายค่าธรรมเนียมจริงเพื่อเทรดตั๋วลอตเตอรีที่คุณเข้าใจผิดว่าเป็นสัญญาณ บทความ look-ahead แสดงให้เห็นการรั่วไหลที่สร้าง Sharpe ปลอมถึง 15 บทความ DSR แสดงให้เห็นการค้นหาที่สร้าง Sharpe ปลอมถึง 1.63 จาก noise ล้วนๆ โดยไม่มีการรั่วไหลเลยแม้แต่น้อย บทความนี้คือสิ่งที่เกิดขึ้นเมื่อเครื่องมือเหล่านั้นถูก ชี้ไปที่ไอเดียโปรดของตัวเองและถูกขอให้ซื่อสัตย์ เครื่องมือทั้งชุด — DSR, PBO/CSCV, การจัดกลุ่มแบบ effective-N, การคัดเลือกแบบ cross-instrument — ไม่ได้มีไว้เพื่ออวยพรกลยุทธ์ของคุณ มันมีไว้เพื่อหยุดไม่ให้คุณนำ noise ที่ดีที่สุดไปขายเป็น alpha และหลักฐานเดียวที่พิสูจน์ว่ามันได้ผลจริงคือบางครั้งมันตอบว่าไม่
ทีมที่ไม่มีเครื่องมือชุดนี้คงส่ง +16.35% ออกไปใช้งานจริงแล้ว พวกเขาคงมี walk-forward ที่ดูสะอาด holdout ที่เป็นบวก ไม่มีการรั่วไหลแบบ look-ahead ที่ตรวจพบได้ และเรื่องราวที่ฟังดูสมเหตุสมผล พวกเขาจะผิด และจะไม่รู้ตัวจนกว่า P&L ในการเทรดจริงจะเบี่ยงเบนออกไป — ช่องว่างระหว่างแบ็คเทสกับการเทรดจริง ที่ผลลบแบบซื่อสัตย์ไม่จำเป็นต้องอธิบายเลย เพราะมันไม่เคยถูกนำไปเทรดจริง คุณค่าของคำว่า ไม่ ที่ผ่านการพิสูจน์อย่างเข้มงวดวัดได้จากค่า drawdown ที่คุณไม่เคยต้องเผชิญ
ที่มาของข้อมูล
ตัวเลขทุกตัวในบทความนี้สืบย้อนกลับไปถึงโค้ด ไม่ใช่คำบรรยายลอยๆ การล่าหา edge แบบ cross-instrument — การโหลดข้อมูลห้าสัญลักษณ์ การแบ่งข้อมูลร่วมกัน objective แบบ median-across-symbols เมทริกซ์พอร์ตโฟลิโอแบบถ่วงน้ำหนักเท่ากันที่ป้อนเข้า gate — อยู่ใน scripts/edge_hunt_multitf.py (commit acd84e8) ในรีโพซิทอรี backtester เกณฑ์ทางสถิติที่มันเรียกใช้ — probabilistic และ deflated Sharpe, minimum track-record length, effective-N ผ่านการจัดกลุ่มแบบ ONC และ PBO ผ่าน CSCV ทั้งหมดถูกเขียนขึ้นเองตั้งแต่ต้นด้วย NumPy/SciPy อิงตามแหล่งข้อมูลปฐมภูมิ ไม่ใช่ไลบรารีแบบกล่องดำ — อยู่ใน scripts/overfit_gates.py (commit 7b966e1) ซึ่งมาพร้อม self-test ที่ปลูกฝัง edge ที่รู้ค่าแน่นอนลงใน noise ล้วนๆ แล้วยืนยันว่า gate ยอมให้ผ่านและปฏิเสธ noise ได้จริง การศึกษาสัญลักษณ์เดียวของ ETHUSDT ที่ให้ผล +16.35% อันล่อตาล่อใจนั้นมาจาก harness bench_search_multitf รุ่นก่อนหน้าที่การล่าครั้งนี้นำเข้ามาใช้แบบ read-only เท่านั้น ไม่มีตัวเลขใดในนี้ที่คำนวณด้วยมือ gate ใช้โค้ดพาธเดียวกันไม่ว่าคำตอบจะเป็นใช่หรือไม่ใช่
บทสรุปสำคัญ
- เรารันแบ็คเทสหลายหมื่นครั้งข้ามห้าเหรียญหลัก ทั้งแบบ dual- และ triple-timeframe และไม่พบ edge ที่แข็งแกร่งเลย — และนั่นคือผลลัพธ์ที่เครื่องมือนี้ถูกสร้างมาให้ผลิตออกมา ผลลบที่ถูกพิสูจน์อย่างเข้มงวดคือข้อค้นพบ ไม่ใช่ความล้มเหลว
- ตัวเลข out-of-sample ที่ดูสะอาดไม่ใช่ edge ผู้ชนะ ETHUSDT ทำได้ +16.35% แบบ out-of-sample และ +2.62% บน holdout ที่ไม่เคยถูกแตะต้อง โดยไม่มีการรั่วไหลแบบ look-ahead — แต่กลับถูก deflate เหลือ DSR 0.00 เมื่อนับรวมการทดลองราว 37,000 ครั้งที่อยู่เบื้องหลัง out-of-sample พิสูจน์ว่าไม่มี look-ahead แต่มีแค่การ deflate เท่านั้นที่พิสูจน์ว่าไม่มีผลจากการคัดเลือก
- False Strategy Theorem คือเหตุผล ที่การทดลองราว 30,000 ครั้ง ผลดีที่สุดของ noise ล้วนๆ จะอยู่สูงกว่าศูนย์ราวสี่ซิกมาเพียงเพราะการคัดเลือกล้วนๆ daily Sharpe ที่ 0.19 คือสิ่งที่ลอตเตอรีนั้นจ่ายพอดี คุณต้องเทียบผู้ชนะของคุณกับเพดาน noise ไม่ใช่กับศูนย์
- ความแข็งแกร่งอยู่ที่การข้ามเครื่องมือ ไม่ใช่แค่ข้ามเวลา การคัดเลือกด้วย ค่ามัธยฐานข้ามห้าสัญลักษณ์ เปลี่ยนภาพลวงตาของเหรียญเดียวให้กลายเป็นสิ่งที่วินิจฉัยได้: dual DSR 0.24 / PBO 0.264 triple DSR 0.14 / PBO 0.327 — ทั้งคู่ไม่ผ่านทั้งสองเกณฑ์ และ triple (พารามิเตอร์มากกว่า) แย่กว่า dual ในทุกเมตริก
- แกะแชมป์ดูก่อนที่จะเชื่อมัน แชมป์ "พอร์ตโฟลิโอ" แบบ triple-timeframe ทำกำไรได้ 1 ใน 5 สัญลักษณ์ (SOL +14.74%; ETH −0.39%, BTC −0.38%, BNB −8.58%, XRP −4.13%) และเป็นบวกบน holdout เพียง 1 ใน 5 เท่านั้น edge ที่อยู่บนเครื่องมือเดียวและเคลื่อนที่เมื่อคุณค้นหาใหม่ ไม่ใช่ edge — มันคือ overfit ที่สวมเสื้อคลุมของพอร์ตโฟลิโอ
- เผยแพร่ผลลบ เครื่องมือต่อต้าน overfitting — DSR, PBO/CSCV, effective-N, การคัดเลือกแบบ cross-instrument — คุ้มค่าที่จะมีไว้ก็เพราะบางครั้งมันบอกคุณว่า ไม่ และวินัยคือการรับฟังเมื่อมันบอกเช่นนั้น
กลยุทธ์ที่เราอยากให้ได้ผลมากที่สุดกลับไม่ได้ผล เครื่องมือที่เราสร้างขึ้นเพื่อจับสิ่งนี้บอกเราแบบนั้น ด้วยวิธีที่เป็นอิสระต่อกันถึงสี่ทาง ก่อนที่จะมีเงินแม้แต่ดอลลาร์เดียวตกอยู่ในความเสี่ยง นั่นคือประเด็นทั้งหมดของซีรีส์นี้ และนี่คือบทความที่ประเด็นนั้นได้ผลตอบแทนคืนมาจริง: เครื่องมือนี้พิสูจน์คุณค่าของมันในวันที่มันหยุดคุณ — ไม่ใช่ในวันที่มันเยินยอคุณ
ผู้เขียน
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.