Tối ưu và kiểm định độ vững
- 🇻🇳 Tiếng Việt
- 🇬🇧 English
- 🇰🇷 한국어
- 🇨🇳 中文
Chuyên nghiệp Một báo cáo backtest đẹp có thể đến từ một ý tưởng tốt — hoặc từ may mắn và từ việc chỉnh tham số cho khớp với quá khứ (quá khớp). Tab Độ vững của chiến lược giúp phân biệt hai trường hợp: Tối ưu tham số cho thấy cả vùng tham số chứ không chỉ một điểm đẹp, Kiểm định độ vững thử chiến lược trên dữ liệu nó chưa thấy, với chi phí cao hơn, khớp lệnh chậm hơn và trên hàng nghìn kịch bản giả định.
Ví dụ trong trang là mẫu Momentum 6-1 xoay vòng hàng tháng (ở thư viện mẫu: Mua 10 mã tăng mạnh nhất 6 tháng, đổi mỗi tháng), dữ liệu đến 15/10/2026.

① Mục tiêu của tối ưu — Tối đa Sharpe, Tối đa Lợi nhuận/năm, Tối đa Calmar, Tối đa Sortino.
② Tối ưu — chạy lưới tham số (sau lần đầu là Tối ưu lại).
③ Tham số quét (tối đa 2) — các tham số dạng số của chiến lược; mặc định chọn sẵn hai tham số đầu. Bấm để chọn / bỏ.
④ Kiểm định — chạy sáu phép kiểm tra độ vững (sau lần đầu là Chạy lại).
⑤ Số biến thể đã thử trong hội thoại — dùng để tính Deflated Sharpe.
Các phép thử chạy trong trình duyệt của bạn, song song trên tối đa 4 luồng (theo số nhân CPU của máy). Với dữ liệu đã tải, tối ưu 49 bộ tham số của Momentum 6-1 mất khoảng 4 giây, kiểm định khoảng 10 giây; chiến lược nặng hơn có thể mất vài phút (mỗi lượt tối đa 5 phút). Các lần chạy nội bộ của tối ưu, kiểm định không làm đổi kết quả đang xem và không tính vào số biến thể đã thử. Riêng khi chiến lược chưa có kết quả mới chạy (ví dụ vừa mở lại một kết quả đã lưu), Kiểm định chạy lại chiến lược một lần như bấm Chạy lại trước — lần đó được tính.
Tối ưu tham số
- Chọn mục tiêu — thường là Sharpe (lợi nhuận trên rủi ro); Calmar khi bạn quan tâm nhất tới mức sụt giảm.
- Chọn tối đa 2 tham số cần quét. Chỉ tham số dạng số (số nguyên, số thực, phần trăm) quét được; các tham số khác giữ giá trị hiện tại.
- Bấm Tối ưu. Thanh tiến độ ghi Đã chạy n/N bộ tham số.
Studio chia đều khoảng giá trị khai báo của mỗi tham số (min–max trong code; không khai báo thì từ 0,5 tới 1,5 lần giá trị mặc định): 7 giá trị mỗi tham số khi quét hai tham số (49 bộ), 12 giá trị khi quét một tham số; tối đa 200 bộ. Bộ tốt nhất chỉ xét các bộ có từ 10 lệnh trở lên.

① Bộ tốt nhất — giá trị các tham số (theo thứ tự cột · hàng) và mục tiêu đạt được. Rê chuột để xem tên từng tham số.
② Deflated Sharpe — xác suất Sharpe của bộ tốt nhất thật sự lớn hơn 0 sau khi tính tới việc đã thử nhiều bộ: từ 95 % Khó là may mắn (xanh), 50–95 % Có thể do may mắn (vàng), dưới 50 % Nhiều khả năng do may mắn (đỏ).
③ Độ ổn định vùng tối ưu — mục tiêu trung bình của các ô kề ô tốt nhất ÷ mục tiêu của ô tốt nhất: từ 70 % là Vùng phẳng — bền (xanh); thấp hơn là Đỉnh nhọn — dễ quá khớp (vàng, dưới 40 % đỏ).
④ Đã thử — số bộ tham số, thời gian chạy (và số bộ lỗi, nếu có).
⑤ Ô tốt nhất — viền xanh.
⑥ Bản đồ nhiệt — mục tiêu theo tham số thứ nhất (cột) × tham số thứ hai (hàng); xanh là tốt hơn mức giữa của cả lưới, đỏ là kém hơn (mục tiêu Lợi nhuận/năm: xanh lãi, đỏ lỗ). Rê chuột lên ô để xem giá trị; bấm ô để áp dụng bộ tham số đó cho chiến lược (Studio chạy lại ngay).
Quét một tham số thì Studio vẽ biểu đồ đường mục tiêu theo giá trị tham số thay cho bản đồ nhiệt.

Bảng dưới bản đồ liệt kê 10 bộ tốt nhất theo mục tiêu, kèm LN/năm, Sharpe, Sụt giảm, Lệnh. ① Áp dụng — dùng bộ đó cho chiến lược (đổi tham số, không tạo phiên bản mới; bộ đang dùng ghi Đang dùng). Mỗi lần áp dụng là một lần chạy, được tính vào số biến thể đã thử.
Đọc kết quả tối ưu. Đừng hỏi "bộ nào tốt nhất?" mà hỏi "vùng nào tốt?". Ở Momentum 6-1, 49 bộ cho Sharpe từ 0,76 t ới 1,13, phần lớn quanh 0,9–1,1: đà tăng đo bằng 92–188 phiên đều cho kết quả gần nhau, Độ ổn định vùng tối ưu 90 %. Bộ tốt nhất (124 phiên, bỏ 7 phiên gần nhất) chỉ nhỉnh hơn các ô bên cạnh — không đáng đổi khỏi tham số mặc định chỉ để lấy thêm 0,1 Sharpe. Một ô xanh đậm đứng giữa vùng đỏ thì ngược lại: kết quả đẹp nhiều khả năng là ngẫu nhiên.
Chọn bộ tốt nhất trong 49 bộ luôn cho Sharpe cao hơn mức thật. Deflated Sharpe đã trừ phần đó; dù vậy, sau khi tối ưu hãy kiểm định độ vững với bộ đã chọn, và ưu tiên bộ nằm giữa vùng phẳng.
Chiến lược chưa có tham số số thì phần tối ưu ghi Chiến lược chưa khai báo tham số số (param.int / num / pct) — nhờ AI thêm tham số để tối ưu. Lỗi khi tối ưu hiện khung Không tối ưu được kèm lý do.
Kiểm định độ vững
Bấm Kiểm định để chạy sáu phép thử với phiên bản mới nhất và tham số hiện tại: Ngoài mẫu 70/30 · walk-forward 4 đoạn · Monte Carlo 1.000 lần · phí ×2 · khớp trễ · theo xu hướng thị trường.

① Điểm tổng — số phép kiểm tra đạt / tổng số; vòng xanh khi đạt từ 80 %, vàng từ 50 %, đỏ khi thấp hơn.
② Từng phép kiểm tra — ✓ đạt, ✗ không đạt, ? không đủ dữ liệu để kết luận; dòng nhỏ là số liệu.
③ Nhờ Copilot nhận xét — gửi kết quả cho trợ lý Quant để nhận xét và đề xuất cách làm chiến lược bền hơn (xem Trợ lý Quant).
④ Trong mẫu / ngoài mẫu — xem bên dưới.
⑤ Độ nhạy chi phí & khớp lệnh — xem bên dưới.
| Phép kiểm tra | Đạt khi | Trả lời câu hỏi |
|---|---|---|
| Ngoài mẫu giữ được hiệu quả | Sharpe ngoài mẫu lớn hơn 0 và ít nhất bằng một nửa Sharpe trong mẫu | Ý tưởng có còn hiệu quả ở giai đoạn sau không? |
| Walk-forward có lãi ổn định | Sharpe của đường vốn ghép các đoạn kiểm tra từ 0,5 | Nếu định kỳ chọn lại tham số mà không biết trước tương lai, có lãi không? |
| Chịu được phí gấp đôi | Lợi nhuận / năm vẫn dương khi phí giao dịch và trượt giá gấp đôi | Lãi có đủ dày để chịu chi phí thật cao hơn giả định? |
| Không phụ thuộc khớp lệnh sớm | Lợi nhuận / năm vẫn dương và ít nhất bằng một nửa bản gốc khi khớp trễ thêm 1 phiên | Lợi thế có biến mất khi bạn đặt lệnh chậm một nhịp? |
| Ít khả năng thua lỗ cả kỳ | Dưới 20 % kịch bản Monte Carlo lỗ sau cả kỳ | Kết quả có dựa vào đúng thứ tự các phiên may mắn? |
| Không chỉ là may mắn | Deflated Sharpe từ 90 % với số biến thể đã thử trong hội thoại | Kết quả có còn đứng vững khi tính tới số lần bạn đã thử? |
Đạt cả sáu không có nghĩa chiến lược sẽ thắng trong tương lai; trượt một, hai phép là lý do để tìm hiểu, chưa phải để bỏ. Phần sau giải thích từng phép và cách đọc.
Trong mẫu / ngoài mẫu
Studio chia kỳ kiểm tra tại phiên 70 %, chạy riêng phần đầu (Trong mẫu) và phần cuối (Ngoài mẫu) — mỗi phần bắt đầu từ tiền mặt — rồi so LN/năm, Sharpe, Sụt giảm, Lệnh.
Momentum 6-1 chia tại 19/07/2023: trong mẫu +18.7% mỗi năm, Sharpe 1.32; ngoài mẫu +6.3%, Sharpe 0.43 — vẫn lãi nhưng dưới một nửa, nên phép này không đạt. Ba năm gần đây khó hơn hẳn với chiến lược này; đó là thông tin quan trọng hơn mọi con số trung bình cả kỳ.
Nếu bạn đã chỉnh điều kiện, tham số khi nhìn kết quả cả kỳ, phần ngoài mẫu đã gián tiếp ảnh hưởng tới lựa chọn của bạn. Khi đó hãy coi phép này là kiểm tra độ ổn định theo thời gian, và dựa nhiều hơn vào walk-forward.
Walk-forward
Walk-forward mô phỏng cách bạn thật sự dùng một chiến lược: định kỳ chọn lại tham số bằng dữ liệu đã có, rồi giao dịch tiếp ở giai đoạn chưa biết.
- 40 % đầu kỳ là dữ liệu chọn tham số ban đầu; phần còn lại chia thành 4 đoạn kiểm tra liền nhau.
- Ở mỗi đoạn, Studio thử các bộ quanh tham số hiện tại — hai tham số số đầu, mỗi tham số × 0,7 / × 1 / × 1,3 (tối đa 9 bộ) — trên toàn bộ dữ liệu trước đoạn đó, chọn bộ có Sharpe cao nhất (ít nhất 5 lệnh), rồi chạy đoạn đó với bộ vừa chọn.
- Ghép các đoạn kiểm tra thành một đường vốn: đó là kết quả bạn có được nếu làm đúng quy trình này mà không biết trước tương lai.

① Monte Carlo — xem bên dưới.
② Xác suất lỗ cả kỳ — tỷ lệ kịch bản Monte Carlo kết thúc dưới vốn ban đầu.
③ Walk-forward — đường vốn ghép các đoạn kiểm tra.
④ Tham số chọn — bộ tham số được chọn cho từng đoạn (tên tham số trong code), kèm LN/năm, Sharpe của đoạn đó.
Đọc walk-forward. Ở Momentum 6-1, đường vốn ghép có Sharpe 1.21, lợi nhuận +21.5% mỗi năm — nhưng đọc từng đoạn mới thấy rõ: đoạn 04/2020–12/2021 lãi +87.4% mỗi năm, hai đoạn giữa (12/2021–02/2025) gần như hoà, đoạn cuối +14.7%. Con số ghép đẹp chủ yếu nhờ một giai đoạn thị trường tăng mạnh. Điểm tốt: tham số được chọn gần như không đổi giữa các đoạn (lookback=126, skip 15–21) — tham số nhảy lung tung giữa các đoạn là dấu hiệu quá khớp.
Monte Carlo
Studio lấy chuỗi lợi nhuận từng phiên của chiến lược, bốc ngẫu nhiên (có lặp lại) từng khối 20 phiên liền nhau rồi nối lại — giữ nhịp biến động ngắn hạn — để dựng 1.000 đường vốn giả định cùng độ dài, rồi đo phân bố kết quả. Cách bốc cố định nên chạy lại cho cùng kết quả.
| Số đo | Nghĩa |
|---|---|
| LN/năm trung vị (dòng phụ 5%, 95%) | Lợi nhuận mỗi năm của kịch bản giữa, kịch bản xấu (5 % kịch bản tệ hơn) và kịch bản tốt |
| Sụt giảm trung vị (dòng phụ Xấu (5%)) | Mức sụt giảm tối đa thường gặp, và mức bạn nên chuẩn bị tinh thần |
| Xác suất lỗ cả kỳ | Xanh dưới 10 %, vàng 10–30 %, đỏ trên 30 % |
| Biểu đồ | Trung vị và Dải 5–95% của đường vốn qua thời gian |
Momentum 6-1: lợi nhuận trung vị +14.7% mỗi năm (kịch bản xấu +6.0%), sụt giảm trung vị -27.4%, kịch bản xấu -43.7%, xác suất lỗ 0.4%. Nghĩa là mức sụt giảm -25.7% trong báo cáo chỉ là một kịch bản đã xảy ra — hãy chuẩn bị cho mức quanh -40 %. Monte Carlo chỉ xáo trộn những phiên đã có: nó không tạo ra tình huống thị trường chưa từng xảy ra, nên không thay được walk-forward.
Độ nhạy chi phí và khớp lệnh
| Dòng | Chạy lại với |
|---|---|
| Gốc | Giả định của lần chạy (theo Cài đặt) |
| Phí & trượt giá ×2 | Phí giao dịch và trượt giá gấp đôi (thuế bán giữ nguyên) |
| Khớp trễ thêm 1 phiên | Lệnh khớp chậm thêm một phiên so với giả định (ví dụ giá mở cửa hai phiên sau tín hiệu) |
Momentum 6-1 giảm từ +14.8% xuống +12.5% mỗi năm khi phí gấp đôi, và gần như không đổi khi khớp trễ (+15.0%): lợi thế nằm ở xu hướng nhiều tháng, không nằm ở việc khớp đúng phiên. Chiến lược giao dịch dày (vòng quay cao) nhạy với phí; chiến lược ăn biến động ngắn hạn nhạy với khớp trễ — kết quả sụt mạnh khi trễ một phiên nghĩa là ngoài đời rất khó đạt.
Theo xu hướng thị trường

Studio chia các phiên theo VNINDEX đang trên hay dưới đường trung bình 200 phiên (xác định bằng dữ liệu tới phiên trước, không nhìn trước), rồi tính Tỷ lệ thời gian, LN/năm chiến lược, LN/năm chỉ số và Sharpe cho từng trạng thái. Phép này không chấm đạt / không đạt mà cho biết chiến lược kiếm tiền khi nào: Momentum 6-1 lãi +23.5% mỗi năm khi thị trường trên MA200 (chỉ số +15.2%), và gần như đứng yên khi thị trường dưới MA200 (-1.6%, chỉ số -1.7%) — đúng như thiết kế nghỉ khi thị trường yếu.
Deflated Sharpe
Thử càng nhiều biến thể rồi giữ bản đẹp nhất, Sharpe của bản đó càng bị thổi phồng — kể cả khi không biến thể nào thật sự có lợi thế. Deflated Sharpe (Bailey và López de Prado) l à xác suất Sharpe thật sự lớn hơn mức Sharpe cao nhất bạn có thể gặp do may mắn sau N lần thử:
SR* = √V × ((1 − γ) × Φ⁻¹(1 − 1/N) + γ × Φ⁻¹(1 − 1/(N × e)))
Deflated Sharpe = PSR so với SR* (xem PSR ở Đọc báo cáo backtest)
N: số lần thử; V: phương sai của Sharpe giữa các lần thử (khi tối ưu) hoặc phương sai ước lượng của chính Sharpe (khi kiểm định);
γ ≈ 0,5772 (hằng số Euler–Mascheroni); Φ⁻¹: hàm ngược của phân phối chuẩn; Sharpe tính theo phiên
| Ở đâu | N là |
|---|---|
| Deflated Sharpe khi tối ưu | Số bộ tham số đã thử (có từ 10 lệnh) |
| Phép Không chỉ là may mắn khi kiểm định; lý do Deflated Sharpe x% ở khung độ tin cậy của báo cáo | Số biến thể đã thử trong hội thoại |
| Thẻ kết quả của trợ lý Quant (DSR · n lần thử) | Như trên |
Số biến thể đã thử là số lần chạy chiến lược trong cùng một hội thoại: mỗi lần bấm Chạy lại, kéo tham số, Áp dụng một bộ, hay trợ lý chạy một biến thể đều tính một lần; các lần chạy nội bộ của tối ưu, kiểm định không tính. Hội thoại mới bắt đầu đếm lại — nhưng mở hội thoại mới chỉ để "xoá" số lần thử là tự lừa mình: con số đó đo chính quá trình nghiên cứu của bạn.
Mốc đọc: từ 95 % là khó do may mắn; 50–95 % là có thể do may mắn; dưới 50 % là nhiều khả năng do may mắn. Phép kiểm định đạt từ 90 %. Xem thêm PSR.
Dấu hiệu quá khớp
- Sharpe trên 2–3, profit factor trên 3 với ít lệnh (xem mốc tham khảo).
- Bản đồ nhiệt có một ô xanh đậm giữa vùng đỏ; Độ ổn định vùng tối ưu dưới 40 %.
- Ngoài mẫu còn dưới một nửa trong mẫu; các đoạn walk-forward lỗ, hoặc tham số được chọn nhảy lung tung giữa các đoạn.
- Lợi nhuận dồn vào một năm, vài mã (xem Lợi nhuận theo năm, Lệnh theo mã).
- Kết quả sụt mạnh khi phí gấp đôi hay khớp trễ một phiên.
- Nhiều điều kiện, nhiều tham số lẻ (RSI 27 thay vì 30, MA 43 thay vì 50) mà không có lý do kinh tế.
- Deflated Sharpe thấp sau nhiều lần thử trong hội thoại.
Quy trình kiểm chứng một ý tưởng
- Viết giả thuyết trước khi chạy — quy tắc rõ ràng và lý do nó nên hiệu quả ở thị trường Việt Nam (dòng tiền, hành vi nhà đầu tư, đặc điểm T+2, biên độ…).
- Chạy với tham số "tự nhiên" (số tròn, phổ biến) và đọc báo cáo theo sáu câu hỏi.
- Tối ưu 1–2 tham số chính để xem vùng; chọn bộ ở giữa vùng phẳng, không chọn ô đẹp nhất.
- Kiểm định độ vững với bộ đã chọn; đọc kỹ ngoài mẫu và từng đoạn walk-forward, không chỉ điểm tổng.
- So với phương án đơn giản — mua và giữ chỉ số cùng kỳ: chiến lược phức tạp hơn phải bù được công sức và rủi ro.
- Theo dõi trước khi dùng tiền — chạy lại sau mỗi tháng để xem kết quả mới có nằm trong vùng Monte Carlo dự kiến không.
- Đặt trước điều kiện dừng — ví dụ sụt giảm vượt m ức xấu (5 %) của Monte Carlo thì dừng lại xem xét, thay vì quyết định giữa lúc đang lỗ.
Trợ lý Quant làm được các bước này ngay trong khung Copilot — "tối ưu ngưỡng RSI", "kiểm định độ vững chiến lược này" — xem Trợ lý Quant.
Gói hội viên
Tối ưu và kiểm định độ vững cần gói Chuyên nghiệp trở lên. Ở gói Thiết yếu, tab Độ vững vẫn hiện nhưng thay bằng khung Tối ưu & kiểm định độ vững kèm nút Nâng cấp. Bảng đầy đủ ở Gói, giới hạn và hỏi đáp.
Professional. A good-looking backtest report can come from a good idea — or from luck and from tuning parameters to fit the past (overfitting). A strategy's Độ vững (Robustness) tab helps you tell the two apart: Tối ưu tham số (Parameter optimization) shows the whole parameter region rather than a single pretty point, and Kiểm định độ vững (Robustness validation) tests the strategy on data it hasn't seen, with higher costs, slower fills, and across thousands of hypothetical scenarios.
The example throughout is the template Momentum 6-1 xoay vòng hàng tháng (Momentum 6-1 with monthly rotation; in the template library: Mua 10 mã tăng mạnh nhất 6 tháng, đổi mỗi tháng — Buy the 10 strongest tickers over 6 months, rebalance monthly), with data up to 15 Oct 2026.

① Mục tiêu (Objective) of the optimization — Tối đa Sharpe (Maximize Sharpe), Tối đa Lợi nhuận/năm (Maximize return/year), Tối đa Calmar (Maximize Calmar), Tối đa Sortino (Maximize Sortino).
② Tối ưu (Optimize) — runs the parameter grid (after the first time it reads Tối ưu lại — Optimize again).
③ Tham số quét (tối đa 2) (Parameters to scan, up to 2) — the strategy's numeric parameters; the first two are preselected by default. Click to select / deselect.
④ Kiểm định (Validate) — runs six robustness tests (after the first time it reads Chạy lại — Run again).
⑤ Số biến thể đã thử trong hội thoại (Variants tried in this conversation) — used to calculate the Deflated Sharpe.
The tests run in your browser, in parallel on up to 4 threads (depending on your machine's CPU cores). With data already downloaded, optimizing 49 parameter sets for Momentum 6-1 takes about 4 seconds and validation about 10 seconds; heavier strategies can take a few minutes (each pass is limited to 5 minutes). The internal runs of optimization and validation don't change the results you are viewing and don't count toward the number of variants tried. The one exception: when the strategy has no freshly run results (for example, you've just reopened saved results), Kiểm định (Validate) first reruns the strategy once, as if you had clicked Chạy lại (Run again) — that run does count.
Parameter optimization
- Choose the objective — usually Sharpe (return on risk); Calmar when drawdown is what you care about most.
- Choose up to 2 parameters to scan. Only numeric parameters (integer, decimal, percentage) can be scanned; other parameters keep their current values.
- Click Tối ưu (Optimize). The progress bar shows Đã chạy n/N bộ tham số (Ran n/N parameter sets).
The Studio divides each parameter's declared range evenly (min–max in the code; if not declared, from 0.5 to 1.5 times the default value): 7 values per parameter when scanning two parameters (49 sets), 12 values when scanning one parameter; at most 200 sets. The best set is chosen only among sets with 10 or more trades.

① Bộ tốt nhất (Best set) — the parameter values (in column · row order) and the objective achieved. Hover to see each parameter's name.
② Deflated Sharpe — the probability that the best set's Sharpe is truly above 0 after accounting for having tried many sets: 95% or more Khó là may mắn (Unlikely to be luck, green), 50–95% Có thể do may mắn (Possibly luck, yellow), below 50% Nhiều khả năng do may mắn (Likely luck, red).
③ Độ ổn định vùng tối ưu (Optimal region stability) — the average objective of the cells adjacent to the best cell ÷ the best cell's objective: 70% or more is Vùng phẳng — bền (Flat region — robust, green); lower is Đỉnh nhọn — dễ quá khớp (Sharp peak — prone to overfitting, yellow; red below 40%).
④ Đã thử (Tried) — the number of parameter sets and run time (and the number of failed sets, if any).
⑤ Best cell — green border.
⑥ Heatmap — the objective by the first parameter (columns) × the second parameter (rows); green is better than the grid's median, red is worse (with the Lợi nhuận/năm (Return/year) objective: green is a gain, red a loss). Hover over a cell to see its value; click a cell to apply that parameter set to the strategy (the Studio reruns immediately).
When scanning a single parameter, the Studio draws a line chart of the objective against the parameter value instead of a heatmap.

The table below the heatmap lists the 10 best sets by objective, with LN/năm (Return/year), Sharpe, Sụt giảm (Drawdown) and Lệnh (Trades). ① Áp dụng (Apply) — uses that set for the strategy (changes the parameters without creating a new version; the set in use is marked Đang dùng — In use). Each apply is one run, and it counts toward the number of variants tried.
Reading the optimization results. Don't ask "which set is best?" — ask "which region is good?". For Momentum 6-1, the 49 sets give Sharpe ratios from 0.76 to 1.13, mostly around 0.9–1.1: momentum measured over 92–188 sessions gives similar results throughout, with an Optimal region stability of 90%. The best set (124 sessions, skipping the last 7 sessions) is only slightly ahead of its neighboring cells — not worth moving away from the default parameters just to gain 0.1 Sharpe. A dark green cell standing alone in a red region is the opposite case: the pretty result is most likely random.
Picking the best of 49 sets always gives a Sharpe higher than the true level. The Deflated Sharpe already subtracts that part; even so, after optimizing, validate robustness with the chosen set, and prefer a set in the middle of a flat region.
If the strategy has no numeric parameters, the optimization section reads Chiến lược chưa khai báo tham số số (param.int / num / pct) — nhờ AI thêm tham số để tối ưu. (The strategy declares no numeric parameters, param.int / num / pct — ask the AI to add parameters to optimize.) Optimization errors show a Không tối ưu được (Could not optimize) box with the reason.
Robustness validation
Click Kiểm định (Validate) to run six tests on the latest version with the current parameters: Ngoài mẫu 70/30 · walk-forward 4 đoạn · Monte Carlo 1.000 lần · phí ×2 · khớp trễ · theo xu hướng thị trường (Out-of-sample 70/30 · 4-segment walk-forward · 1,000 Monte Carlo runs · 2× fees · delayed fills · by market trend).

① Overall score — tests passed / total; the ring is green at 80% or more passed, yellow from 50%, red below that.
② Individual tests — ✓ passed, ✗ failed, ? not enough data to conclude; the small line shows the figures.
③ Nhờ Copilot nhận xét (Ask Copilot to comment) — sends the results to the Quant assistant for comments and suggestions on making the strategy more robust (see Quant assistant).
④ Trong mẫu / ngoài mẫu (In-sample / out-of-sample) — see below.
⑤ Độ nhạy chi phí & khớp lệnh (Cost & fill sensitivity) — see below.
| Test | Passes when | Question it answers |
|---|---|---|
| Ngoài mẫu giữ được hiệu quả (Out-of-sample holds up) | Out-of-sample Sharpe is above 0 and at least half the in-sample Sharpe | Does the idea still work in the later period? |
| Walk-forward có lãi ổn định (Walk-forward is consistently profitable) | The Sharpe of the equity curve stitched from the test segments is 0.5 or more | If you periodically re-pick parameters without knowing the future, do you make money? |
| Chịu được phí gấp đôi (Withstands double fees) | Return/year is still positive with trading fees and slippage doubled | Is the profit thick enough to absorb real costs higher than assumed? |
| Không phụ thuộc khớp lệnh sớm (Doesn't depend on early fills) | Return/year is still positive and at least half the original with fills delayed by 1 more session | Does the edge disappear if you place orders one beat late? |
| Ít khả năng thua lỗ cả kỳ (Unlikely to lose over the whole period) | Fewer than 20% of Monte Carlo scenarios lose money over the whole period | Does the result depend on lucky sessions arriving in exactly that order? |
| Không chỉ là may mắn (Not just luck) | Deflated Sharpe of 90% or more given the number of variants tried in the conversation | Does the result still stand when accounting for how many times you've tried? |
Passing all six doesn't mean the strategy will win in the future; failing one or two is a reason to investigate, not yet a reason to drop it. The sections below explain each test and how to read it.
In-sample / out-of-sample
The Studio splits the test period at the 70% session, runs the first part (Trong mẫu — In-sample) and the last part (Ngoài mẫu — Out-of-sample) separately — each starting from cash — and then compares LN/năm (Return/year), Sharpe, Sụt giảm (Drawdown) and Lệnh (Trades).
Momentum 6-1 is split on 19 Jul 2023: in-sample +18.7% per year, Sharpe 1.32; out-of-sample +6.3%, Sharpe 0.43 — still profitable, but below half, so this test fails. The last three years have been much harder for this strategy; that information matters more than any whole-period average.
If you adjusted conditions or parameters while looking at the whole-period results, the out-of-sample part has already indirectly influenced your choices. In that case, treat this test as a check of stability over time, and rely more on walk-forward.
Walk-forward
Walk-forward simulates how you actually use a strategy: periodically re-pick the parameters using the data available so far, then keep trading in the period you don't know yet.
- The first 40% of the period is the data for choosing the initial parameters; the rest is split into 4 consecutive test segments.
- In each segment, the Studio tries the sets around the current parameters — the first two numeric parameters, each × 0.7 / × 1 / × 1.3 (up to 9 sets) — on all the data before that segment, picks the set with the highest Sharpe (at least 5 trades), then runs that segment with the chosen set.
- The test segments are stitched into one equity curve: that's the result you would get by following this exact process without knowing the future.

① Monte Carlo — see below.
② Xác suất lỗ cả kỳ (Probability of loss over the whole period) — the share of Monte Carlo scenarios that end below the starting capital.
③ Walk-forward — the equity curve stitched from the test segments.
④ Tham số chọn (Chosen parameters) — the parameter set chosen for each segment (parameter names as in the code), with that segment's LN/năm (Return/year) and Sharpe.
Reading the walk-forward. For Momentum 6-1, the stitched equity curve has a Sharpe of 1.21 and a return of +21.5% per year — but only by reading each segment does the picture become clear: the 04/2020–12/2021 segment gained +87.4% per year, the two middle segments (12/2021–02/2025) were roughly breakeven, and the last segment made +14.7%. The attractive stitched figure comes mainly from one strong bull market phase. The good news: the chosen parameters barely change between segments (lookback=126, skip 15–21) — parameters that jump around between segments are a sign of overfitting.
Monte Carlo
The Studio takes the strategy's series of session returns, randomly draws (with replacement) blocks of 20 consecutive sessions and joins them together — preserving the short-term rhythm of volatility — to build 1,000 hypothetical equity curves of the same length, then measures the distribution of outcomes. The sampling is fixed, so rerunning gives the same result.
| Measure | Meaning |
|---|---|
| LN/năm trung vị (Median return/year; sublines 5%, 95%) | Annual return of the middle scenario, the bad scenario (5% of scenarios are worse) and the good scenario |
| Sụt giảm trung vị (Median drawdown; subline Xấu (5%) — Bad, 5%) | The typical maximum drawdown, and the level you should be mentally prepared for |
| Xác suất lỗ cả kỳ (Probability of loss over the whole period) | Green below 10%, yellow 10–30%, red above 30% |
| Chart | Trung vị (Median) and Dải 5–95% (5–95% band) of the equity curve over time |
Momentum 6-1: median return +14.7% per year (bad scenario +6.0%), median drawdown -27.4%, bad scenario -43.7%, probability of loss 0.4%. This means the -25.7% drawdown in the report is just one scenario that happened to occur — prepare for something around -40%. Monte Carlo only reshuffles sessions that have already happened: it doesn't create market situations that never occurred, so it can't replace walk-forward.
Cost and fill sensitivity
| Row | Rerun with |
|---|---|
| Gốc (Original) | The run's assumptions (from Settings) |
| Phí & trượt giá ×2 (Fees & slippage ×2) | Double trading fees and slippage (sales tax unchanged) |
| Khớp trễ thêm 1 phiên (Fill delayed 1 more session) | Orders fill one session later than assumed (e.g. at the open two sessions after the signal) |
Momentum 6-1 drops from +14.8% to +12.5% per year with double fees, and barely changes with delayed fills (+15.0%): its edge lies in multi-month trends, not in filling on exactly the right session. Strategies that trade frequently (high turnover) are sensitive to fees; strategies that capture short-term moves are sensitive to delayed fills — a result that drops sharply with a one-session delay is very hard to achieve in real life.
By market trend

The Studio splits sessions by whether VNINDEX is above or below its 200-session moving average (determined with data up to the previous session, without looking ahead), then calculates Tỷ lệ thời gian (Share of time), LN/năm chiến lược (Strategy return/year), LN/năm chỉ số (Index return/year) and Sharpe for each state. This test isn't scored pass / fail; instead it tells you when the strategy makes money: Momentum 6-1 gains +23.5% per year when the market is above MA200 (index +15.2%), and almost stands still when the market is below MA200 (-1.6%, index -1.7%) — exactly as designed, sitting out when the market is weak.
Deflated Sharpe
The more variants you try before keeping the best-looking one, the more its Sharpe is inflated — even when none of the variants has a real edge. The Deflated Sharpe (Bailey and López de Prado) is the probability that the true Sharpe is above the highest Sharpe you could see by luck alone after N tries:
SR* = √V × ((1 − γ) × Φ⁻¹(1 − 1/N) + γ × Φ⁻¹(1 − 1/(N × e)))
Deflated Sharpe = PSR so với SR* (xem PSR ở Đọc báo cáo backtest)
N: số lần thử; V: phương sai của Sharpe giữa các lần thử (khi tối ưu) hoặc phương sai ước lượng của chính Sharpe (khi kiểm định);
γ ≈ 0,5772 (hằng số Euler–Mascheroni); Φ⁻¹: hàm ngược của phân phối chuẩn; Sharpe tính theo phiên
| Where | N is |
|---|---|
| Deflated Sharpe in optimization | The number of parameter sets tried (with 10 or more trades) |
| The Không chỉ là may mắn (Not just luck) test in validation; the Deflated Sharpe x% reason in the report's confidence box | The number of variants tried in the conversation |
| The Quant assistant's result card (DSR · n lần thử — DSR · n tries) | Same as above |
Variants tried is the number of times the strategy has been run in the same conversation: every click on Chạy lại (Run again), every parameter drag, every Áp dụng (Apply) of a set, and every variant the assistant runs counts as one; the internal runs of optimization and validation don't count. A new conversation starts counting again — but opening a new conversation just to "erase" the number of tries is fooling yourself: that number measures your own research process.
Reference thresholds: 95% or more is unlikely to be luck; 50–95% may be luck; below 50% is likely luck. The validation test passes at 90% or more. See also PSR.
Signs of overfitting
- Sharpe above 2–3, profit factor above 3 with few trades (see reference thresholds).
- A heatmap with a single dark green cell in a red region; Độ ổn định vùng tối ưu (Optimal region stability) below 40%.
- Out-of-sample less than half of in-sample; walk-forward segments that lose money, or chosen parameters that jump around between segments.
- Profits concentrated in one year or a few tickers (see Returns by year, Trades by ticker).
- Results that drop sharply with double fees or a one-session fill delay.
- Many conditions and many oddly specific parameters (RSI 27 instead of 30, MA 43 instead of 50) without an economic reason.
- A low Deflated Sharpe after many tries in the conversation.
Process for validating an idea
- Write down the hypothesis before running — clear rules and the reason they should work in the Vietnamese market (money flow, investor behavior, T+2 characteristics, price limits…).
- Run with "natural" parameters (round, common numbers) and read the report using the six questions.
- Optimize 1–2 key parameters to see the region; choose a set in the middle of a flat region, not the prettiest cell.
- Validate robustness with the chosen set; read the out-of-sample results and each walk-forward segment carefully, not just the overall score.
- Compare with the simple alternative — buying and holding the index over the same period: a more complex strategy has to justify the extra effort and risk.
- Track it before committing money — rerun it every month to see whether new results fall within the range Monte Carlo predicted.
- Set a stop condition in advance — for example, if the drawdown exceeds Monte Carlo's bad (5%) level, stop and review, rather than deciding in the middle of a loss.
The Quant assistant can do these steps right in the Copilot pane — "optimize the RSI threshold", "validate the robustness of this strategy" — see Quant assistant.
Membership plans
Optimization and robustness validation require the Professional plan or higher. On the Essential plan, the Độ vững (Robustness) tab still appears, but is replaced by a Tối ưu & kiểm định độ vững (Optimization & robustness validation) box with an Nâng cấp (Upgrade) button. The full table is in Plans, limits and FAQ.
Professional 플랜. 보기 좋은 백테스트 보고서는 좋은 아이디어에서 나올 수도 있지만, 운과 과거에 맞춘 파라미터 조정(과적합)에서 나올 수도 있습니다. 전략의 Độ vững(견고성) 탭은 이 두 경우를 구별하도록 돕습니다. Tối ưu tham số(파라미터 최적화)는 보기 좋은 한 점이 아니라 파라미터 영역 전체를 보여 주고, Kiểm định độ vững(견고성 검증)은 전략이 보지 못한 데이터에서, 더 높은 비용과 더 늦은 체결로, 수천 개의 가상 시나리오에서 전략을 시험합니다.
이 페이지의 예시는 Momentum 6-1 xoay vòng hàng tháng(월간 순환 Momentum 6-1) 템플릿(템플릿 라이브러리에서는 Mua 10 mã tăng mạnh nhất 6 tháng, đổi mỗi tháng(6개월간 가장 많이 오른 10종목 매수, 매월 교체))이며, 데이터는 2026년 10월 15일까지입니다.

① 최적화 Mục tiêu(목표) — Tối đa Sharpe(Sharpe 최대화), Tối đa Lợi nhuận/năm(연간 수익률 최대화), Tối đa Calmar(Calmar 최대화), Tối đa Sortino(Sortino 최대화).
② Tối ưu(최적화) — 파라미터 그리드를 실행합니다(첫 실행 후에는 Tối ưu lại(다시 최적화)).
③ Tham số quét (tối đa 2)(스캔할 파라미터(최대 2개)) — 전략의 숫자형 파라미터입니다. 기본으로 처음 두 파라미터가 선택되어 있습니다. 눌러 서 선택 / 해제합니다.
④ Kiểm định(검증) — 여섯 가지 견고성 검사를 실행합니다(첫 실행 후에는 Chạy lại(다시 실행)).
⑤ Số biến thể đã thử trong hội thoại(대화에서 시험한 변형 수) — Deflated Sharpe 계산에 사용됩니다.
검사는 사용자의 브라우저에서 최대 4개 스레드로 병렬 실행됩니다(기기의 CPU 코어 수에 따름). 데이터가 이미 내려받아져 있으면 Momentum 6-1의 파라미터 조합 49개 최적화는 약 4초, 검증은 약 10초가 걸립니다. 더 무거운 전략은 몇 분이 걸릴 수 있습니다(한 번에 최대 5분). 최적화, 검증의 내부 실행은 보고 있는 결과를 바꾸지 않으며 시험한 변형 수에도 포함되지 않습니다. 단, 전략에 새로 실행한 결과가 없을 때(예: 저장된 결과를 방금 다시 열었을 때)는 Kiểm định이 먼저 Chạy lại를 누른 것처럼 전략을 한 번 다시 실행하며, 이 실행은 횟수에 포함됩니다.
파라미터 최적화
- 목표를 고릅니다. 보통 Sharpe(위험 대비 수익)이고, 낙폭을 가장 중시한다면 Calmar입니다.
- 스캔할 파라미터를 최대 2개 고릅니다. 숫자형 파라미터(정수, 실수, 퍼센트)만 스캔할 수 있으며, 나머지 파라미터는 현재 값을 유지합니다.
- Tối ưu(최적화)를 누릅니다. 진행 막대에 Đã chạy n/N bộ tham số(파라미터 조합 n/N 실 행됨)가 표시됩니다.
Studio는 각 파라미터의 선언된 값 범위(코드의 min–max, 선언이 없으면 기본값의 0.5배에서 1.5배)를 균등하게 나눕니다. 두 파라미터를 스캔하면 파라미터당 7개 값(49개 조합), 한 파라미터를 스캔하면 12개 값이며, 최대 200개 조합입니다. 최고 조합은 거래가 10건 이상인 조합만 고려합니다.

① Bộ tốt nhất(최고 조합) — 파라미터 값(열 · 행 순서)과 달성한 목표 값입니다. 마우스를 올리면 각 파라미터 이름이 보입니다.
② Deflated Sharpe — 여러 조합을 시험한 점을 감안했을 때 최고 조합의 Sharpe가 실제로 0보다 클 확률입니다. 95% 이상 Khó là may mắn(운일 가능성 낮음, 초록), 50–95% Có thể do may mắn(운일 수 있음, 노랑), 50% 미만 Nhiều khả năng do may mắn(운일 가능성 높음, 빨강).
③ Độ ổn định vùng tối ưu(최적 영역 안정성) — 최고 칸에 인접한 칸들의 평균 목표 값 ÷ 최고 칸의 목표 값입니다. 70% 이상이면 Vùng phẳng — bền(평탄한 영역 — 견고함, 초록), 그보다 낮으면 Đỉnh nhọn — dễ quá khớp(뾰족한 봉우리 — 과적합 위험, 노랑, 40% 미만은 빨강)입니다.
④ Đã thử(시험함) — 파라미터 조합 수, 실행 시간(오류 난 조합 수가 있으면 함께 표시).
⑤ 최고 칸 — 초록 테두리.
⑥ 히트맵 — 첫 번째 파라미터(열) × 두 번째 파라미터(행)에 따른 목표 값입니다. 초록은 그리드 전체 중간값보다 좋고, 빨강은 나쁩니다(목표가 Lợi nhuận/năm이면 초록 수익, 빨강 손실). 칸에 마우스를 올리면 값이 보이고, 칸을 누르면 그 파라미터 조합이 전략에 적용됩니다(Studio가 바로 다시 실행).
파라미터 하나를 스캔하면 Studio는 히트맵 대신 파라미터 값에 따른 목표 값의 선 차트를 그립니다.

히트맵 아래 표는 목표 기준 상위 10개 조합을 LN/năm(연간 수익률), Sharpe, Sụt giảm(낙폭), Lệnh(거래 수)과 함께 나열합니다. ① Áp dụng(적용) — 그 조합을 전략에 사용합니다(파라미터 변경, 새 버전을 만들지 않음, 사용 중인 조합은 Đang dùng(사용 중)으로 표시). 적용할 때마다 한 번의 실행이며, 시험한 변형 수에 포함됩니다.
최적화 결과 읽기. "어느 조합이 가장 좋은가?"가 아니라 "어느 영역이 좋은가?"를 물으세요. Momentum 6-1에서 49개 조합의 Sharpe는 0.76에서 1.13 사이이며, 대부분 0.9–1.1 부근입니다. 92–188세션으로 측정한 상승세가 모두 비슷한 결과를 내며, **Độ ổn định vùng tối ưu 90%**입니다. 최고 조합(124세션, 최근 7세션 제외)은 옆 칸들보다 조금 나을 뿐이므로, Sharpe 0.1을 더 얻으려고 기본 파라미터를 바꿀 가치는 없습니다. 반대로 빨간 영역 한가운데에 진한 초록 칸 하나가 있다면, 좋은 결과는 우연일 가능성이 큽니다.
49개 조합 중 최고를 고르면 Sharpe는 항상 실제보다 높게 나옵니다. Deflated Sharpe는 그 부분을 이미 뺐습니다. 그래도 최적화 후에는 고른 조합으로 견고성 검증을 하고, 평탄한 영역 한가운데 있는 조합을 우선하세요.
전략에 숫자형 파라미터가 없으면 최적화 부분에 Chiến lược chưa khai báo tham số số (param.int / num / pct) — nhờ AI thêm tham số để tối ưu.(전략에 숫자형 파라미터(param.int / num / pct)가 선언되지 않음 — 최적화하려면 AI에게 파라미터 추가를 요청하세요)가 표시됩니다. 최적화 중 오류가 나면 이유와 함께 Không tối ưu được(최적화할 수 없음) 상자가 나타납니다.
견고성 검증
Kiểm định(검증)을 누르면 최신 버전과 현재 파라미터로 여섯 가지 검사를 실행합니다. Ngoài mẫu 70/30 · walk-forward 4 đoạn · Monte Carlo 1.000 lần · phí ×2 · khớp trễ · theo xu hướng thị trường(표본 외 70/30 · 4구간 walk-forward · Monte Carlo 1,000회 · 수수료 ×2 · 지연 체결 · 시장 추세별)입니다.

① 종합 점수 — 통과한 검사 수 / 전체 수입니다. 80% 이상 통과하면 초록 원, 50% 이상이면 노랑, 그보다 낮으면 빨강입니다.
② 개별 검사 — ✓ 통과, ✗ 불통과, ? 결론을 내기에 데이터 부족이며, 작은 줄은 수치입니다.
③ Nhờ Copilot nhận xét(Copilot에게 평가 요청) — 결과를 Quant 어시스턴트에게 보내 평가와 전략을 더 견고하게 만드는 방법을 제안받습니다(Quant 어시스턴트 참고).
④ Trong mẫu / ngoài mẫu(표본 내 / 표본 외) — 아래를 참고하세요.
⑤ Độ nhạy chi phí & khớp lệnh(비용 & 체결 민감도) — 아래를 참고하세요.
| 검사 | 통과 조건 | 답하는 질문 |
|---|---|---|
| Ngoài mẫu giữ được hiệu quả(표본 외에서도 성과 유지) | 표본 외 Sharpe가 0보다 크고 표본 내 Sharpe의 절반 이상 | 아이디어가 이후 구간에서도 여전히 효과가 있는가? |
| Walk-forward có lãi ổn định(Walk-forward 안정적 수익) | 테스트 구간을 이어 붙인 자산 곡선의 Sharpe가 0.5 이상 | 미 래를 미리 알지 못한 채 주기적으로 파라미터를 다시 고르면 수익이 나는가? |
| Chịu được phí gấp đôi(두 배 수수료 감당) | 거래 수수료와 슬리피지를 두 배로 해도 연간 수익률이 여전히 양수 | 실제 비용이 가정보다 높아도 견딜 만큼 수익이 두터운가? |
| Không phụ thuộc khớp lệnh sớm(이른 체결에 의존하지 않음) | 체결을 1세션 늦춰도 연간 수익률이 여전히 양수이고 원래의 절반 이상 | 주문이 한 박자 늦으면 우위가 사라지는가? |
| Ít khả năng thua lỗ cả kỳ(전체 기간 손실 가능성 낮음) | Monte Carlo 시나리오 중 전체 기간 후 손실인 비율이 20% 미만 | 결과가 운 좋은 세션들의 정확한 순서에 의존하는가? |
| Không chỉ là may mắn(운만은 아님) | 대화에서 시험한 변형 수 기준 Deflated Sharpe 90% 이상 | 시험한 횟수를 감안해도 결과가 버티는가? |
여섯 가지를 모두 통과해도 전략이 앞으로 이긴다는 뜻은 아닙니다. 한두 가지를 통과하지 못하면 알아볼 이유이지, 아직 버릴 이유는 아닙니다. 다음 부분에서 각 검사와 읽는 법을 설명합니다.
표본 내 / 표본 외
Studio는 테스트 기간을 70% 지점 세션에서 나누어, 앞부분(Trong mẫu(표본 내))과 뒷부분(Ngoài mẫu(표본 외))을 각각 따로 실행하고(각 부분은 현금에서 시작) LN/năm(연간 수익률), Sharpe, Sụt giảm(낙폭), Lệnh(거래 수)을 비교합니다.
Momentum 6-1은 2023년 7월 19일에서 나뉩니다. 표본 내 연 +18.7%, Sharpe 1.32, 표본 외 +6.3%, Sharpe 0.43 — 여전히 수익이지만 절반 미만이므로 이 검사는 불통과입니다. 최근 3년은 이 전략에 훨씬 어려웠습니다. 이는 전체 기간의 어떤 평균 수치보다 중요한 정보입니다.
전체 기간 결과를 보면서 조건, 파라미터를 조정했다면 표본 외 부분이 간접적으로 선택에 영향을 준 것입니다. 그럴 때는 이 검사를 시간에 따른 안정성 검사로 보고, walk-forward에 더 의존하세요.
Walk-forward
Walk-forward는 실제로 전략을 쓰는 방식을 시뮬레이션합니다. 이미 가진 데이터로 주기적으로 파라미터를 다시 고르고, 알 수 없는 다음 구간에서 거래를 이어 갑니다.
- 기간의 처음 40%는 초기 파라미터를 고르는 데이터이고, 나머지는 연속된 4개 테스트 구간으로 나뉩니다.
- 각 구간에서 Studio는 현재 파라미터 주변의 조합 — 처음 두 숫자형 파라미터, 각각 × 0.7 / × 1 / × 1.3(최대 9개 조합) — 을 그 구간 이전의 모든 데이터로 시험해 Sharpe가 가장 높은 조합(최소 5건 거래)을 고른 뒤, 고른 조합으로 그 구간을 실행합니다.
- 테스트 구간들을 이어 붙여 하나의 자산 곡선을 만듭니다. 미래를 미리 알지 못한 채 이 절차를 그대로 따랐을 때 얻는 결과입니다.

① Monte Carlo — 아래를 참고하세요.
② Xác suất lỗ cả kỳ(전체 기간 손실 확률) — Monte Carlo 시나리오 중 초기 자본 아래에서 끝나는 비율입니다.
③ Walk-forward — 테스트 구간을 이어 붙인 자산 곡선입니다.
④ Tham số chọn(선택된 파라미터) — 구간별로 선택된 파라미터 조합(코드상의 파라미터 이름)과 그 구간의 LN/năm, Sharpe입니다.
Walk-forward 읽기. Momentum 6-1에서 이어 붙인 자산 곡선은 Sharpe 1.21, 연 +21.5% 수익입니다. 하지만 구간별로 읽어야 분명해집니다. 2020년 4월–2021년 12월 구간은 연 +87.4% 수익, 가운데 두 구간(2021년 12월–2025년 2월)은 거의 본전, 마지막 구간은 **+14.7%**입니다. 이어 붙인 수치가 좋은 것은 주로 시장이 크게 오른 한 구간 덕분입니다. 좋은 점: 선택된 파라미터가 구간 사이에 거의 바뀌지 않습니다(lookback=126, skip 15–21). 파라미터가 구간마다 제멋대로 바뀌면 과적합의 신호입니다.
Monte Carlo
Studio는 전략의 세션별 수익률 시계열을 가져와 연속된 20세션 블록을 무작위로(복원 추출) 뽑아 이어 붙여 — 단기 변동 리듬을 유지하며 — 같은 길이의 가상 자산 곡선 1,000개를 만들고, 결과의 분포를 측정합니다. 추출 방식이 고정되어 있어 다시 실행해도 같은 결과가 나옵니다.
| 측정값 | 의미 |
|---|---|
| LN/năm trung vị(연간 수익률 중앙값, 보조 줄 5%, 95%) | 중간 시나리오, 나쁜 시나리오(시나리오 중 하위 5%), 좋은 시나리오의 연간 수익률 |
| Sụt giảm trung vị(낙폭 중앙값, 보조 줄 Xấu (5%)(나쁨(5%))) | 흔히 겪는 최대 낙폭과, 마음의 준비를 해야 할 수준 |
| Xác suất lỗ cả kỳ(전체 기간 손실 확률) | 10% 미만 초록, 10–30% 노랑, 30% 초과 빨강 |
| 차트 | 시간에 따른 자산 곡선의 Trung vị(중앙값)와 Dải 5–95%(5–95% 범위) |
Momentum 6-1: 수익률 중앙값 연 +14.7%(나쁜 시나리오 +6.0%), 낙폭 중앙값 -27.4%, 나쁜 시나리오 -43.7%, 손실 확률 0.4%. 즉 보고서의 낙폭 **-25.7%**는 실제로 일어난 한 시나리오일 뿐이므로 -40% 안팎을 대비해야 합니다. Monte Carlo는 이미 있는 세션들을 뒤섞을 뿐 한 번도 없었던 시장 상황을 만들어 내지 않으므로 walk-forward를 대신할 수 없습니다.
비용과 체결 민감도
| 줄 | 다시 실행하는 조건 |
|---|---|
| Gốc(원본) | 이번 실행의 가정(설정 기준) |
| Phí & trượt giá ×2(수수료 & 슬리피지 ×2) | 거래 수수료와 슬리피지 두 배(매도세는 그대로) |
| Khớp trễ thêm 1 phiên(1세션 추가 지연 체결) | 가정보다 한 세션 늦게 체결(예: 신호 두 세션 후 시가) |
Momentum 6-1은 수수료가 두 배가 되면 연 **+14.8%**에서 +12.5%로 낮아지고, 지연 체결에는 거의 변하지 않습니다(+15.0%). 우위가 정확한 세션 체결이 아니라 여러 달에 걸친 추세에 있기 때문입니다. 거래가 잦은 전략(회전율 높음)은 수수료에 민감하고, 단기 변동을 노리는 전략은 지연 체결에 민감합니다. 한 세션 늦을 때 결과가 크게 떨어지면 실제로는 달성하기 매우 어렵다는 뜻입니다.
시장 추세별

Studio는 VNINDEX가 200세션 이동평균선 위인지 아래인지(직전 세션까지의 데이터로 판단, 미리 보지 않음)에 따라 세션을 나눈 뒤, 상태별로 Tỷ lệ thời gian(시간 비율), LN/năm chiến lược(전략 연간 수익률), LN/năm chỉ số(지수 연간 수익률), Sharpe를 계산합니다. 이 검사는 통과 / 불통과를 매기지 않고 전략이 언제 돈을 버는지 알려 줍니다. Momentum 6-1은 시장이 MA200 위일 때 연 +23.5%(지수 +15.2%) 수익을 내고, 시장이 MA200 아래일 때는 거의 제자리입니다(-1.6%, 지수 -1.7%). 시장이 약할 때 쉬도록 설계한 그대로입니다.
Deflated Sharpe
변형을 많이 시험한 뒤 가장 좋은 것만 남길수록, 어떤 변형에도 실제 우위가 없더라도 그 변형의 Sharpe는 더 부풀려집니다. Deflated Sharpe(Bailey와 López de Prado)는 실제 Sharpe가 N번 시험 후 운으로 만날 수 있는 가장 높은 Sharpe 수준보다 클 확률입니다.
SR* = √V × ((1 − γ) × Φ⁻¹(1 − 1/N) + γ × Φ⁻¹(1 − 1/(N × e)))
Deflated Sharpe = PSR so với SR* (xem PSR ở Đọc báo cáo backtest)
N: số lần thử; V: phương sai của Sharpe giữa các lần thử (khi tối ưu) hoặc phương sai ước lượng của chính Sharpe (khi kiểm định);
γ ≈ 0,5772 (hằng số Euler–Mascheroni); Φ⁻¹: hàm ngược của phân phối chuẩn; Sharpe tính theo phiên
| 위치 | N은 |
|---|---|
| 최적화 시 Deflated Sharpe | 시험한 파라미터 조합 수(거래 10건 이상) |
| 검증 시 Không chỉ là may mắn(운만은 아님) 검사, 보고서 신뢰도 상자의 Deflated Sharpe x% 이유 | 대화에서 시험한 변형 수 |
| Quant 어시스턴트의 결과 카드(DSR · n lần thử(n회 시험)) | 위와 같음 |
시험한 변형 수는 같은 대화에서 전략을 실행한 횟수입니다. Chạy lại(다시 실행)를 누르거나, 파라미터를 끌거나, 조합을 Áp dụng(적용)하거나, 어시스턴트가 변형을 실행할 때마 다 한 번으로 셉니다. 최적화, 검증의 내부 실행은 세지 않습니다. 새 대화를 시작하면 다시 셉니다. 하지만 시험 횟수를 "지우려고" 새 대화를 여는 것은 스스로를 속이는 일입니다. 그 숫자는 바로 여러분의 연구 과정을 측정하기 때문입니다.
읽는 기준: 95% 이상은 운으로 보기 어려움, 50–95%는 운일 수 있음, 50% 미만은 운일 가능성이 높음. 검증 검사는 90% 이상이면 통과입니다. PSR도 참고하세요.
과적합의 신호
- Sharpe 2–3 초과, 거래가 적은데 profit factor 3 초과(참고 기준 참고).
- 히트맵의 빨간 영역 한가운데 진한 초록 칸 하나, Độ ổn định vùng tối ưu(최적 영역 안정성) 40% 미만.
- 표본 외가 표본 내의 절반 미만, walk-forward 구간에서 손실, 또는 선택된 파라미터가 구간마다 제멋대로 바뀜.
- 수익이 한 해, 몇 종목에 몰림(연도별 수익률, 종목별 거래 참고).
- 수수료가 두 배가 되거나 체결이 한 세션 늦으면 결과가 크게 떨어짐.
- 경제적 근거 없이 조건이 많고 어중간한 파라미터가 많음(RSI 30 대신 27, MA 50 대신 43).
- 대화에서 여러 번 시험한 뒤 Deflated Sharpe가 낮음.
아이디어 검증 절차
- 실행 전에 가설을 쓰세요 — 명확한 규칙과 그것이 베트남 시장에서 효과가 있어야 하는 이유(자금 흐름, 투자자 행동, T+2 특성, 가격 제한폭 등).
- "자연스러운" 파라미터로 실행하세요(어림수, 흔히 쓰는 값). 그리고 여섯 가지 질문에 따라 보고서를 읽으세요.
- 핵심 파라미터 1–2개를 최적화해 영역을 보세요. 가장 보기 좋은 칸이 아니라 평탄한 영역 한가운데의 조합을 고르세요.
- 고른 조합으로 견고성을 검증하세요. 종합 점수만이 아니라 표본 외와 각 walk-forward 구간을 꼼꼼히 읽으세요.
- 단순한 대안과 비교하세요 — 같은 기간 지수를 사서 보유하는 것입니다. 더 복잡한 전략은 그만큼의 수고와 위험을 보상해야 합니다.
- 돈을 쓰기 전에 지켜보세요 — 매달 다시 실행해 새 결과가 예상한 Monte Carlo 범위 안에 있는지 보세요.
- 중단 조건을 미리 정하세요 — 예를 들어 낙폭이 Monte Carlo의 나쁜 수준(5%)을 넘으면 손실 중에 결정하는 대신 멈추고 검토합니다.
Quant 어시스턴트는 Copilot 창에서 바로 이 단계들을 수행할 수 있습니다. "RSI 기준값을 최적화해 줘", "이 전략의 견고성을 검증해 줘" — Quant 어시스턴트를 참고하세요.
멤버십 플랜
최적화와 견고성 검증에는 Professional 플랜 이상이 필요합니다. Essential 플랜에서는 Độ vững(견고성) 탭은 보이지만, 그 자리에 Nâng cấp(업그레이드) 버튼이 있는 Tối ưu & kiểm định độ vững(최적화 & 견고성 검증) 상자가 나타납니다. 전체 표는 플랜, 한도와 FAQ에 있습니다.
Professional 一份漂亮的回测报告可能来自一个好想法 — 也可能来自运气,以及为贴合过去而调整参数(过拟合)。策略的 Độ vững(稳健性)标签页帮助区分这两种情况:Tối ưu tham số(参数优化)展示整个参数区域,而不只是一个好看的点;Kiểm định độ vững(稳健性检验)在策略未见过的数据上、以更高的成本、更慢的成交以及数千个假设情景来测试策略。
本页示例为模板 Momentum 6-1 xoay vòng hàng tháng(每月轮动的 Momentum 6-1;在模板库中为 Mua 10 mã tăng mạnh nhất 6 tháng, đổi mỗi tháng(买入 6 个月涨幅最大的 10 只股票,每月调仓)),数据截至 2026年10月15日。

① 优化的 Mục tiêu(目标)— Tối đa Sharpe(最大化 Sharpe)、Tối đa Lợi nhuận/năm(最大化年化收益)、Tối đa Calmar(最大化 Calmar)、Tối đa Sortino(最大化 Sortino)。
② Tối ưu(优化)— 运行参数网格(首次之后变为 Tối ưu lại(重新优化))。
③ Tham số quét (tối đa 2)(扫描参数,最多 2 个)— 策略的数值型参数;默认预选前两个参数。点击以选择 / 取消。
④ Kiểm định(检验)— 运行六项稳健性检查(首次之后变为 Chạy lại(重新运行))。
⑤ 对话中已尝试的变体数 — 用于计算 Deflated Sharpe。
这些测试在您的浏览器中运行,最多并行 4 个线程(取决于电脑的 CPU 核心数)。在数据已加载的情况下,优化 Momentum 6-1 的 49 组参数约需 4 秒,检验约需 10 秒;更重的策略可能需要几分钟(每轮最多 5 分钟)。优化、检验的内部运行不会改变正在查看的结果,也不计入已尝试的变体数。唯独当策略还没有新运行的结果时(例如刚重新打开一个已保存的结果),Kiểm định(检验)会先像点击 Chạy lại(重新运行)一样重新运行一次策略 — 这一次会被计入。
参数优化
- 选择目标 — 通常为 Sharpe(风险调整收益);当您最关心回撤幅度时选 Calmar。
- 选择最多 2 个要扫描的参数。只有数值型参数(整数、实数、百分比)可以扫描;其他参数保持当前值。
- 点击 Tối ưu(优化)。进度条显示 Đã chạy n/N bộ tham số(已运行 n/N 组参数)。
Studio 将每个参数声明的取值范围(代码中的 min–max;未声明则为默认值的 0.5 到 1.5 倍)等分:扫描两个参数时每个参数取 7 个值(49 组),扫描一个参数时取 12 个值;最多 200 组。最佳组只考虑交易笔数不少于 10 笔的组。

① Bộ tốt nhất(最佳组)— 各参数的值(按 列 · 行 的顺序)以及达到的目标值。鼠标悬停可查看每个参数的名称。
② Deflated Sharpe — 考虑到已尝试多组参数后,最佳组的 Sharpe 真正大于 0 的概率:95% 以上为 Khó là may mắn(难以归因于运气,绿色),50–95% 为 Có thể do may mắn(可能出于运气,黄色),低于 50% 为 Nhiều khả năng do may mắn(很可能出于运气,红色)。
③ Độ ổn định vùng tối ưu(最优区域稳定性)— 与最佳格相邻各格的平均目标值 ÷ 最佳格的目标值:70% 以上为 Vùng phẳng — bền(平坦区域 — 稳健,绿色);更低则为 Đỉnh nhọn — dễ quá kh ớp(尖峰 — 容易过拟合,黄色,低于 40% 为红色)。
④ Đã thử(已尝试)— 参数组数、运行时间(以及出错的组数,如有)。
⑤ 最佳格 — 绿色边框。
⑥ 热力图 — 目标值按第一个参数(列)× 第二个参数(行)分布;绿色表示优于整个网格的中位水平,红色表示较差(目标为 Lợi nhuận/năm(年化收益)时:绿色盈利、红色亏损)。将鼠标悬停在格子上查看数值;点击格子即可将该组参数应用到策略(Studio 立即重新运行)。
只扫描一个参数时,Studio 用目标值随参数值变化的折线图代替热力图。

热力图下方的表格按目标列出最佳的 10 组,附 LN/năm(年化收益)、Sharpe、Sụt giảm(回撤)、Lệnh(交易笔数)。① Áp dụng(应用)— 将该组用于策略(更改参数,不创建新版本;正在使用的组显示 Đang dùng(使用中))。每次应用都是一次运行,计入已尝试的变体数。
解读优化结果。 不要问“哪一组最好?”,而要问“哪个区域好?”。在 Momentum 6-1 中,49 组参数的 Sharpe 在 0.76 到 1.13 之间,大部分在 0.9–1.1 附近:用 92–188 个交易时段衡量涨势,结果都很接近,Độ ổn định vùng tối ưu(最优区域稳定性)为 90%。最佳组(124 个交易时段,跳过最近 7 个交易时段)只比相邻格略好 — 不值得为了多 0.1 的 Sharpe 而放弃默认参数。反之,如果一个深绿色格孤立于红色区域中:好看的结果很可能是偶然。
从 49 组中选出最佳组,得到的 Sharpe 总是高于真实水平。Deflated Sharpe 已扣除这一部分;即便如此,优化之后仍请用选定的参数组进行稳健性检验,并优先选择位于平坦区域中间的组。
策略尚未声明数值型参数时,优化部分显示 Chiến lược chưa khai báo tham số số (param.int / num / pct) — nhờ AI thêm tham số để tối ưu.(策略尚未声明数值型参数(param.int / num / pct)— 请 AI 添加参数以进行优化。)优化出错时显示 Không tối ưu được(无法优化)框并附原因。
稳健性检验
点击 Kiểm định(检验),以最新版本和当前参数运行六项测试:Ngoài mẫu 70/30 · walk-forward 4 đoạn · Monte Carlo 1.000 lần · phí ×2 · khớp trễ · theo xu hướng thị trường(样本外 70/30 · 4 段 walk-forward · 1,000 次 Monte Carlo · 费用 ×2 · 延迟成交 · 按市场趋势)。

① 总分 — 通过的检查数 / 总数;通过率 80% 以上为绿色圆环,50% 以上为黄色,更低为红色。
② 每项检查 — ✓ 通过,✗ 未通过,? 数据不足以下结论;小字为数据。
③ Nhờ Copilot nhận xét(请 Copilot 点评)— 把结果发送给 Quant 助手,以获得点评以及让策略更稳健的建议(参见 Quant 助手)。
④ Trong mẫu / ngoài mẫu(样本内 / 样本外)— 参见下文。
⑤ Độ nhạy chi phí & khớp lệnh(成本与成交敏感度)— 参见下文。
| 检查项 | 通过条件 | 回答的问题 |
|---|---|---|
| Ngoài mẫu giữ được hiệu quả(样本外保持有效) | 样本外 Sharpe 大于 0,且至少为样本内 Sharpe 的一半 | 这个想法在后一阶段是否仍然有效? |
| Walk-forward có lãi ổn định(walk-forward 稳定盈利) | 由各测试段拼接而成的资金曲线 Sharpe 不低于 0.5 | 如果定期重新选择参数而不预知未来,能否盈利? |
| Chịu được phí gấp đôi(经得起双倍费用) | 交易费用和滑点翻倍时,年化收益仍为正 | 利润是否足够厚,能承受高于假设的实际成本? |
| Không phụ thuộc khớp lệnh sớm(不依赖提前成交) | 成交再延迟 1 个交易时段时,年化收益仍为正且至少为原版的一半 | 当您下单慢了一拍,优势是否会消失? |
| Ít khả năng thua lỗ cả kỳ(全期亏损的可能性低) | 少于 20% 的 Monte Carlo 情景在全期结束时亏损 | 结果是否依赖于幸运交易时段的特定顺序? |
| Không chỉ là may mắn(不只是运气) | 按对话中已尝试的变体数计算,Deflated Sharpe 不低于 90% | 在考虑您尝试的次数后,结果是否仍站得住? |
六项全部通过并不意味着策略将来一定会赢;有一两项未通过是需要深入了解的理由,还不是放弃的理由。下面逐项解释各测试及其解读方法。
样本内 / 样本外
Studio 在测试期 70% 的交易时段处切分,分别运行前一部分(Trong mẫu(样本内))和后一部分(Ngoài mẫu(样本外))— 每部分都从 现金开始 — 然后比较 LN/năm(年化收益)、Sharpe、Sụt giảm(回撤)、Lệnh(交易笔数)。
Momentum 6-1 在 2023年7月19日切分:样本内每年 +18.7%,Sharpe 1.32;样本外 +6.3%,Sharpe 0.43 — 仍然盈利但不到一半,因此该项未通过。最近三年对这个策略明显更难;这比任何全期平均数字都更重要。
如果您是看着全期结果调整条件、参数的,样本外部分已经间接影响了您的选择。这时请把该项视为随时间的稳定性检查,并更多地依靠 walk-forward。
Walk-forward
Walk-forward 模拟您实际使用策略的方式:定期用已有数据重新选择参数,然后在未知的阶段继续 交易。
- 测试期的前 40% 是用于初始选参的数据;其余部分分为 4 个相连的测试段。
- 在每一段,Studio 在该段之前的全部数据上尝试当前参数附近的组合 — 前两个数值型参数,每个参数 × 0.7 / × 1 / × 1.3(最多 9 组)— 选出 Sharpe 最高的组(至少 5 笔交易),然后用刚选出的组运行该段。
- 把各测试段拼接成一条资金曲线:这就是您严格按此流程操作、且不预知未来时会得到的结果。

① Monte Carlo — 参见下文。
② Xác suất lỗ cả kỳ(全期亏损概率)— 以低于初始资金结束的 Monte Carlo 情景比例。
③ Walk-forward — 由各测试段拼接而成的资金曲线。
④ Tham số chọn(所选参数)— 每一段选出的参数组(代码中的参数名),附该段的 LN/năm(年化收益)、Sharpe。
解读 walk-forward。 在 Momentum 6-1 中,拼接后的资金曲线 Sharpe 为 1.21,收益为每年 +21.5% — 但逐段阅读才看得清楚:2020年4月–2021年12月 这一段每年盈利 +87.4%,中间两段(2021年12月–2025年2月)几乎持平,最后一段为 +14.7%。拼接后的漂亮数字主要得益于一个市场大涨的阶段。优点是:各段之间选出的参数几乎不变(lookback=126,skip 15–21)— 参数在各段之间乱跳是过拟合的信号。
Monte Carlo
Studio 取策略每个交易时段的收益序列,随机(有放回地)抽取每块 20 个连续交易时段并拼接起来 — 保留短期波动节奏 — 构建 1,000 条相同长度的假设资金曲线,然后衡量结果的分布。抽样方式固定,因此重新运行会得到相同结果。
| 度量 | 含义 |
|---|---|
| LN/năm trung vị(年化收益中位数;副行 5%、95%) | 中间情景、坏情景(5% 的情景比它更差)和好情景的年化收益 |
| Sụt giảm trung vị(回撤中位数;副行 Xấu (5%)(坏情景,5%)) | 常见的最大回撤幅度,以及您应做好心理准备的幅度 |
| Xác suất lỗ cả kỳ(全期亏损概率) | 低于 10% 为绿色,10–30% 为黄色,高于 30% 为红色 |
| 图表 | 资金曲线随时间的 Trung vị(中位数)和 Dải 5–95%(5–95% 区间) |
Momentum 6-1:收益中位数每年 +14.7%(坏情景 +6.0%),回撤中位数 -27.4%,坏情景 -43.7%,亏损概率 0.4%。这意味着报告中 -25.7% 的回撤只是已经发生的一种情景 — 请为 -40% 左右的回撤做好准备。Monte Carlo 只是打乱已有的交易时段:它不会制造从未发生过的市场情况,因此不能替代 walk-forward。
成本与成交敏感度
| 行 | 重新运行时使用 |
|---|---|
| Gốc(原始) | 本次运行的假设(按设置) |
| Phí & trượt giá ×2(费用与滑点 ×2) | 交易费用和滑点翻倍(卖出税不变) |
| Khớp trễ thêm 1 phiên(成交再延迟 1 个交易时段) | 订单比假设再晚一个交易时段成交(例如信号后第二个交易时段的开盘价) |
费用翻倍时,Momentum 6-1 从每年 +14.8% 降至 +12.5%,延迟成交时几乎不变(+15.0%):优势在于持续数月的趋势,而不在于是否在正确的交易时段成交。交易频繁(换手率高)的策略对费用敏感;赚取短期波动的策略对延迟成交敏感 — 延迟一个交易时段结果就大幅下滑,意味着在现实中很难达到。
按市场趋势

Studio 按 VNINDEX 处于 200 交易时段均线之上还是之下来划分交易时段(用截至前一交易时段的数据判断,不偷看未来),然后为每种状态计算 Tỷ lệ thời gian(时间占比)、LN/năm chiến lược(策略年化收益)、LN/n ăm chỉ số(指数年化收益)和 Sharpe。这项测试不判定通过 / 未通过,而是告诉您策略何时赚钱:Momentum 6-1 在市场高于 MA200 时每年盈利 +23.5%(指数 +15.2%),在市场低于 MA200 时几乎原地不动(-1.6%,指数 -1.7%)— 这正符合其在市场疲弱时休息的设计。
Deflated Sharpe
尝试的变体越多、再保留最好看的版本,该版本的 Sharpe 就越被夸大 — 即使没有任何变体真正具有优势。Deflated Sharpe(Bailey 与 López de Prado)是 Sharpe 真正大于 N 次尝试后您可能因运气而遇到的最高 Sharpe 水平的概率:
SR* = √V × ((1 − γ) × Φ⁻¹(1 − 1/N) + γ × Φ⁻¹(1 − 1/(N × e)))
Deflated Sharpe = PSR so với SR* (xem PSR ở Đọc báo cáo backtest)
N: số lần thử; V: phương sai của Sharpe giữa các lần thử (khi tối ưu) hoặc phương sai ước lượng của ch ính Sharpe (khi kiểm định);
γ ≈ 0,5772 (hằng số Euler–Mascheroni); Φ⁻¹: hàm ngược của phân phối chuẩn; Sharpe tính theo phiên
| 位置 | N 是 |
|---|---|
| 优化时的 Deflated Sharpe | 已尝试的参数组数(交易笔数不少于 10 笔) |
| 检验时的 Không chỉ là may mắn(不只是运气)测试;报告可信度框中的 Deflated Sharpe x% 原因 | 对话中已尝试的变体数 |
| Quant 助手的结果卡片(DSR · n lần thử(DSR · n 次尝试)) | 同上 |
已尝试的变体数是同一对话中运行策略的次数:每次点击 Chạy lại(重新运行)、拖动参数、Áp dụng(应用)一组参数,或助手运行一个变体,都算一次;优化、检验的内部运行不计入。新对话重新开始计数 — 但只为“清零”尝试次数而开新对话是自欺欺人:这个数字衡量的正是您自己的研究过程。
解读标准:95% 以上难以归因于运气;50–95% 可能出于运气;低于 50% 很可能出于运气。检验测试在 90% 以上即通过。另请参见 PSR。
过拟合的迹象
- Sharpe 高于 2–3,交易笔数少而 profit factor 高于 3(参见参考标准)。
- 热力图中有一个深绿色格位于红色区域中间;Độ ổn định vùng tối ưu(最优区域稳定性)低于 40%。
- 样本外不到样本内的一半;walk-forward 各段亏损,或选出的参数在各段之间乱跳。
- 收益集中在某一年、某几只股票(参见年度收益、按股票的交易)。
- 费用翻倍或延迟一个交易时段成交时结果大幅下滑。
- 条件多、参数取零碎数值(RSI 27 而不是 30,MA 43 而不是 50)却没有经济上的理由。
- 对话中多次尝试后 Deflated Sharpe 偏低。
验证一个想法的流程
- 运行前先写下假设 — 明确的规则,以及它为何应在越南市场有效的理由(资金流、投资者行为、T+2 特点、涨跌幅限制…)。
- 用“自然”的参数运行(整数、常用值),并按六个问题阅读报告。
- 优化 1–2 个主要参数以观察区域;选择平坦区域中间的组,而不是最好看的格。
- 用选定的组进行稳健性检验;仔细阅读样本外和 walk-forward 的每一段,而不只是总分。
- 与简单方案比较 — 同期买入并持有指数:更复杂的策略必须能弥补所付出的精力和风险。
- 投入资金前先跟踪 — 每个月后重新运行,看新结果是否落在 Monte Carlo 预期的区间内。
- 预先设定停止条件 — 例如回撤超过 Monte Carlo 的坏情景水平(5%)就停下来复盘,而不是在亏损当中做决定。
Quant 助手可以直接在 Copilot 窗格中完成这些步骤 —“优化 RSI 阈值”、“检验这个策略的稳健性” — 参见 Quant 助手。
会员套餐
优化和稳健性检验需要 Professional 及以上套餐。在 Essential 套餐下,Độ vững(稳健性)标签页仍会显示,但内容替换为 Tối ưu & kiểm định độ vững(优化与稳健性检验)框并附 Nâng cấp(升级)按钮。完整对照表见套餐、限制与常见问题。