Position sizing với ATR: để biến động thị trường tự điều chỉnh khối lượng lệnh
Trong position-sizing,
ta đã tính khối lượng lệnh như sau:
Position size = 1R (mức lỗ cho phép) ÷ khoảng cách tới stop
Trong bài này, ta tiến thêm một bước:
Thay „khoảng cách stop“
bằng khoảng cách dựa trên ATR,
để size tự động phản ứng với biến động thị trường.
Giả định bạn đã đọc
atr.
1. Tại sao dùng ATR để tính size?
Với stop cố định, ta thường nghe:
- „Stop luôn cách entry 2 %,“ hoặc
- „Stop luôn cách entry 100 USD.“
Vấn đề là:
-
bạn dùng cùng một khoảng giá
trong cả thị trường yên ả lẫn giai đoạn siêu biến động. -
Thị trường yên ả: 100 USD là di chuyển khá lớn.
-
Thị trường nóng: 100 USD có thể chỉ là
dao động bình thường của 1 cây nến.
ATR (Average True Range) trả lời:
„Thời gian gần đây,
trung bình mỗi cây nến dao động bao nhiêu?“
Ý tưởng của ATR sizing:
- Thị trường yên ả (ATR thấp) →
với cùng 1R, bạn có thể vào size lớn hơn. - Thị trường biến động mạnh (ATR cao) →
với cùng 1R, size cần nhỏ lại.
2. Nguyên liệu cho ATR-based position sizing
Cấu trúc rất giống với phương pháp cơ bản:
- Kích thước tài khoản
- Risk mỗi lệnh (1R)
- ví dụ 1 % tài khoản,
theo risk-reward.
- ví dụ 1 % tài khoản,
- Giá trị ATR hiện tại
- theo atr,
ví dụ ATR(14) trên Daily, 4H…
- theo atr,
- Hệ số ATR (ATR multiple)
- ví dụ 1 ATR, 1.5 ATR, 2 ATR,
- dùng để định nghĩa:
„khoảng stop ≒ ATR × n“.
Khi đó:
Khoảng stop ≒ ATR × n
Position size = 1R ÷ khoảng stop
Giờ thử bằng một ví dụ.
3. Ví dụ: BTC spot, lệnh Long dựa trên Daily ATR
Giả sử:
- Tài khoản: 10.000 USD
- Risk mỗi lệnh: 1 % → 1R = 100 USD
- Instrument: BTC
- Timeframe entry: Daily
- Theo atr,
ATR(14) trên Daily = 400 USD.
3-1. Đặt khoảng stop bằng hệ số ATR
Chiến lược quy định:
- „Stop nằm 1.5 ATR dưới giá entry.“
Khi đó:
- Khoảng stop = ATR × 1.5
- = 400 × 1.5 = 600 USD
Nếu giữ 1 BTC,
bị stop sẽ lỗ 600 USD.
3-2. Tính khối lượng lệnh
Bạn chỉ muốn lỗ tối đa 1R = 100 USD
khi chạm stop.
Position size = 1R ÷ lỗ trên 1 BTC
- Lỗ trên 1 BTC = 600 USD
- 1R = 100 USD
→ Position size = 100 ÷ 600 ≒ 0,166 BTC
Kết quả:
- Stop hit → lỗ ~600 × 0,166 ≒ 100 USD = −1R.
Nếu sau đó ATR tăng lên 800 USD,
stop 1.5 ATR sẽ cách 1.200 USD,
và size mới = 100 ÷ 1.200 ≒ 0,083 BTC —
tức là size giảm một nửa trong cùng 1R.
Như vậy, ATR sizing:
- tự động thu nhỏ size khi thị trường nhiễu mạnh,
- và cho phép size lớn hơn khi thị trường bình lặng,
mà vẫn giữ nguyên risk trên tài khoản.
4. Position sizing với ATR trong futures & đòn bẩy
Trong futures/margin, logic vẫn giống:
- Dùng ATR và hệ số ATR
để định khoảng cách stop theo giá. - Tính Position size = 1R ÷ khoảng stop.
- Sau đó mới xem
cần bao nhiêu margin để giữ size đó,
rồi chọn leverage phù hợp.
Điểm chính:
Dù dùng leverage bao nhiêu,
vẫn phải giữ nguyên:
khoảng cách stop × size = 1R.
Vì thế khi dùng ATR sizing,
câu hỏi quan trọng không phải:
- „Mình nên dùng x bao nhiêu lần?“
mà là:
- „Mình đã tính size đúng
dựa trên 1R và ATR chưa?“
5. Ưu và nhược điểm của ATR-based sizing
5-1. Ưu điểm
-
Giữ risk tương đối đều giữa các thị trường
- Coin biến động mạnh vs coin hiền,
- Giai đoạn trend vs range,
đều được tính size sao cho
risk quanh mức 1R mỗi lệnh. -
Hạn chế lệnh quá lớn trong thị trường điên loạn
- Khi biến động tăng, ATR lớn,
- với cùng 1R, size sẽ tự động nhỏ lại,
tránh tình trạng vô tình dùng đòn bẩy quá nặng.
-
Hợp với phong cách trading có hệ thống & backtest
- Nếu các chiến lược trong strategy/***
dùng ATR sizing, - bạn dễ so sánh hiệu quả giữa các chiến lược
trong cùng khung risk.
- Nếu các chiến lược trong strategy/***
5-2. Hạn chế & lưu ý
-
Kết quả phụ thuộc mạnh vào tham số ATR
- ATR(14) vs ATR(21),
- 1 ATR vs 2 ATR,…
Không có giá trị „chuẩn“.
Cần test cho từng chiến lược & timeframe. -
Nhạy với cú spike biến động
- Một cây nến cực lớn có thể
đẩy ATR tăng mạnh, - khiến size cho vài lệnh sau
giảm mạnh hơn mong muốn.
- Một cây nến cực lớn có thể
-
Cần hiểu vững position sizing cơ bản trước
- Nếu position-sizing
chưa rõ, - ATR sizing sẽ dễ bị cảm giác
„toàn số với công thức“.
- Nếu position-sizing
6. Lỗi thường gặp khi dùng ATR sizing
6-1. Nhìn ATR mà bỏ qua cấu trúc giá (S/R, swing, pattern)
ATR chỉ là con số về biến động.
Nó không thay thế được:
Khi đặt stop:
- Trước tiên phải dựa vào cấu trúc giá
(vùng hỗ trợ/kháng cự, swing high/low), - Sau đó dùng hệ số ATR
để kiểm tra xem stop
có quá sát hoặc quá xa hay không.
6-2. Liên tục đổi hệ số ATR
- Hôm nay dùng 1 ATR,
- mai 2 ATR,
- tuần sau 0.8 ATR…
Nếu thay đổi liên tục:
- kết quả backtest mất ý nghĩa,
- bạn dễ rơi vào bẫy „tối ưu theo quá khứ“.
Tốt hơn:
- mỗi combo chiến lược + timeframe
chọn một period & hệ số ATR cố định, - chỉ thay đổi khi có lý do rõ ràng
và đã test lại.
6-3. Quên 1R, chỉ nhìn ATR
Nếu suy nghĩ kiểu:
- „ATR thấp, vậy chơi size to cho đã,“
và thực tế là bạn tăng luôn 1R
so với risk-reward,
thì cả khung risk của tài khoản sẽ vỡ.
Hãy giữ thứ tự:
1R (risk cấp tài khoản) →
khoảng stop (có xét ATR) →
position size
—luôn theo thứ tự này.
7. Những câu hỏi nên tự hỏi trước khi áp dụng ATR sizing
Trước khi đưa ATR vào routine,
bạn có thể tự kiểm tra:
-
„1R hiện tại của mình (theo tiền) là bao nhiêu?“
(risk-reward) -
„Trên timeframe chính,
mình sẽ dùng ATR với period & hệ số nào?“
(atr) -
„Vị trí stop của mình có dựa trên
s-r
và swing-vs-correction
— tức là nơi kịch bản bị phá vỡ — hay không?“ -
„Gần vùng stop đó,
mình đã check bằng ATR xem
khoảng cách có hợp lý chưa?“ -
„Khi tính size, mình thực sự dùng
1R ÷ khoảng cách stop hay không?“
Tóm lại, ATR-based position sizing là:
kết hợp 1R (risk trên tài khoản)
với ATR (mức biến động),
để size lệnh tự thích nghi với bối cảnh thị trường.
Nếu bạn:
- dựng khung R qua
risk-reward, - xây stop & exit qua
stop-loss, - hiểu rõ cách tính size cơ bản trong
position-sizing,
thì việc thêm ATR sizing từ bài này
sẽ giúp bạn giữ
- „mức tác động của từng lệnh lên tài khoản“
ổn định hơn nhiều,
ngay cả khi điều kiện thị trường thay đổi mạnh.