กลยุทธ์
ตะกร้า Absolute-Momentum แบบทิศทางสุทธิที่ใช้การบรรจบกันของกรอบเวลาคู่ ครอบคลุมสินทรัพย์หลักสภาพคล่องสูง (Long-Short, Binance USD-M, แนวโน้ม 60d+120d สอดคล้องกันรายขา, เป็นกลางเมื่อไม่ตรงกัน, ปรับสมดุลรายสัปดาห์, ปิดทั้งหมดแล้วเปิดใหม่, Pure OHLCV)
ผลลัพธ์: ยกเลิก
DualTimeframeConfluenceNetDirectionalMomentumBasketLS
สรุปผลลัพธ์
กลยุทธ์นี้ต่อยอดจากตะกร้าโมเมนตัมสัมบูรณ์ LS ที่ได้รับการส่งเสริม โดยกำหนดให้แนวโน้ม 60 วันและ 120 วันของเหรียญหลักทั้ง 10 รายการต้องสอดคล้องกันก่อนเลือกฝั่ง และถือแต่ละขาไว้ที่สถานะเป็นกลางเมื่อแนวโน้มไม่ตรงกัน เพื่อลดความเสี่ยงในช่วงเปลี่ยนผ่านที่ผันผวน แบ็กเทสต์ครั้งแรกแสดงความได้เปรียบจริงแต่ไม่มาก (Sharpe 0.40, profit factor 1.21, +274%) แต่มีดรอดาวน์ 49% และพึ่งพาค่าผิดปกติสูง นักวิเคราะห์จึงอนุมัติให้ปรับแต่ง การปรับแต่งให้ผลด้านความเสี่ยงตามเป้าหมายพอดี — ดรอดาวน์ลดลงครึ่งหนึ่งเหลือ 24.8%, Sortino เพิ่มเป็นสองเท่าเป็น 1.71, profit factor เพิ่มเป็น 1.46 — และผ่านเกณฑ์ความสม่ำเสมอ (วอล์กฟอร์เวิร์ดที่ไม่ฟิตเกินไป อัตราส่วนชุดข้อมูลกันไว้ทดสอบ 1.339 ไม่มีหน้าผาความไว และ PBO 0.42) แต่ค่า Sharpe หลังปรับแต่งที่ 0.68 ไม่ผ่านเกณฑ์ Deflated Sharpe (DSR 0.0 ต่ำกว่าเกณฑ์โชค 1.93 จากการทดลอง 225 ครั้ง และ CI คร่อมศูนย์) จึงถูกละทิ้งตั้งแต่การทำซ้ำครั้งแรกในฐานะผลจากการเลือกบางรูปแบบ: ตัวกรองการสอดคล้องกันลด Sharpe เชิงทิศทาง ซึ่งเป็นสิ่งที่ทำให้ตะกร้ากลยุทธ์ที่เป็นพี่น้องกันและได้รับการส่งเสริมมีนัยสำคัญ
สมมติฐาน
optimization_error: RuntimeError: ไม่มีข้อมูล Funding สำหรับขา perp 'ETHUSDT.BINANCE' — การรวบรวมตามคำขอล้มเหลว หรือตลาดซื้อขายไม่มีประวัติ funding (บล็อกการทดสอบย้อนหลังเพื่อความถูกต้อง; ตั้งค่า SF_DISABLE_ONDEMAND_FUNDING=1 เพื่อข้าม) Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 311, in _run_optimization await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", line 424, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: ไม่มีข้อมูล Funding สำหรับขา perp 'ETHUSDT.BINANCE' — การรวบรวมตามคำขอล้มเหลว หรือตลาดซื้อขายไม่มีประวัติ funding (บล็อกการทดสอบย้อนหลังเพื่อความถูกต้อง; ตั้งค่า SF_DISABLE_ONDEMAND_FUNDING=1 เพื่อข้าม)
การนำไปใช้
ตะกร้า absolute-momentum แบบ long-short ทิศทางสุทธิ ครอบคลุมสินทรัพย์หลัก Binance USD-M ที่มีประวัติครบถ้วน 10 ราย (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC), แนวโน้มรายวัน ปรับสมดุลรายสัปดาห์ แต่ละขาเลือกฝั่งเมื่อแนวโน้มผลตอบแทนย้อนหลังระยะ 60 วันและ 120 วัน AGREE (ซื้อหากทั้งคู่ขึ้น ขายหากทั้งคู่ลง) และถือเป็นกลางเมื่อไม่ตรงกัน — เป็นตัวกรองการแกว่งกลับไปมาแบบสองกรอบเวลารายขา เพื่อให้ขาที่มีสัญญาณขัดแย้งกันไม่เข้าตลาดและพอร์ตลดความเสี่ยงโดยอัตโนมัติในช่วงเปลี่ยนผ่านของภาวะตลาด ถ่วงน้ำหนักขาเท่ากันโดยใช้ขนาดจักรวาลคงที่ (per_leg = ขั้นต้น/N) ดังนั้นขาที่เป็นกลางจะลดความเสี่ยงขั้นต้น/สุทธิ การปรับสมดุลแต่ละครั้งปรับทุกขาไปยังเป้าหมายใหม่ที่มีเครื่องหมายด้วยคำสั่งเดลตาแบบ netting รายการเดียว พร้อมเพดานรวมเพื่อไม่ให้ความเสี่ยงขั้นต้นรวมเกิน 100% ของส่วนทุน (ผลลัพธ์ปลายทางที่ถูกจำกัดเช่นเดียวกับการปิดทั้งหมดแล้วเปิดใหม่) Pure OHLCV, เลเวอเรจ 1.0 พารามิเตอร์ปรับแต่งสามรายการ: fast_lookback, slow_lookback, rebalance_period
ทบทวนผลทดสอบย้อนหลัง
- Sharpe
- 0.40
- ผลตอบแทนรวม
- 273.88%
- การถอยของทุนสูงสุด
- 49.09%
- จำนวนเทรดทั้งหมด
- 436
- อัตราชนะ
- 37.6%
- ตัวคูณกำไร
- 1.21
มีความได้เปรียบจริง: profit_factor 1.211 (>1.2), เป็นบวกใน 4 จาก 6 ปี (2021 +129%, 2024 +21%, 2025 +17%, 2026 +73%), alpha +0.16, Sortino 0.86
การปรับปรุงอย่างมีหลักการต่อผู้ชนะ PASSED: ต่อยอดตะกร้า Absolute-Momentum LS (Sharpe 1.36, ผ่านการปรับเหมาะและทบทวนความเสี่ยงแล้ว) ด้วยตัวกรองการแกว่งกลับไปมาแบบสองกรอบเวลารายขา
กำหนดขนาดรายขาอย่างสมเหตุสมผล (avg_position_pct 16.3%, ไม่มีขาใดครอบงำเพียงขาเดียว), ไม่ถูกบังคับขาย, รองรับความจุสูง ($203M), แรงเสียดทานจากค่าธรรมเนียมต่ำ (1.34%)
exposure_pct 752% เป็นตัวชี้วัดสะสม ไม่ใช่เลเวอเรจที่ใช้งานจริง (ใช้ร่วมกันกับ avg_position 16.3% ในฐานะความเสี่ยงขั้นต้นพร้อมกันไม่ได้); พอร์ตจริงอยู่ที่ประมาณ 90-160% ใกล้เพดาน max_gross ตามที่ตั้งใจไว้
Sharpe 0.40 อยู่ในระดับปานกลาง โดย CI คร่อม 0 (sharpe_ci_low -0.396) — ต้องพิสูจน์ความทนทานด้วย deflated Sharpe
ขึ้นกับค่าผิดปกติ: return_kurtosis 277, ความเบ้ 13.1 — มีเพียงไม่กี่วันที่ให้ผลตอบแทนสูง (+50% ในวันที่ 2024-04-30, +49.8% ในวันที่ 2021-06-15) ซึ่งเป็นตัวขับเคลื่อนตัวเลขพาดหัว
ปีที่โหดร้ายหนึ่งปี (2023 -46.4%), max_drawdown 49.1%
benchmark_meaningful false (ตะกร้ามีทิศทางสุทธิ) — ประเมินด้วยตัวชี้วัดสัมบูรณ์ที่ปรับตามความเสี่ยง ไม่ใช่ผลตอบแทนส่วนเกินเมื่อเทียบกับการซื้อแล้วถือ
พร้อมนำไปใช้งานจริง
4 จาก 6
ส่วนใหญ่
ไม่มีขาใดครอบงำเพียงขาเดียว
การวิเคราะห์
walk-forward ที่ไม่ overfit (is_overfitted=false, ค่าเฉลี่ย IS 1.17 -> ค่าเฉลี่ย OOS 0.70) และผล holdout ผ่านเกณฑ์ (อัตราส่วน 1.339, holdout_sharpe 0.94)
พื้นผิวความไวสะอาด: ไม่มีจุดพลิก 0 ในพารามิเตอร์ทั้ง 7 รายการ; PBO 0.4246 (<0.5)
การปรับเหมาะปรับปรุงตัวชี้วัดความลึก: max_drawdown 49.1% -> 24.8%, profit_factor 1.21 -> 1.46, Sortino 0.86 -> 1.71, recovery_factor 6.4 — ตัวกรองการแกว่งกลับไปมาแบบสองกรอบเวลารายขาช่วยลด drawdown ได้ตามที่ออกแบบไว้
ชาร์ปที่ปรับลดจากอคติ FAILS: DSR=0.0 (เทียบกับ 0.95), is_significant=false; ชาร์ปที่ปรับเหมาะ 0.682 ต่ำกว่าเกณฑ์โชคจากการเลือกผลดีที่สุดในจำนวน N ที่คาดไว้ BELOW มาก โดยเกณฑ์อยู่ที่ 1.9337 จากการทดลอง 225 ครั้ง
sharpe_ci_low=-0.0333 — 95% CI คร่อม 0 ดังนั้นจึงแยกค่า Sharpe ออกจากการไม่มีทักษะไม่ได้
การแยก PSR=0.9938 / DSR=0.0 เป็นสัญญาณวินิจฉัยของอคติจากการเลือกผลดีที่สุดในบรรดา -225 ครั้ง ไม่ใช่ความได้เปรียบจริง
ขับเคลื่อนด้วยค่าผิดปกติ: return_kurtosis 242, ความเบ้ 12.5, tail_ratio 0.56; หน้าต่าง walk-forward หนึ่งช่วง OOS เป็นลบ (-0.34)
end_unrealized_pct=60.3 — สัดส่วนมากของตัวเลขพาดหัว +266% เป็นมูลค่าตามราคาตลาดของสถานะเปิดที่ยังไม่ปิดรับรู้ ไม่ใช่กำไรขาดทุนที่รับรู้แล้ว
Sharpe ดิบ 0.68 ต่ำกว่าเกณฑ์ส่งเสริมที่สมเหตุสมผลใด ๆ แม้ยังไม่ได้หักผลจาก deflation
สรุปผลลัพธ์
การเพิ่มตัวกรองการสอดคล้องกันที่ช่วยลดสัญญาณหลอกจากการสลับทิศทางให้กับตะกร้าที่มีทิศทางสุทธิและผ่านการยืนยันแล้ว ช่วยลดดรอดาวน์ได้จริง แต่ลดการเปิดรับความเสี่ยงเชิงทิศทางมากพอจน Sharpe ราว 0.68 ที่ได้ไม่ผ่านการปรับ Sharpe สำหรับการเลือกผลดีที่สุดจากหลายครั้ง — การผ่านชุดข้อมูลกันไว้ทดสอบ วอล์กฟอร์เวิร์ดที่ไม่ฟิตเกินไป และการไม่มีหน้าผาความไว ใช้วัดความสม่ำเสมอ ไม่ใช่นัยสำคัญ
นักวิเคราะห์กลยุทธ์ละทิ้งกลยุทธ์นี้ในขั้นหลังการปรับพารามิเตอร์ โดยพิจารณา Deflated Sharpe: DSR อยู่ที่ 0.0 (เทียบกับเกณฑ์ 0.95) และค่า Sharpe หลังปรับพารามิเตอร์ที่ 0.68 ต่ำกว่าเกณฑ์โชคจากการเลือกผลดีที่สุดในบรรดา N ครั้งที่คาดหมายไว้ 1.93 มาก เมื่อพิจารณาจากการทดลอง 225 ครั้ง โดย is_significant=false และ sharpe_ci_low -0.0333 คร่อมศูนย์ — การแยก PSR 0.9938 / DSR 0.0 เป็นลักษณะบ่งชี้ของอคติจากการคัดเลือก ไม่ใช่ความได้เปรียบจริง
ตะกร้า absolute-momentum แบบ long-short ทิศทางสุทธิ ครอบคลุมสินทรัพย์หลัก Binance USD-M ที่มีสภาพคล่องสูง 10 ราย โดยเลือกฝั่งของแต่ละขาเมื่อแนวโน้ม 60 วันและ 120 วันสอดคล้องกันเท่านั้น (ซื้อหากทั้งคู่ขึ้น ขายหากทั้งคู่ลง เป็นกลางหากไม่ตรงกัน) เพิ่มตัวกรองการบรรจบกันของกรอบเวลาคู่รายขาให้กับโครงสร้างตะกร้าโมเมนตัมที่ผ่านการตรวจสอบแล้ว เพื่อระงับการแกว่งกลับไปมาในช่วงเปลี่ยนผ่านของภาวะตลาด
การทดสอบย้อนหลังเบื้องต้นด้วยแท่งข้อมูลรายวันราว 1,978 วันให้ผลการซื้อขาย 436 ครั้ง, Sharpe 0.40 (CI ต่ำ -0.396), profit factor 1.21, ผลตอบแทนรวมราว 274% แต่มี drawdown สูงสุด 49.1% โดยผลตอบแทนขับเคลื่อนจากค่าผิดปกติ (kurtosis 277, ความเบ้ 13.1) การปรับเหมาะช่วยปรับปรุงตัวชี้วัดความลึก — drawdown สูงสุดลดลงเหลือ 24.8%, profit factor เพิ่มเป็น 1.46, Sortino เป็น 1.71 — พร้อมผล walk-forward ที่ไม่ overfit (Sharpe เฉลี่ย OOS 0.70) และผล holdout ผ่านเกณฑ์ (อัตราส่วน 1.339, Sharpe ของ holdout 0.94) แต่ Sharpe หลังปรับเหมาะมีเพียง 0.68
เหตุผลที่ยกเลิก
optimization_error: RuntimeError: ไม่มีข้อมูล Funding สำหรับขา perp 'ETHUSDT.BINANCE' — การรวบรวมตามคำขอล้มเหลว หรือตลาดซื้อขายไม่มีประวัติ funding (บล็อกการทดสอบย้อนหลังเพื่อความถูกต้อง; ตั้งค่า SF_DISABLE_ONDEMAND_FUNDING=1 เพื่อข้าม) Traceback (most recent call last): File "/opt/strategy-factory/src/agents/backtest_agent.py", line 311, in _run_optimization await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", line 424, in _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: ไม่มีข้อมูล Funding สำหรับขา perp 'ETHUSDT.BINANCE' — การรวบรวมตามคำขอล้มเหลว หรือตลาดซื้อขายไม่มีประวัติ funding (บล็อกการทดสอบย้อนหลังเพื่อความถูกต้อง; ตั้งค่า SF_DISABLE_ONDEMAND_FUNDING=1 เพื่อข้าม)
Stratmill เป็นเครื่องมือสำหรับการวิจัยและ paper trading ไม่ใช่คำแนะนำทางการเงินหรือโบรกเกอร์ ผลการทดสอบย้อนหลังและ paper trading เป็นเพียงสมมติฐาน การเทรดมีความเสี่ยงที่จะขาดทุน