หรือ: ผมทดสอบแพทเทิร์นกราฟชื่อดัง 9 อันแล้วประกาศว่ามันตายหมด แล้วก็พบว่าผมทดสอบมันผิดวิธี — และอะไรรอดมาได้เมื่อทดสอบถูก
ผมอยากเล่าถึงสัปดาห์ที่น่าอับอายที่สุด — และให้บทเรียนมากที่สุด — ในการทำวิจัยเชิงปริมาณ มันเกิดขึ้นเมื่อสัปดาห์ที่แล้วครับ
ฉบับนี้จะพูดถึงเรื่องที่ง่ายแค่ไหนที่จะหลอกตัวเองว่าได้พบอะไรใหม่ และเหตุผลว่าทำไม "ความเข้มงวดทางวิทยาศาสตร์" ไม่ใช่ "ความตื่นเต้น" ที่ทำให้ระบบเทรดดิ้งคืบหน้าจริง
จุดเริ่มต้น: ผมเขียน "list ของแพทเทิร์นที่ล้มเหลว"
ตลอดหลายสัปดาห์ผมได้ backtest แพทเทิร์นกราฟ 9 อันที่อยู่ในกล่องเครื่องมือของเทรดเดอร์ทุกคน:
- VCP (Volatility Contraction Pattern ของ Mark Minervini)
- Cup-with-Handle (William O'Neil)
- Flat Base (O'Neil)
- Holy Grail re-entry (Linda Raschke)
- Komar's Blue Dot (RS-line ทำ new high)
- Pradeep Bonde Momentum Burst
- Turtle Soup (Raschke)
- ACD ของ Mark Fisher
- Shelf-Breakout (หลายผู้เขียน)
สำหรับแต่ละอัน ผมถามว่า: แพทเทิร์นนี้ทำกำไรรวมเท่าไหร่ Win rate เท่าไหร่ ผู้ชนะใหญ่เกิน 20% มีกี่ตัว
คำตอบน่าผิดหวัง แพทเทิร์นส่วนใหญ่ผลิตผู้ชนะใหญ่แทบไม่ได้เลยในข้อมูลสหรัฐฯ 36 ปี ส่วนใหญ่ขาดทุนเฉลี่ย
ผมเขียนสรุปทุกอันว่าเป็น "การจำลองทางกลที่ล้มเหลว" และเดินหน้าต่อ Memory ของโปรเจกต์เก็บไว้เป็น "9-pattern fail list"
ผมคิดผิดทั้ง 9 อัน ไม่ใช่เพราะแพทเทิร์นเวิร์ค — แต่เพราะ ผมตั้งคำถามผิด
คำท้วงจากผู้อ่าน
"Mark Minervini บอกว่าความเสี่ยงคือสิ่งที่เราตั้งได้ ดังนั้น VCP คือจุด pivot ที่เข้าได้ด้วยความเสี่ยงน้อยที่สุด เขาใช้สิ่งนี้เพื่อ leverage: ชนะใหญ่ แพ้น้อย Win rate ไม่ใช่สิ่งที่เขาวัด การทำซ้ำๆ อย่างนี้สะสมผลตอบแทนให้เขาเอง"
ผู้อ่านพูดถูก ผมกลับไปอ่าน Trade Like a Stock Market Wizard บทที่ 3 ของ Minervini Minervini ไม่ได้บอกว่า VCP "ทำนาย" breakout เขาบอกว่ามันให้จุด pivot ที่ tight เพื่อ R-multiple expectancy แบบ asymmetric
ประเด็นต่างกัน ตัววัดต่างกัน การทดสอบต่างกัน
หลักการเดียว
พอเห็นเรื่อง VCP แล้ว ผมก็เห็นทุกที่:
แพทเทิร์นกราฟทุกแบบคือ กลไกบีบความเสี่ยง ไม่มีอันไหนทำนายทิศทาง ทุกอันบอกว่า stop ควรอยู่ตรงไหน
หางของ Cup-with-Handle ให้ stop ที่ใกล้กว่าก้นถ้วย นั่นคือเหตุผลทั้งหมดที่หาง matter
Flat Base ให้ตั้ง stop ใต้พื้น 2 cents แทน 7% นั่นคือเหตุผลที่เทรดเดอร์รัก Flat Base
First Pullback ลงไปแตะ MA 21 วัน ให้ stop 3% แทน 8% นั่นคือเหตุผลที่ first pullback จ่ายผลตอบแทน
รูปทรงไม่ใช่หลัก ข้อมูลทางโครงสร้างต่างหาก
คณิตศาสตร์ R-multiple บนกระดาษกาแฟ
เทรด 2 ครั้ง หุ้นเดียวกัน เข้าราคาเดียวกัน ผลลัพธ์เหมือนกัน (วิ่งขึ้น 30%) Stop ต่างกัน:
| Stop | Risk ต่อหุ้น | จำนวนหุ้น (1% ของ $100K) | กำไรเมื่อ +30% | R-multiple |
|---|---|---|---|---|
| 7% (base กว้าง) | $7 บนหุ้น $100 | 142 | $4,200 | 4.2R |
| 3% (VCP / tight) | $3 บนหุ้น $100 | 333 | $9,900 | 9.9R |
เทรดเดียวกัน บัญชีเดียวกัน ผลลัพธ์เดียวกัน — R มากกว่า 2.4 เท่า เพียงเพราะ stop ใกล้กว่า
นี่คือคันโยกที่ Minervini ใช้ชนะแชมป์ U.S. Investing Championships 3 ครั้ง ไม่ใช่การจำแพทเทิร์น แต่คือการบีบ stop บนหุ้นผู้นำ × คณิตศาสตร์ R-multiple × การทำซ้ำ
ผมสร้าง backtester ใหม่ ทดสอบด้วยตัววัดที่ถูก
ผมเขียน pattern_branch ใหม่รอบมุมมองใหม่:
1. Universe: เฉพาะหุ้น RS Rating ≥ 80 และ RS Line ขึ้น (กรองตาม William O'Neil) 2. Stops: ดึงจากโครงสร้างแพทเทิร์น ไม่ใช่ -7% ตายตัว 3. ขนาดโพซิชัน: 1% ของบัญชี ÷ (entry − stop) — ยิ่งแพทเทิร์น tight ยิ่งโพซิชันใหญ่ 4. เพดาน: -7% (Komar) ถ้าโครงสร้างบอกกว้างกว่า → ไม่เทรด 5. ตัววัด: R-multiple expectancy ไม่ใช่ win rate 6. Regime gate: PTJ 200d veto + Weinstein Stage 2 (price > MA 30 สัปดาห์, MA ขึ้น)
แล้วรัน 6 detector (consolidation, first-pullback, failed-reentry, VCP, cup-with-handle, flat base) บน 24 จุดทดสอบปลายเดือน 2024-2025
ผลลัพธ์น่าตื่นเต้น ทั้ง 6 แพทเทิร์นกลับจากลบเป็นบวก:
- flat_base: +1.71R / 54.5% WR
- consolidation_breakout: +1.36R
- VCP: +1.20R
- cup_with_handle: +0.82R
- failed_reentry: +0.36R
- first_pullback: +0.31R
ผมเกือบจะเขียนว่า "9-pattern fail list ถูกหักล้างทั้งหมด" และส่งให้คุณอ่าน
แล้ว Council มาถล่มผม
ผมมีนิสัย — เมื่อผลลัพธ์รู้สึกดีเกินไป ผมจะรันผ่าน council ของ persona ที่จำลองตาม Simons, Munger, Minervini, Tharp, Grimes, O'Neil, Webster และคนอื่น หน้าที่พวกเขาคือหาสิ่งที่ผมพลาด
พวกเขาฉีกผมเป็นชิ้นๆ
Simons: "Sample size เล็กเกินไป อะไรที่ n<100 น่าสงสัย แล้วคุณยังปรับ parameter detector หลังเห็นผล — นั่นคือ curve-fitting คุณทดสอบในระบอบเดียว — 2024-2025 เป็น bull market รัน walk-forward 7-window ผ่านหลายระบอบ"
Munger (inversion): "อะไรที่ฆ่าระบบนี้? Look-ahead bias ใน universe ของคุณ (คุณใช้ RS data ปัจจุบันที่มีแต่ผู้รอดชีวิต) Concurrent positions ที่ correlated drawdown Late-cycle bias"
Grimes: "5/7 windows คือ pass mark แต่ compute binomial t-stat Bootstrap CI ความเสถียรของ MFE capture per-window"
Tharp: "Compute SQN ระดับ portfolio ระดับ per-trade เข้าใจผิดได้"
Ang: "Drawdown สูงสุด 5%/เดือน ไม่งั้น discipline พัง Compute monthly DD"
ผมก็ทำหมด
อะไรรอดผ่านความเข้มงวด
7-window walk-forward, 2020-2025, point-in-time universe (ไม่มี survivorship), regime filter, bootstrap CI per window, monthly DD audit, 5 ระบอบ bear ที่ทดสอบ:
| Pattern | Walk-forward windows ที่บวก |
|---|---|
| failed_reentry | 5/7 ✅ |
| first_pullback | 4/7 |
| flat_base | 3/7 (เป็น bull-only — พังใน COVID + 2022) |
| cup_with_handle | 1/7 |
| consolidation_breakout | 1/7 |
| vcp | 0/7 (sample เล็ก + ไม่มี window บวกเลย) |
มีแค่ 1 ใน 6 ผู้ชนะ in-sample ที่รอดการทดสอบ OOS failed_reentry — แพทเทิร์นของ Oliver Kell ที่ว่า "ผู้ชนะใหญ่ที่สุดต้องลอง 2-3 ครั้ง" — เป็นอันเดียวที่เวิร์คข้ามระบอบ
อีก 5 อันเป็น in-sample artifact รวมถึง flat_base ที่เคยอยู่อันดับ 1 ที่ +1.71R
เขียนยากครับ แต่นี่คือความจริง
ผู้ใช้เตือนผม: "exit and money management สำคัญพอๆ กับ entry"
ผมหมกมุ่นกับ entry มากเกินไป เขาชี้คณิตศาสตร์: แม้แต่ failed_reentry ที่ผ่าน OOS จับได้แค่ 6% ของ MFE เฉลี่ย (MFE +1.94R จับได้แค่ +0.12R) ผมตัดผู้ชนะเร็วเกินไป
ผมเลยสร้าง 9 exit strategy — MA21 trail, MA50 trail, ATR-band trail, Chandelier, Minervini partial-take, สรุป 8 sell rules ของ O'Neil, exit ตาม Power Trend ของ Webster — และทดสอบทั้งหมดบน entry เดียวกัน
ผลลัพธ์เปลี่ยนภาพอีกครั้ง:
first_pullback × Webster Power Trend exit เปลี่ยนจาก 4/7 windows (FAIL) ด้วย MA21 default เป็น 5/7 (PASS) ด้วยกฎของ Webster "exit เมื่อ index 21EMA ตัด 50SMA ลง" Cumulative R: +203 ใน 6 ปี Exit ของ Webster ตัดความสูญเสียในตลาด bear 2022 จาก -12R เป็น +1.5R ตรงๆ เพราะมันออกจากตลาดทันทีที่ trend ตาย
failed_reentry × Minervini partial_2r_ma21 ยืน 5/7 ด้วยปรัชญา exit ที่ต่างกันสิ้นเชิง — ขาย 50% ที่ 2R, ส่วนที่เหลือ trail ที่ MA21
Entry สองอันต่างกัน Exit สองอันต่างกัน ทั้งคู่ผ่าน Simons Correlation ของ monthly returns: ρ = -0.14 — diversification จริง
Honest scorecard
หลังจากทำงานราว 50 ชั่วโมงในหนึ่งสัปดาห์:
- 6 แพทเทิร์น "rescue" ในตอนแรกด้วย R-multiple lens (in-sample)
- 2 แพทเทิร์นรอด 7-window walk-forward (out-of-sample, 6 ปี, 5 bear)
- ทั้งคู่ขึ้นอยู่กับ exit ที่ถูก — entry เดียวกันด้วย exit ผิด FAIL OOS
- Bootstrap CI ข้าม windows: ส่วนใหญ่ของแต่ละ window เป็น noise; signal อยู่ใน 2-3 windows จาก 7
- Single-window dominance: +203R ของ first_pullback มาจาก W5 (recovery 2023) ครึ่งหนึ่ง ถ้าตัด W5 ระบบบวกแค่นิดเดียว
- Live config locked: 50/50 ensemble, 0.5% risk ต่อเทรด, 5 concurrent max, kill_switch wired
คาดหวัง: ~21% CAGR / ~21% max drawdown / portfolio SQN 2.33 ใน backtest ผลจริงจะต่างกัน
5 บทเรียนที่อยากให้คุณได้
1. ทดสอบคำกล่าวจริงของผู้สร้าง ไม่ใช่การตีความของคุณ Minervini ไม่ได้บอก "VCP ทำนาย breakout" เขาบอก "VCP ให้ R-multiple แบบ asymmetric ผ่าน stop ที่ tight" คำกล่าวต่าง การทดสอบต่าง
2. Win rate เป็น vanity metric แพทเทิร์น 3 อันที่ผมทดสอบมี WR 60-70% แต่ E[R] ติดลบ แพทเทิร์น 3 อันที่ผมเคย label "ล้มเหลว" มี WR 20-30% แต่ E[R] เป็นบวก บัญชีคุณสนใจ E[R] ไม่ใช่ WR
3. In-sample tuning ไม่ใช่ validation มันคือขั้นแรก Walk-forward 7-window ที่ freeze parameter คือ bar จริง
4. Entry คือ 1 ใน 3 แกน Exit และ money management สำคัญพอกัน Entry เดียวกันด้วย exit ต่างให้ E[R] ต่าง 2-6 เท่าในการทดสอบของผม MA50 trail ชนะ MA21 trail บน 4 ใน 5 แพทเทิร์น Power Trend exit ของ Webster ตัดความสูญเสีย bear ลงมาก
5. แพทเทิร์นใช้ได้กับผู้นำ ไม่ใช่ผู้ตาม Stop tight จ่ายเฉพาะหุ้นที่วิ่ง 5R-20R เท่านั้น มีแต่หุ้นผู้นำ RS ที่วิ่งไกลขนาดนั้น Universal pre-filter ไม่ใช่ negotiable
ทิศทางต่อจากนี้
ผมจะไม่ deploy ทุนจริงบนระบบนี้จนถึง พฤศจิกายน 2026 หลังพีเรียด paper-trade 6 เดือน ผล walk-forward น่าสนใจแต่ไม่กันกระสุน — มีเพียง 2-3 ใน 7 OOS windows ที่ statistically significant ผลจริงจะต่างกัน
ต่อไป: - failed_reentry × Minervini partial-take: paper จากตอนนี้ → พฤศจิกายน - first_pullback × Webster Power Trend exit: paper จากตอนนี้ → พฤศจิกายน - ทั้งคู่ที่ 0.5% risk ต่อเทรด, 5 concurrent positions max - Kill switch ที่ 5%/8%/12% drawdown tier (กฎ discipline ของ Clement Ang)
ผมจะเผยแพร่ trade journal รายสัปดาห์ให้คุณติดตามได้ ฉบับหน้าจะพูดเรื่อง money management — คำนวณขนาด, scale in เมื่อไหร่, exit เร็วเมื่อ portfolio drawdown
หมายเหตุเรื่องความตรงไปตรงมา
ผมสับสนเรื่องนี้ทั้งหมดมาหลายเดือน อยากชัดเจนเรื่องสิ่งที่เกิดขึ้น เพราะ meta-lesson สำคัญกว่าบทเรียนเทรด:
ผมสับสนการทดสอบ methodology กับการทดสอบ "การตีความ methodology ของผม" ผมประกาศแพทเทิร์น "ล้มเหลว" ทั้งที่จริงๆ การทดสอบของผมล้มเหลว แล้วผมแก้การทดสอบ พบ 6 ผู้ชนะ และเกือบจะส่งให้คุณ Council critique บังคับให้ผมรัน walk-forward ที่ถูกต้อง — และผู้ชนะส่วนใหญ่หายไป
ระบบที่รอดคือ failed_reentry × Minervini partial-take exit และ first_pullback × Webster Power Trend exit ไม่ใช่เพราะมันทำนายว่าหุ้นจะไปทางไหน แต่เพราะมันให้ผมตั้ง stop ที่ tight ในโครงสร้างคุณภาพสูงบนหุ้นผู้นำ และออกเมื่อ trend ใหญ่ตาย ตลาดจัดการที่เหลือเอง
ตามรอย ศึกษา รอจังหวะ จู่โจม
กราฟคือแผนที่ความเสี่ยง
ที่เหลือตลาดจัดการเอง
MOEasymmetry · ฉบับที่ 3 · 25 พฤษภาคม 2026 งานวิจัยเชิงปริมาณบนหุ้นไทย+สหรัฐฯ ไม่ใช่คำแนะนำการลงทุน
การอ้างอิง methodology ในฉบับนี้: SEPA ของ Minervini, CANSLIM ของ O'Neil, Power Trend ของ Webster, R-multiples ของ Tharp, หลักการ contraction ของ Komar ระบบทั้งหมดผ่าน 7-window walk-forward 2020-2025 (รวม 2022 bear) Live deployment รอ 6 เดือน paper trade