รันหลายระบบแทนระบบเดียว: กระจายข้ามกลยุทธ์ให้ Drawdown ลดจริง ไม่ใช่ลดปลอม
สองระบบที่ได้เปรียบนิดเดียวแต่ไม่สัมพันธ์กัน ให้ Drawdown ต่ำกว่าระบบเดียวเกือบครึ่ง ดูสูตร จำนวนเดิมพันอิสระ การแบ่งความเสี่ยง และการกระจายปลอมจากพารามิเตอร์ใกล้กัน
- รวมสองระบบที่กำไรเฉลี่ยเท่ากัน ครึ่งต่อครึ่ง กำไรรวมเท่าเดิม แต่ความแกว่งเหลือ √((1 + ρ) ÷ 2) เท่า ยิ่ง ρ ต่ำ Drawdown ยิ่งเล็ก
- จำนวนเดิมพันอิสระจริงคือ N ÷ (1 + (N − 1)ρ) ถ้าทุกระบบสัมพันธ์กัน 0.3 ต่อให้มีร้อยระบบก็ได้ไม่เกิน 3.3 เดิมพัน
- ห้าเวอร์ชันของไอเดียเดียว (พารามิเตอร์ใกล้กัน) สัมพันธ์กันราว 0.8–0.9 นับได้แค่ราว 1.2 ระบบ ไม่ใช่ 5
- แบ่งความเสี่ยงให้แต่ละระบบแกว่งพอ ๆ กัน ไม่ใช่ lot เท่ากัน และวางแผนโดยคิดว่าวันตลาดตกใจ Correlation จะพุ่งขึ้น
ระบบเทรดที่ดีระบบเดียวก็ยังมีปีแย่ ทางที่คนทำระบบมืออาชีพใช้ลดความลึกของช่วงแย่ ไม่ใช่การหาระบบที่ไม่เคยแพ้ แต่คือการรัน หลายระบบที่แพ้คนละช่วงเวลา บทนี้จำลองให้เห็นว่ามันช่วยแค่ไหน ใช้สูตรอะไรวัด และทำไมการ “กระจาย” ส่วนใหญ่ที่เห็นกันเป็นของปลอม
ถ้ายังไม่คุ้นกับ Correlation (ρ ค่า −1 ถึง +1 ที่บอกว่าสองอย่างขยับไปด้วยกันแค่ไหน) อ่าน Correlation และความเสี่ยงของพอร์ต ก่อน บทนั้นพูดเรื่องถือหลายคู่เงิน บทนี้พูดเรื่องถือหลาย ระบบ
ทำไมสองระบบธรรมดา ดีกว่าระบบเดียวที่ดีเท่ากัน
สมมติระบบ A กับ B กำไรเฉลี่ยเท่ากัน ความแกว่งรายวัน (σ ส่วนเบี่ยงเบนมาตรฐานของกำไรขาดทุนรายวัน) เท่ากัน เราแบ่งทุนครึ่งต่อครึ่ง
- กำไรเฉลี่ยรวม = ½ × กำไร A + ½ × กำไร B = เท่าเดิม
- ความแกว่งรวมคิดจากสูตรในบท Correlation ได้
σ_รวม = σ × √((1 + ρ) ÷ 2)
ลองแทนค่า
- ρ = 0.9: √(1.9 ÷ 2) = √0.95 = 0.975 แทบไม่ลด
- ρ = 0.5: √0.75 = 0.866
- ρ = 0: √0.5 = 0.707 ลดลงราว 29%
- ρ = −0.3: √0.35 = 0.592
กำไรเท่าเดิมแต่ความแกว่งน้อยลง แปลว่าอัตราส่วนกำไรต่อความเสี่ยงดีขึ้น ซึ่งเป็นสิ่งเดียวที่ได้มาฟรีในการเทรด ไม่ต้องหาสัญญาณที่แม่นขึ้นเลย
จำลอง: สองระบบที่ได้เปรียบนิดเดียว
เราสร้างผลรายวันสมมติใน node ไม่ใช่ตลาดจริง
- แต่ละระบบ กำไรเฉลี่ยวันละ +0.03% ของทุนเริ่มต้น ความแกว่งวันละ 1% ความได้เปรียบเล็กมาก วันขาดทุนเกือบเท่าวันกำไร
- รัน 1,000 วันเทรด (ราว 4 ปี) คิดเป็น % ของทุนเริ่มต้น ไม่ทบต้น
- ชุดรวมใช้ครึ่งขนาดของแต่ละระบบ ทุนเท่ากับระบบเดียว
- สุ่ม 4,000 รอบต่อค่า ρ แต่ละค่า ใช้ตัวเลขสุ่มชุดเดียวกันทุกค่า ρ จึงเทียบกันได้ตรง ๆ
ผลค่ากลางของ 4,000 รอบ
| กำไรรวม | DD สูงสุด | กำไร ÷ DD | จบเป็นบวก | |
|---|---|---|---|---|
| ระบบเดียว | +29.1% | 26.3% | 1.10 | 82.5% |
| รวม ρ = −0.3 | +29.8% | 13.1% | 2.24 | 94.9% |
| รวม ρ = 0 | +29.7% | 16.7% | 1.76 | 91.4% |
| รวม ρ = 0.5 | +29.8% | 21.7% | 1.34 | 86.6% |
| รวม ρ = 0.9 | +29.2% | 25.7% | 1.14 | 83.2% |
สามเรื่องที่ตารางบอก
- กำไรไม่ได้เพิ่ม สิ่งที่ดีขึ้นคือกำไรต่อ Drawdown ซึ่งคล้ายแนวคิด Calmar ratio อ่านเรื่องอัตราส่วนพวกนี้ได้ที่ Sharpe, Sortino และ Calmar
- ρ = 0 ก็ช่วยมากแล้ว อัตราส่วนกำไรต่อ DD ขึ้นจาก 1.10 เป็น 1.76 ราว 60% โดยไม่ต้องหาระบบที่ดีขึ้นเลย
- ρ = 0.9 แทบเท่าระบบเดียว DD ลดจาก 26.3% เหลือ 25.7% เท่านั้น สองระบบที่สัมพันธ์กันสูงคือระบบเดียวที่จ่ายค่าดูแลสองเท่า
DD ลดเร็วกว่าความแกว่งเล็กน้อย (ที่ ρ = 0 ความแกว่งเหลือ 0.707 เท่า แต่ DD เหลือ 16.7 ÷ 26.3 = 0.635 เท่า) เพราะกำไรเฉลี่ยเท่าเดิมขณะที่เสียงรบกวนเล็กลง แนวโน้มจึงชนะการสุ่มได้เร็วขึ้น
จำนวนเดิมพันอิสระ: ตัวเลขที่ควรนับแทนจำนวนระบบ
ถ้ามี N ระบบ เสี่ยงเท่ากัน และทุกคู่สัมพันธ์กันเฉลี่ย ρ จำนวนเดิมพันที่อิสระจริง ๆ คือ
N_จริง = N ÷ (1 + (N − 1) × ρ)
| ρ เฉลี่ย | 5 ระบบ | 10 ระบบ | 20 ระบบ | เพดาน (ระบบไม่จำกัด) |
|---|---|---|---|---|
| 0 | 5.00 | 10.00 | 20.00 | ไม่จำกัด |
| 0.3 | 2.27 | 2.70 | 2.99 | 3.33 |
| 0.5 | 1.67 | 1.82 | 1.90 | 2.00 |
| 0.9 | 1.09 | 1.10 | 1.10 | 1.11 |
คอลัมน์สุดท้ายคือสิ่งที่คนส่วนใหญ่ไม่รู้ เมื่อ N ใหญ่มาก สูตรเข้าใกล้ 1 ÷ ρ ถ้าทุกระบบสัมพันธ์กัน 0.3 ต่อให้รันร้อยระบบ ก็ได้ไม่เกิน 3.3 เดิมพันอิสระ การเพิ่มระบบที่คล้ายของเดิมเกินจุดหนึ่งจึงได้แค่งานดูแลเพิ่ม อัตราส่วนผลตอบแทนต่อความแกว่งดีขึ้นราว √N_จริง เท่า ดูตัวอย่างหลายตลาดได้ใน งานวิจัยการตามเทรนด์
สูตรนี้สมมติให้ทุกระบบเสี่ยงเท่ากันและ ρ ทุกคู่เท่ากัน ใช้เป็นตัวเลขคร่าว ๆ ถ้าความเสี่ยงไม่เท่ากัน จำนวนจริงจะน้อยกว่านี้
กระจายสามแกน: แนวคิด, Timeframe, ตลาด
ระบบสองตัวจะสัมพันธ์กันต่ำได้ ก็ต่อเมื่อมันได้เงินจาก เหตุการณ์คนละแบบ
- แนวคิด ระบบตามเทรนด์ได้เงินตอนราคาวิ่งไกล ระบบเล่นกลับตัว (Mean reversion) ได้เงินตอนราคาแกว่งกลับเข้าหาค่าเฉลี่ย ปีที่ตลาดวิ่งเป็นเส้นตรงกับปีที่ตลาดแกว่งในกรอบ จึงให้ผลกลับด้านกัน วิธีวัดว่าตลาดช่วงไหนมีนิสัยแบบไหน ดู Hurst exponent และ Market regime
- Timeframe ไอเดียเดียวกันบนรอบเวลาต่างกันมาก จับคลื่นคนละขนาด สัมพันธ์กันแค่บางส่วน
- ตลาด ตามเทรนด์บนทองกับบนดัชนีหุ้น ขึ้นกับปัจจัยคนละชุด แต่ห้าคู่เงินที่มี USD เป็นตัวร่วม ยังเป็นเดิมพันดอลลาร์ก้อนเดียว
เราวัดให้ดูบนราคาจำลองชุดเดียว 2,000 แท่ง (มีช่วงเทรนด์ขึ้น ลง และไม่มีเทรนด์สลับกันแบบสุ่ม) ระบบตามเทรนด์ใช้กฎ SMA เร็วตัด SMA ช้า (อยู่บนเส้นช้า = ถือ Buy, อยู่ใต้ = ถือ Sell) ระบบ MR ถือสวนเมื่อราคาห่างจาก SMA 10 เกิน 1 ส่วนเบี่ยงเบนมาตรฐาน แล้ววัด Correlation ของผลรายแท่ง 1,799 แท่ง
กระจายปลอม: ห้าเวอร์ชันของไอเดียเดียว
ทางลัดที่คนทำ EA ชอบใช้ คือเอาระบบที่ใช้ได้มาปรับพารามิเตอร์เป็นห้าชุด แล้วรันพร้อมกันเรียกว่า “พอร์ตห้าระบบ” ตัวเลขจากรูปบอกว่าไม่ใช่
- Correlation เฉลี่ยของ 10 คู่ในห้าเวอร์ชัน = 0.83
- N_จริง = 5 ÷ (1 + 4 × 0.83) = 5 ÷ 4.32 = 1.16 ระบบ
- ตรวจด้วยความแกว่ง: ระบบ 20/50 ตัวเดียวแกว่งแท่งละ 1.01% ค่าเฉลี่ยห้าเวอร์ชันแกว่ง 0.94% ลดแค่ 7% ถ้าห้าตัวอิสระจริงจะเหลือ 1.01 × √(1/5) = 0.45%
การเฉลี่ยพารามิเตอร์ใกล้กันมีประโยชน์จริงอยู่หนึ่งอย่าง คือไม่ต้องเดิมพันว่าค่าเดียวที่เลือกจะเป็นค่าที่ดีที่สุด ช่วยลดความเสี่ยงจากการเลือกยอดแหลม (Overfitting: ยอดแหลมกับที่ราบ) แต่ไม่ได้ลดความเสี่ยงจากตลาด ปีที่ไอเดียนี้แพ้ ทั้งห้าเวอร์ชันแพ้พร้อมกัน
อีกเรื่องที่รูปบอก ระบบ MR ติดลบกับกลุ่มตามเทรนด์ แต่บนราคาจำลองชุดนี้ MR ไม่มีความได้เปรียบ (จบที่ −2.9%) เพราะเราไม่ได้ใส่นิสัยแกว่งกลับลงในราคาเลย ใส่ระบบนี้เข้าพอร์ต ความแกว่งลดจริง แต่กำไรก็ถูกหักไปด้วย
Correlation ต่ำคือเงื่อนไขที่ต้องมี แต่ยังไม่พอ ทุกระบบในพอร์ตต้องได้เปรียบด้วยตัวเองก่อน ไม่อย่างนั้นแค่จ่ายค่า spread เพื่อหักล้างระบบที่ดี
ทำไม Correlation พุ่งตอนตลาดตกใจ
ค่า ρ ที่วัดจากช่วงปกติมักต่ำกว่าวันที่สำคัญที่สุด เราจำลองสองระบบ 200,000 วัน
- 95% ของวันเป็นวันปกติ สองระบบอิสระต่อกัน (ρ = 0) แกว่ง 1 หน่วย
- 5% เป็นวันตลาดตกใจ แกว่ง 3 เท่า และ ρ = 0.9 เพราะทุกอย่างขยับตามปัจจัยเดียวกัน
ผลที่วัดได้
- ถ้าวัดเฉพาะวันปกติ ρ ≈ 0.00 ดูเหมือนกระจายสมบูรณ์
- วัดทั้งช่วง ρ = 0.29 ตรงกับสูตร (0.05 × 0.9 × 9) ÷ (0.95 + 0.05 × 9) = 0.405 ÷ 1.4 = 0.289
- ใน 5% วันที่แย่ที่สุดของระบบ A ระบบ B อยู่ใน 5% วันแย่ที่สุดของตัวเองด้วย 24.7% ของครั้ง ถ้าอิสระจริงควรเป็น 5%
แปลว่า ρ เฉลี่ยทั้งช่วงยังซ่อนความเสี่ยงไว้ ต้องดูด้วยว่า ในวันที่ระบบหนึ่งเสียหนัก อีกระบบทำอะไร กลไกในตลาดจริงคือการเรียกหลักประกันและการเทขายพร้อมกัน อธิบายไว้ใน Risk-on Risk-off ระบบที่ถือไม้ข้ามคืนพร้อมกันหลายตัวยังเจอ Gap วันจันทร์ ทีเดียวพร้อมกันทุกตัวได้
แบ่งความเสี่ยง: lot เท่ากันไม่ใช่ความเสี่ยงเท่ากัน
ตัวอย่างสมมติ ระบบตามเทรนด์ T ที่ 0.10 lot แกว่งวันละ 150 ดอลลาร์ ระบบ M ที่ 0.10 lot แกว่งวันละ 50 ดอลลาร์ ทั้งสองได้เปรียบคุณภาพเท่ากัน (กำไรเฉลี่ยต่อวัน = 0.03 × ความแกว่ง) ρ = 0
lot เท่ากัน 0.10 กับ 0.10
- กำไรเฉลี่ย = 0.03 × 150 + 0.03 × 50 = 4.5 + 1.5 = 6.00 ดอลลาร์ต่อวัน
- ความแกว่งรวม = √(150² + 50²) = 158.1 ดอลลาร์
- กำไรต่อความแกว่ง = 6.00 ÷ 158.1 = 0.0379
- ระบบ T คุมความแกว่งของพอร์ต 150² ÷ (150² + 50²) = 90% พอร์ตนี้คือระบบ T ที่มีของประดับ
ความเสี่ยงใกล้กัน T 0.07 lot, M 0.22 lot
- ความแกว่ง T = 105, M = 110 ดอลลาร์
- กำไรเฉลี่ย = 0.03 × (105 + 110) = 6.45 ดอลลาร์ต่อวัน
- ความแกว่งรวม = √(105² + 110²) = 152.1 ดอลลาร์
- กำไรต่อความแกว่ง = 0.0424 ดีกว่าแบบ lot เท่ากัน 12% และพอร์ตแกว่งน้อยกว่าด้วย
วิธีหาความแกว่งของแต่ละระบบจากผลทดสอบ ใช้ส่วนเบี่ยงเบนมาตรฐานของกำไรขาดทุนรายวันจากรายงาน หรือวิธีง่ายกว่า ตั้ง lot ให้ Equity drawdown สูงสุดของแต่ละระบบใกล้กัน (Drawdown อ่านยังไง) อยากเสี่ยงมากขึ้น ให้คูณทั้งชุดเท่ากัน อย่าดันตัวเดียว
Rebalancing: ดึงสัดส่วนกลับ
ถ้าแต่ละระบบเสี่ยงเป็น % ของ equity รวมบัญชีเดียวกัน สัดส่วนจะปรับเองตลอด ไม่ต้องทำอะไร ปัญหาเกิดเมื่อแยกเงินให้แต่ละระบบ
ตัวอย่าง แบ่ง 10,000 ดอลลาร์ ระบบละ 5,000 ผ่านไปหนึ่งไตรมาส A เป็น 7,000 (+40%) B เป็น 4,500 (−10%)
- รวม 11,500 สัดส่วน A = 7,000 ÷ 11,500 = 60.9% B = 39.1%
- ถ้าปล่อยไว้ พอร์ตค่อย ๆ กลายเป็นระบบ A ตัวเดียว ประโยชน์จากการกระจายหายไป
- Rebalance กลับเป็น 5,750 กับ 5,750
กติกาที่ใช้กันทั่วไป ทำตามรอบเวลา (เช่นทุกไตรมาส) หรือเมื่อสัดส่วนเบี้ยวเกินเกณฑ์ที่ตั้งไว้ล่วงหน้า (เช่นเกิน 10 จุด %) ตัวเลขเหล่านี้เป็นหลักคร่าว ๆ ไม่ใช่ค่าที่ดีที่สุด
ข้อควรระวัง Rebalance คือการย้ายเงินจากตัวที่ชนะไปให้ตัวที่แพ้ ทำได้เมื่อการแพ้นั้นยังอยู่ในกรอบที่ผลทดสอบบอกไว้ ไม่ใช่ระบบพัง ต้องตั้งเกณฑ์ปลดระบบไว้ก่อน เช่น Drawdown เกินกรอบที่ Monte Carlo ให้ไว้ อย่าตัดสินจากความรู้สึกช่วงแพ้ และอย่าสับสนกับการปิดเปิดระบบตาม equity ซึ่งเป็นอีกเรื่อง (Equity curve trading)
สิ่งที่เราเห็นในการทดสอบย้อนหลังของเรา
ในการทดสอบย้อนหลังของเรา บนทองคำ XAUUSD มกราคม 2022 ถึงกรกฎาคม 2026 รันแยกทีละเดือน 55 เดือน เริ่มทุน 3,000 ดอลลาร์ทุกเดือน ปี 2026 ใช้ข้อมูล tick จริง ส่วนปี 2022–2025 ใช้ tick ที่สร้างจากข้อมูลแท่ง 1 นาที เราเทียบสองระบบที่ตรรกะต่างกันมาก ระบบหนึ่งถือไม้นานหลายวัน อีกระบบเป้าใกล้ ปิดไม้เร็ว
- Correlation ของผลรายเดือน = 0.074 แทบเป็นศูนย์
- ระบบถือนานเดือนที่เป็นบวก 60.0% ระบบปิดเร็ว 81.8%
- ใน 22 เดือนที่ระบบถือนานขาดทุน (รวม −3,121 ดอลลาร์) ระบบปิดเร็วเป็นบวก 20 เดือน ได้ +1,297 ชดเชยราว 42%
- รันคู่กัน เดือนที่เป็นบวกขึ้นจาก 60.0% เป็น 67.3% เดือนที่แย่ที่สุดดีขึ้นจาก −487 เป็น −406 ดอลลาร์
ข้อจำกัดที่ต้องรู้ การหั่นเป็นรายเดือนทำให้ระบบที่ถือหลายวันเสียเปรียบ เพราะไม้ที่ยังเปิดถูกตัดตอนสิ้นเดือน lot สองระบบไม่ได้ปรับให้เสี่ยงเท่ากัน ทั้งคู่อยู่บนตลาดเดียว จึงไม่ได้กระจายข้ามตลาด และข้อมูล tick ปีเก่าไม่ใช่ tick จริง (คุณภาพข้อมูล tick) ผลชุดห้าระบบของเราดูได้ใน บท Correlation นี่คือผลทดสอบย้อนหลัง ผลในอดีตไม่ได้บอกผลในอนาคต และผลจริงมักต่ำกว่า (ทำไมผลจริงต่างจาก Backtest)
ใช้จริงใน 6 ขั้น
- ทดสอบแต่ละระบบให้ผ่านเดี่ยว ๆ ก่อน มีจำนวนไม้พอ (ต้องมีกี่ไม้) ระบบที่ไม่ผ่านไม่ได้กลายเป็นดีเพราะอยู่ในพอร์ต
- ส่งออกผลรายวัน ของทุกระบบในช่วงเวลาเดียวกัน วันที่ไม่มีไม้ใส่ 0
- คำนวณ Correlation ทุกคู่ ด้วย CORREL ในสเปรดชีต ระบบที่เกินราว 0.7 กับตัวที่มีอยู่ ให้เลือกเก็บตัวเดียว
- ดูวันแย่ กรองเฉพาะ 5–10% วันที่แย่ที่สุดของแต่ละระบบ แล้วดูว่าอีกตัวทำอะไร
- ตั้ง lot ให้ความเสี่ยงใกล้กัน แล้วรันชุดรวมในตัวทดสอบ เทียบ Drawdown รวมกับผลบวกของ Drawdown แต่ละตัว ถ้าใกล้กันมาก แปลว่ากระจายได้น้อย
- ตั้งเพดานความเสี่ยงที่เปิดอยู่รวมทั้งบัญชี โดยคิดว่าวันตลาดตกใจ ทุกระบบอาจเสียพร้อมกัน แล้วกำหนดรอบ Rebalance และเกณฑ์ปลดระบบไว้ล่วงหน้า
ข้อผิดพลาดที่เจอบ่อย
- นับจำนวนระบบแทนจำนวนเดิมพันอิสระ ห้าระบบที่ ρ 0.8 คือราวหนึ่งระบบ ใช้ N ÷ (1 + (N − 1)ρ) เช็กทุกครั้ง
- กระจายด้วยพารามิเตอร์ ปรับค่าเส้นนิดหน่อยแล้วเรียกเป็นระบบใหม่ ได้แค่ลดความเสี่ยงจากการเลือกค่า ไม่ได้ลดความเสี่ยงจากตลาด
- ใส่ระบบที่ขาดทุนเพราะ ρ ติดลบ ลดความแกว่งได้จริง แต่ลดกำไรด้วย
- lot เท่ากันทุกระบบ ระบบที่แกว่งแรงสุดคุมทั้งพอร์ต
- เชื่อ ρ จากช่วงตลาดสงบ วัดใหม่เป็นระยะ และวางแผนกรณีเลวร้ายโดยคิดว่า ρ เข้าใกล้ 1
- Rebalance เข้าระบบที่พังแล้ว ต้องมีเกณฑ์ปลดระบบที่ตั้งไว้ก่อนเริ่ม ไม่ใช่ตั้งตอนกำลังแพ้
คำถามที่พบบ่อย
ต้องมีกี่ระบบถึงพอ
ไม่มีตัวเลขตายตัว สิ่งที่นับคือจำนวนเดิมพันอิสระ ไม่ใช่จำนวนระบบ สองหรือสามระบบที่ Correlation ของผลรายวันต่ำกว่าราว 0.3 และแต่ละตัวมีความได้เปรียบของตัวเอง ช่วยได้มากกว่าสิบระบบที่คล้ายกัน ถ้าเพิ่มระบบใหม่แล้วจำนวนเดิมพันอิสระแทบไม่ขยับ ระบบนั้นไม่ได้เพิ่มความหลากหลาย
ใส่ระบบที่ Correlation ติดลบแต่ขาดทุนเข้าไป จะช่วยลด Drawdown ไหม
ลดความแกว่งได้ แต่ก็กินกำไรไปด้วย ระบบที่ไม่มีความได้เปรียบคือการจ่ายค่า spread เพื่อหักล้างระบบที่ดี Correlation ต่ำเป็นเงื่อนไขที่ต้องมี แต่ยังไม่พอ ทุกระบบในพอร์ตต้องผ่านการทดสอบของตัวเองก่อน
ควรรันทุกระบบในบัญชีเดียวหรือแยกบัญชี
บัญชีเดียวทำให้ Drawdown รวมเล็กกว่าผลบวกของแต่ละตัวจริง เพราะช่วงแย่ไม่มาพร้อมกัน แต่ต้องตั้งเพดานความเสี่ยงที่เปิดอยู่รวม ระบบที่เสี่ยงสูงหรือยังไม่ผ่านการทดสอบนาน ควรแยกไปบัญชีอื่น เพื่อไม่ให้ตัวเดียวคุมผลทั้งบัญชี
เนื้อหานี้เป็นความรู้ทั่วไป ไม่ใช่คำแนะนำการลงทุน การเทรดมีความเสี่ยง อาจสูญเสียเงินลงทุนทั้งหมด