Chiến lược
Backtest chiến lược giao dịch: danh mục động lượng tuyệt đối định hướng ròng, đồng thuận hai khung thời gian trên các tài sản lớn thanh khoản (long-short, Binance USD-M, xu hướng 60d+120d đồng thuận theo từng nhánh, trung lập khi bất đồng, tái cân bằng hàng tuần, đóng toàn bộ rồi mở lại, thuần OHLCV)
Kết quả: Đã hủy bỏ
DualTimeframeConfluenceNetDirectionalMomentumBasketLS
Tóm tắt kết quả
Giả thuyết
optimization_error: RuntimeError: Không có dữ liệu phí funding cho nhánh perp 'ETHUSDT.BINANCE' — thu thập theo yêu cầu thất bại hoặc sàn không có lịch sử phí funding (backtest bị chặn để bảo đảm độ chính xác; đặt SF_DISABLE_ONDEMAND_FUNDING=1 để bỏ qua) Traceback (cuộc gọi gần nhất sau cùng): File "/opt/strategy-factory/src/agents/backtest_agent.py", dòng 311, trong _run_optimization await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", dòng 424, trong _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: Không có dữ liệu phí funding cho nhánh perp 'ETHUSDT.BINANCE' — thu thập theo yêu cầu thất bại hoặc sàn không có lịch sử phí funding (backtest bị chặn để bảo đảm độ chính xác; đặt SF_DISABLE_ONDEMAND_FUNDING=1 để bỏ qua)
Triển khai
Danh mục động lượng tuyệt đối định hướng ròng long-short trên 10 tài sản lớn Binance USD-M có lịch sử đầy đủ (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC), xu hướng ngày, tái cân bằng hàng tuần. Mỗi nhánh chỉ chọn vị thế khi xu hướng lợi suất trượt 60 ngày và 120 ngày AGREE (long nếu cả hai tăng, short nếu cả hai giảm), và giữ trung lập khi bất đồng — bộ lọc nhiễu hai khung thời gian theo từng nhánh giúp các nhánh xung đột đứng ngoài và danh mục tự động giảm rủi ro khi chuyển chế độ thị trường. Các nhánh có trọng số bằng nhau theo quy mô vũ trụ cố định (per_leg = tổng vị thế gộp/N), nên các nhánh trung lập làm giảm mức phơi nhiễm gộp/ròng. Mỗi lần tái cân bằng, từng nhánh được đưa về mục tiêu có dấu mới bằng một lệnh delta bù trừ duy nhất, với mức trần tổng để tổng vị thế gộp không bao giờ vượt 100% vốn chủ sở hữu (trạng thái cuối được giới hạn tương tự đóng toàn bộ rồi mở lại). Thuần OHLCV, đòn bẩy 1.0. Ba tham số điều chỉnh: fast_lookback, slow_lookback, rebalance_period.
Đánh giá backtest
- Sharpe
- 0.40
- Tổng lợi nhuận
- 273.88%
- Sụt giảm tối đa
- 49.09%
- Tổng số lệnh
- 436
- Tỷ lệ thắng
- 37.6%
- Hệ số lợi nhuận
- 1.21
Lợi thế thực: profit_factor 1.211 (>1.2), dương trong 4/6 năm (2021 +129%, 2024 +21%, 2025 +17%, 2026 +73%), alpha +0.16, Sortino 0.86
Cải tiến có cơ sở từ một chiến lược PASSED chiến thắng: mở rộng danh mục Động lượng tuyệt đối LS (Sharpe 1.36, qua tối ưu hóa và rà soát rủi ro) với bộ lọc nhiễu hai khung thời gian theo từng nhánh
Định cỡ hợp lý theo từng nhánh (avg_position_pct 16.3%, không nhánh nào chi phối), không bị thanh lý, sức chứa lớn ($203M), chi phí thấp (1.34%)
exposure_pct 752% là chỉ số tích lũy, không phải đòn bẩy thực tế (không tương thích với avg_position 16.3% như tổng vị thế gộp đồng thời); danh mục thực tế khoảng 90-160%, gần mức trần dự kiến max_gross
Sharpe ở mức khiêm tốn 0.40, với CI nằm giữa 0 (sharpe_ci_low -0.396) — cần chứng minh độ bền vững bằng Sharpe đã hiệu chỉnh độ lệch
Phụ thuộc vào ngoại lệ: return_kurtosis 277, độ lệch 13.1 — một vài ngày tăng mạnh (+50% trên 2024-04-30, +49.8% trên 2021-06-15) quyết định kết quả nổi bật
Một năm tàn khốc (2023 -46.4%), max_drawdown 49.1%
benchmark_meaningful false (rổ định hướng ròng) — đánh giá bằng các chỉ số tuyệt đối đã điều chỉnh theo rủi ro, không phải lợi nhuận vượt mức so với mua và nắm giữ
có thể triển khai
4 trong số 6
đa số
không nhánh đơn lẻ nào chi phối
Phân tích
Kiểm thử cuốn chiếu không quá khớp (is_overfitted=false, trung bình IS 1.17 -> trung bình OOS 0.70) và kiểm định ngoài mẫu đạt yêu cầu (tỷ lệ 1.339, holdout_sharpe 0.94)
Bề mặt độ nhạy ổn định: không có ngưỡng đột biến 0 trên toàn bộ 7 tham số; PBO 0.4246 (<0.5)
Tối ưu hóa cải thiện các chỉ số về mức độ sụt giảm: max_drawdown 49.1% -> 24.8%, profit_factor 1.21 -> 1.46, Sortino 0.86 -> 1.71, recovery_factor 6.4 — bộ lọc nhiễu hai khung thời gian theo từng cấu phần đã giảm mức sụt giảm như thiết kế
Sharpe đã điều chỉnh giảm phát FAILS: DSR=0.0 (so với 0.95), is_significant=false; Sharpe tối ưu hóa 0.682 thấp hơn nhiều so với ngưỡng may mắn kỳ vọng tối đa trong N lần thử là 1.9337 qua 225 lần thử (BELOW)
sharpe_ci_low=-0.0333 — 95% CI nằm giữa 0, nên không thể phân biệt Sharpe với mức không có kỹ năng
Phân tách PSR=0.9938 / DSR=0.0 là dấu hiệu chẩn đoán của lạm phát do lựa chọn tốt nhất trong -225, không phải lợi thế thực
Lợi suất do ngoại lệ tạo nên: return_kurtosis 242, độ lệch 12.5, tail_ratio 0.56; một cửa sổ kiểm thử cuốn chiếu có kết quả âm (OOS) (-0.34)
end_unrealized_pct=60.3 — phần lớn kết quả nổi bật +266% là lãi/lỗ theo giá thị trường chưa thoát vị thế, chưa được hiện thực hóa
Sharpe thô 0.68 thấp hơn mọi ngưỡng hợp lý để được chấp nhận, ngay cả trước khi điều chỉnh giảm phát
Tóm tắt kết quả
Thêm bộ lọc đồng thuận giảm nhiễu vào một rổ định hướng ròng đã được xác thực giúp giảm mức sụt giảm nhưng cũng làm mức phơi nhiễm định hướng mỏng đi, khiến Sharpe khoảng 0.68 không vượt qua điều chỉnh giảm phát theo kết quả tốt nhất trong N lần thử — kết quả holdout đạt yêu cầu, kiểm thử cuốn chiếu không quá khớp và không có ngưỡng nhạy cảm đột ngột cho thấy tính nhất quán, chứ không chứng minh ý nghĩa thống kê.
Chuyên gia phân tích chiến lược đã từ bỏ chiến lược ở giai đoạn sau tối ưu hóa dựa trên Sharpe đã hiệu chỉnh độ lệch: DSR là 0.0 (so với ngưỡng 0.95), và Sharpe tối ưu hóa 0.68 thấp hơn nhiều so với ngưỡng may mắn tối đa kỳ vọng tốt nhất trong N lần thử là 1.93 qua 225 lần thử; is_significant=false và sharpe_ci_low -0.0333 nằm hai phía của mức không — sự phân tách PSR 0.9938 / DSR 0.0 là dấu hiệu của lạm phát do lựa chọn, chứ không phải lợi thế thực.
Backtest chiến lược giao dịch: danh mục động lượng tuyệt đối định hướng ròng long-short trên 10 tài sản lớn Binance USD-M thanh khoản, chỉ chọn vị thế ở mỗi nhánh khi xu hướng 60 ngày và 120 ngày đồng thuận (long nếu cả hai tăng, short nếu cả hai giảm, trung lập khi bất đồng), bổ sung bộ lọc đồng thuận hai khung thời gian theo từng nhánh vào cấu trúc danh mục động lượng đã được xác nhận để giảm nhiễu khi chuyển chế độ thị trường.
Backtest ban đầu trên nến ngày trong khoảng 1,978 ngày tạo ra 436 giao dịch, Sharpe 0.40 (CI thấp -0.396), hệ số lợi nhuận 1.21, tổng lợi suất khoảng 274%, nhưng mức sụt giảm tối đa 49.1%, với lợi suất phụ thuộc vào ngoại lệ (độ nhọn 277, độ lệch 13.1). Tối ưu hóa cải thiện các chỉ số về độ sâu — mức sụt giảm tối đa giảm xuống 24.8%, hệ số lợi nhuận tăng lên 1.46, Sortino lên 1.71 — cùng với kiểm thử cuốn chiếu không quá khớp (Sharpe trung bình OOS 0.70) và kiểm định ngoài mẫu đạt yêu cầu (tỷ lệ 1.339, Sharpe ngoài mẫu 0.94), nhưng Sharpe tối ưu hóa chỉ là 0.68.
Lý do hủy bỏ
optimization_error: RuntimeError: Không có dữ liệu phí funding cho nhánh perp 'ETHUSDT.BINANCE' — thu thập theo yêu cầu thất bại hoặc sàn không có lịch sử phí funding (backtest bị chặn để bảo đảm độ chính xác; đặt SF_DISABLE_ONDEMAND_FUNDING=1 để bỏ qua) Traceback (cuộc gọi gần nhất sau cùng): File "/opt/strategy-factory/src/agents/backtest_agent.py", dòng 311, trong _run_optimization await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs) File "/opt/strategy-factory/src/agents/backtest_agent.py", dòng 424, trong _ensure_funding_for_perp_legs raise RuntimeError( RuntimeError: Không có dữ liệu phí funding cho nhánh perp 'ETHUSDT.BINANCE' — thu thập theo yêu cầu thất bại hoặc sàn không có lịch sử phí funding (backtest bị chặn để bảo đảm độ chính xác; đặt SF_DISABLE_ONDEMAND_FUNDING=1 để bỏ qua)
Stratmill là công cụ nghiên cứu và giao dịch thử nghiệm (paper trading), không phải lời khuyên tài chính hay một nhà môi giới. Kết quả kiểm thử ngược và giao dịch thử nghiệm chỉ mang tính giả định. Giao dịch tiềm ẩn rủi ro thua lỗ.