R-multiple là gì? Đo lợi nhuận theo bội số rủi ro ban đầu
R-multiple đo profit/loss theo bội số risk ban đầu (1R = stop loss distance). Khái niệm Van Tharp, công thức, Python, ý nghĩa R-distribution và áp dụng cho strategy VN.
R-multiple — concept của Van Tharp — đo lợi nhuận của 1 trade theo bội số rủi ro ban đầu (Initial Risk = R). 1R = khoảng cách từ entry đến stop loss × position size. Trade lãi 3R nghĩa kiếm 3 lần khoản risk ban đầu; trade lỗ 1R nghĩa stop-out đúng theo plan.
Ưu điểm: chuẩn hoá performance qua các trade với position size khác nhau. Một trade nhỏ lãi 3R và 1 trade lớn lãi 3R đều “tương đương” về mặt skill — chỉ khác về scale. R-distribution của 1 chiến lược cho biết shape của edge: nhiều R nhỏ (mean reversion) vs ít R lớn (trend following).
1. Định nghĩa & công thức
$$ R_i = \frac{P_i}{|InitialRisk_i|} $$
Với $P_i$ = profit/loss của trade $i$ (cùng đơn vị tiền), $InitialRisk_i$ = stop-loss distance × shares.
Expectancy theo R: $E_R = WR \cdot \text{AvgWinR} - (1-WR) \cdot \text{AvgLossR}$.
2. Cách tính bằng Python
import numpy as np
def r_multiples(trade_pnls, initial_risks):
"""
trade_pnls: PnL từng trade (cùng đơn vị, vd VND)
initial_risks: stop-loss risk ban đầu mỗi trade (cùng đơn vị)
"""
return np.array(trade_pnls) / np.abs(initial_risks)
def r_expectancy(r_values):
"""Expected R per trade."""
return np.mean(r_values)
def r_distribution_summary(r_values):
"""Phân bố R."""
return {
"mean_r": np.mean(r_values),
"median_r": np.median(r_values),
"max_r": np.max(r_values),
"min_r": np.min(r_values),
"pct_winners": np.mean(r_values > 0),
}
Code mẫu trên là khung tham khảo cho việc tự tính Bội số R. Khi tích hợp vào hệ thống production, cần thêm: validate input (NaN, length), handle edge cases (zero variance, empty series), unit test cho từng nhánh, và caching khi gọi nhiều lần trên cùng dataset.
3. Khoảng giá trị & cách diễn giải
| R-Expectancy | Đánh giá |
|---|---|
| < 0 | Negative edge — bỏ chiến lược |
| 0 – 0.2R | Marginal — phí dễ ăn hết |
| 0.2 – 0.5R | Acceptable |
| 0.5 – 1R | Tốt — typical swing strategy |
| 1 – 2R | Rất tốt |
| > 2R | Đáng nghi nếu sample lớn |
4. Giá trị điển hình theo loại tài sản / chiến lược
| Chiến lược | R-Expectancy điển hình |
|---|---|
| Scalping HFT | 0.05 – 0.15R |
| Mean reversion swing | 0.3 – 0.6R |
| Breakout swing | 0.5 – 1R |
| Trend following CTA | 0.5 – 1.5R |
| Long-tail strategies (options) | 1 – 3R (low WR) |
Lưu ý: bảng giá trị điển hình mang tính tham khảo, dựa trên quy ước cộng đồng quant và sample lịch sử công khai. Giá trị thực tế phụ thuộc dataset, period, và phương pháp tính cụ thể.
5. Bốn cạm bẫy phổ biến khi sử dụng
-
Initial Risk phải define rõ và stick: nếu di chuyển stop loss mid-trade, R bị méo. Quy ước: R = stop ban đầu, không phải stop tại exit.
-
Position sizing đóng vai trò kép: R-multiple normalize size, nhưng size impact tâm lý và execution khác nhau.
-
Sample mạnh: cần ≥ 50 trade để R-distribution có ý nghĩa.
-
Slippage không cố định: R thực tế có thể vượt 1R nếu gap qua stop (limit-down VN).
6. Khi nào chỉ số này gây hiểu lầm
R-multiple misleading khi: (1) chiến lược không có stop loss rõ (DCA, average down) → khó define 1R; (2) gap risk lớn (limit-down) → realized R lỗ vượt -1R; (3) sample nhỏ; (4) so sánh giữa các chiến lược với R-definition khác nhau.
7. Đặc thù khi áp dụng cho TTCK Việt Nam
Tại VN, biên độ ±7% HOSE limit gap risk trong 1 phiên ở -7%, nhưng multi-day gap (limit-down clusters) có thể tạo loss vượt nhiều lần 1R nếu position lớn. Khi backtest VN30, nên simulate worst-case slippage tại 1.5R cho gap event. Trader retail thường set 1R = 1-2% capital — cần stick với rule này để R-multiple có ý nghĩa.
8. Các chỉ số liên quan trong cùng hệ thống
Bội số R (R) không nên đọc đơn lẻ. Trong báo cáo rủi ro chuyên nghiệp, nó luôn được trình bày cùng các chỉ số bổ sung để cross-check và tránh blindspot. Các chỉ số liên quan đã trình bày trong chuỗi bài này:
9. Tham khảo học thuật
-
Tharp, V. (2006). Trade Your Way to Financial Freedom (2nd ed.). McGraw-Hill.
-
Tharp, V. (2008). Definitive Guide to Position Sizing. International Institute of Trading Mastery.
10. Câu hỏi thường gặp
Bội số R bao nhiêu là tốt? Tham khảo bảng diễn giải ở mục 3. Không có ngưỡng “tốt tuyệt đối” — phụ thuộc loại chiến lược, sample size, và benchmark tham chiếu.
Làm sao tự tính Bội số R trên danh mục cá nhân? Sử dụng code Python mẫu ở mục 2. Input cần thiết: chuỗi returns hàng phiên (daily) của danh mục, tối thiểu 252 phiên (1 năm) để có ý nghĩa thống kê.
Bội số R có khác giữa thị trường VN và quốc tế không? Có. Đặc thù VN (biên độ ±7% HOSE, T+2.5, cấm short cơ sở) ảnh hưởng đến cách tính và diễn giải. Chi tiết ở mục 7.
Ghi chú phương pháp: Bài viết tổng hợp định nghĩa, công thức, và quy ước cộng đồng quant cho chỉ số Bội số R (R). Các giá trị điển hình mang tính tham khảo, không phải khuyến nghị đầu tư. Người đọc tự kiểm chứng trên dữ liệu của mình trước khi sử dụng cho quyết định vốn thật.
Miễn trừ trách nhiệm: Nội dung mang tính phân tích định lượng, không phải khuyến nghị đầu tư. Nhà đầu tư tự chịu trách nhiệm với quyết định của mình.
Áp dụng vào tài khoản thật?
Mở tài khoản chứng khoán qua mã giới thiệu — nhận tư vấn 1-1, DIAMOND signal VN30 miễn phí 6 tháng, ưu đãi phí giao dịch.
CTCK VPS Securities
- Mã IB: 9836 (mở online 15 phút)
- Phí 0.15% · margin 13%/năm
- + DIAMOND signal VN30 — 6 tháng
- + Tư vấn cơ cấu danh mục 1-1
Gói VIP / DIAMOND
- Tín hiệu VN30 + Midcap hằng phiên
- Backtest 5-15 năm minh bạch
- Báo cáo NAV hằng tháng
- Workshop định lượng hằng tháng
⚠️ Giao dịch chứng khoán có rủi ro mất vốn. Chỉ đầu tư số tiền bạn có thể chịu mất. P.Thai Capital không khuyến nghị mua/bán cụ thể và không bảo lãnh lợi nhuận.
Lý thuyết bài này có thể test trên dữ liệu của bạn:
P.Thai Capital