Mục lục
Trả lời ngắn: KAMA là đường trung bình thích nghi: nhanh hơn khi đường giá khá thẳng, chậm hơn khi giá nhiễu. HMA dùng chuỗi đường trung bình có trọng số cố định để giảm độ trễ và làm mượt; nó không tự đổi tốc độ theo cùng cơ chế. Cả hai chỉ dùng dữ liệu quá khứ, không dự báo.
Đọc xong, bạn sẽ hiểu:
- Vì sao KAMA thay tốc độ giữa đường đi thẳng và đường đi nhiễu.
- Cách HMA cần một raw series trước bước smoothing cuối.
- Seed, source, rounding và warm-up phải khóa thế nào để kiểm kết quả.
Lưu ý giáo dục: Nội dung này không phải lời khuyên đầu tư hoặc tín hiệu giao dịch.
1. Adaptive và reduced-lag không phải một nhãn
a. Ba cơ chế khác nhau
Moving average — trung bình trượt làm mượt một chuỗi input. Một fixed MA như EMA dùng smoothing constant cố định theo length. Adaptive MA — trung bình trượt thích nghi đổi coefficient dựa trên condition tính từ dữ liệu. Reduced-lag MA — trung bình được thiết kế để phản ứng sớm hơn dùng phép biến đổi hoặc kết hợp nhiều average.
KAMA thuộc nhóm thứ hai: Efficiency Ratio điều khiển coefficient ở từng row. HMA thuộc nhóm thứ ba: nó kết hợp các WMA có length khác nhau rồi smooth raw result. Gọi cả hai là “adaptive” chỉ vì đường phản ứng nhanh sẽ giấu mất engine.
b. Ví dụ đời thường
KAMA giống giảm xóc đổi độ cứng khi đường đi thay đổi: path thẳng và path lắc qua lại tạo setting khác. Ví dụ chỉ để nhớ dynamic coefficient; ER không phải cảm biến và chỉ nhìn price sequence.
HMA giống một quy trình xử lý tín hiệu dùng weighted combinations để bù delay. Nó không hỏi market “đang nhiễu bao nhiêu” trước mỗi row. Giá cũng không phải audio wave, nên đừng kéo phép ví von thành lời hứa loại bỏ lag hoàn toàn.
c. Reduced lag không phải nhìn thấy tương lai
TradingView mô tả moving averages là reactive: chúng report điều đã xảy ra và dùng một dải past values (Moving Averages). KAMA hoặc HMA có thể bám input nhanh hơn một comparator, nhưng vẫn không biết bar kế tiếp.
Hình 1 — KAMA thay coefficient theo ER; HMA giảm lag bằng một construction cố định.
2. KAMA: ER điều khiển tốc độ
a. Efficiency Ratio đo đường đi
Efficiency Ratio, hay ER, lấy net change chia tổng path:
ER = |Price hiện tại − Price cách n kỳ| / Σ|one-bar changes|.
ER gần 1 khi path đi khá thẳng; ER gần 0 khi giá đi lòng vòng và quay về gần điểm đầu. Path sum là tổng absolute one-bar changes, không phải standard deviation.
StockCharts trình bày setting Perry Kaufman thường dùng là KAMA(10,2,30):
10 kỳ cho ER, 2 cho fast EMA constant và 30 cho slow constant
(Kaufman’s Adaptive Moving Average).
b. Từ ER đến Smoothing Constant
Với KAMA(10,2,30):
FastSC = 2/(2+1) = 0,666667.
SlowSC = 2/(30+1) = 0,064516.
Sau đó:
SC = [ER × (FastSC − SlowSC) + SlowSC]².
Đừng bỏ dấu bình phương. Smoothing Constant, hay SC, là phần của gap giữa price hiện tại và prior KAMA được áp vào row mới:
KAMA mới = KAMA trước + SC × (Price mới − KAMA trước).
Đây là phép tính recursive — output hiện tại dùng output trước. Vì vậy, seed — giá trị khởi tạo và warm-up policy ảnh hưởng các row đầu.
c. KAMA-A: path thẳng
Dataset giả AMA-21, close source:
100,101,102,103,104,105,106,107,108,109,110.
- Change:
|110−100| = 10. - Path: mười bước, mỗi bước 1 →
10. - ER:
10/10 = 1. - SC:
[1×(0,666667−0,064516)+0,064516]² = 0,444444. - Prior KAMA được cho là
108. - New KAMA:
108 + 0,444444×(110−108) = 108,888889.
Path hiệu quả kéo coefficient về phía fast constant.
d. KAMA-B: path nhiễu
Closes:
100,102,100,102,100,102,100,102,100,102,100.
- Change:
|100−100| = 0. - Path: mười bước 2 điểm →
20. - ER:
0/20 = 0. - SC:
[0×(0,666667−0,064516)+0,064516]² ≈ 0,004162. - Prior KAMA được cho là
101. - New KAMA:
101 + 0,004162×(100−101) ≈ 100,995838.
KAMA-B chỉ dịch rất ít. Đó là dynamic response, không phải chứng minh path sau
sẽ tiếp tục nhiễu. Nếu path denominator bằng 0, ghi STOP và kiểm provider rule;
không chia trực tiếp.
Hình 2 — Cùng settings KAMA(10,2,30), price path đổi ER và tốc độ cập nhật.
3. HMA: nested WMA để bù lag
a. WMA refresher
Weighted Moving Average, hay WMA, cho recent observations trọng số tuyến
tính lớn hơn. Với hai values [a,b], oldest-to-newest weights [1,2]:
WMA2 = (a×1 + b×2) / 3.
HMA của Alan Hull dùng:
Raw = 2×WMA(n/2) − WMA(n).
HMA = WMA(Raw, √n).
Alan Hull giải thích phần nhân hai/trừ average dài là bù lag; bước WMA theo square root làm mượt raw series (The Hull Moving Average). TradingView cũng công bố cùng nested-WMA formula (Hull Moving Average).
b. HMA(4) cần hai raw rows
Toy setting n=4, nên n/2=2 và √n=2 — không có rounding ambiguity.
Previous window 9,10,11,12:
WMA2 = (11×1 + 12×2)/3 = 11,666667.WMA4 = (9×1 + 10×2 + 11×3 + 12×4)/10 = 11.- Raw previous:
2×11,666667 − 11 = 12,333333.
Current window 10,11,12,13:
WMA2 = (12×1 + 13×2)/3 = 12,666667.WMA4 = (10×1 + 11×2 + 12×3 + 13×4)/10 = 12.- Raw current:
2×12,666667 − 12 = 13,333333.
Final:
HMA4 = WMA2(12,333333; 13,333333).
HMA4 = (12,333333×1 + 13,333333×2)/3 = 13,000000.
Chỉ tính raw current rồi gọi nó là HMA là sai; final WMA cần raw HMA series
đủ history. HMA(4) chỉ là ví dụ học, không phải setting được đề xuất.
Hình 3 — HMA có raw intermediate series; 13,333333 chưa phải output cuối.
4. So sánh, variants và sáu lỗi
a. Hai formula passport
| Field | KAMA | HMA |
|---|---|---|
| Engine | Dynamic SC từ ER | Nested linear WMAs |
| Adapts to path efficiency | Có | Không |
| Settings chính | ER, fast, slow | n và rounding |
| Startup | Recursive seed | WMA warm-up/history |
| Intermediate | ER và squared SC | Raw 2×WMA(n/2)−WMA(n) |
| Không thể hứa | Prediction/edge | Zero lag/prediction/edge |
Length 10 của KAMA không tương đương memory với HMA 10. Formula, warm-up
và weighting khác nhau.
b. Variants phải đọc formula trước tên
KAMA, VIDYA — Variable Index Dynamic Average hoặc FRAMA — Fractal Adaptive Moving Average thường được xếp vào adaptive family vì coefficient thay đổi theo một statistic. DEMA — Double Exponential Moving Average, TEMA — Triple Exponential Moving Average và HMA dùng transformations để giảm lag theo cách riêng. Tên platform có thể khác; taxonomy chỉ an toàn sau khi kiểm formula.
c. Sáu lỗi thường gặp
Lỗi 1 — gọi mọi MA nhanh là adaptive: responsiveness chưa nói coefficient có dynamic hay không.
Lỗi 2 — so cùng length: number giống nhau không tạo effective memory giống.
Lỗi 3 — bỏ bình phương SC: KAMA output đổi hoàn toàn.
Lỗi 4 — thiếu raw history: HMA current raw không phải final HMA.
Lỗi 5 — bỏ seed/source/round: two platforms có thể lệch dù tên indicator giống.
Lỗi 6 — gọi reduced lag là prediction: phản ứng nhanh hơn vẫn dựa vào past input và có thể overshoot.
Warm-up — số row cần trước khi output đầy đủ và rounding rule — cách đổi
n/2, √n thành integer phải được ghi. Missing values, adjusted close và
provider implementation cũng có thể gây lệch.
Ví dụ, HMA với n=15 tạo n/2=7,5 và √15≈3,873. Một platform có thể floor,
round hoặc dùng quy tắc riêng cho hai length trung gian. KAMA cũng có thể seed
bằng SMA đầu tiên, prior close hoặc một policy khác. Hai chart cùng label
KAMA 10 hay HMA 15 vì thế chưa đủ chứng minh implementation giống nhau.
Độ lệch vài row đầu thường liên quan seed và warm-up; độ lệch kéo dài có thể đến từ source, adjusted data — giá đã hiệu chỉnh corporate actions, cách xử lý missing values hoặc formula variant. Cách kiểm đúng là lưu intermediate columns và tìm row đầu tiên khác, không nhìn hai đường rồi đoán platform nào “chuẩn hơn”.
5. Formula passport và bài tập 15 phút
a. Sáu bước
IDENTITY: exact indicator và provider implementation.INPUT: source, n, fast/slow parameters.INTERMEDIATE: ER/SC hoặc nested WMAs.SEED: initial KAMA và warm-up.ROUND: fractional period cùng display precision.VERIFY: đối chiếu manual rows với platform.
STOP nếu source, seed, round hoặc denominator rule không biết. Không “nắn” số manual cho giống chart mà không tìm implementation difference.
b. Bài tập miễn phí
Dùng Google Sheets miễn phí hoặc giấy trong 15 phút. Dataset giả; chưa dùng tiền thật.
- Năm phút tính KAMA-A từ Change đến output.
- Bốn phút tính KAMA-B và zero-denominator note.
- Bốn phút tính two HMA raw rows rồi final WMA.
- Hai phút điền passport và ghi khác biệt.
Mẫu đối chiếu đã điền
| Trường hợp | Bước trung gian | Kết quả | Kiểm tra |
|---|---|---|---|
| KAMA-A | ER 1; SC 0,444444 | 108,888889 | Phản ứng nhanh theo dữ liệu |
| KAMA-B | ER 0; SC 0,004162 | 100,995838 | Phản ứng chậm theo dữ liệu |
| HMA4 — dòng thô trước | 2×11,666667−11 |
12,333333 | Dòng lịch sử thô |
| HMA4 — dòng thô hiện tại | 2×12,666667−12 |
13,333333 | Dòng hiện tại thô |
| HMA4 — kết quả cuối | WMA2 của hai dòng thô | 13,000000 | ĐẠT |
Kết quả mong đợi là intermediate ledger, không chỉ hai line cuối.
6. Tổng kết
a. Năm ý chính
- KAMA là adaptive vì ER làm SC thay đổi theo từng row.
- HMA là nested-WMA reduced-lag construction, không dùng ER.
- KAMA phải bình phương SC và giữ prior KAMA/seed.
- HMA cần raw history trước final WMA theo
√n. - Source, settings, warm-up và rounding phải khớp trước comparison.
b. Câu hỏi tự kiểm tra
- ER đo gì và vì sao KAMA-A có ER 1?
- Điều gì xảy ra với KAMA-B khi ER bằng 0?
- Tại sao raw current 13,333333 chưa phải HMA4?
- Hai platform lệch output thì kiểm field nào trước?
c. Gợi ý đáp án
Xem gợi ý câu 1
ER lấy net change chia tổng absolute path; KAMA-A đi thẳng 10 trên path 10. Xem mục 2.
Xem gợi ý câu 2
SC lùi về SlowSC bình phương, nên update từ 101 xuống 100 rất nhỏ. Xem mục 2.
Xem gợi ý câu 3
Final HMA là WMA của raw series; cần previous và current raw rows. Xem mục 3.
Xem gợi ý câu 4
Kiểm source, settings, seed, warm-up, rounding và missing-data rule. Xem mục 4–5.
d. Thuật ngữ cần nhớ
| Thuật ngữ | Giải thích ngắn |
|---|---|
| Adaptive MA | MA có smoothing đổi theo data condition |
| Reduced-lag MA | Construction nhằm phản ứng sớm hơn |
| KAMA | Adaptive MA dùng Efficiency Ratio |
| HMA | Moving average dùng nested WMA |
| Efficiency Ratio | Net change chia path length |
| Smoothing Constant | Phần price gap được áp vào row |
| Recursive | Output mới dùng output trước |
| Seed | Giá trị khởi tạo recursion |
| WMA | Average với recent linear weights lớn hơn |
| Warm-up | Rows cần trước khi output đầy đủ |
e. Nguồn tham khảo
- StockCharts — Kaufman’s Adaptive Moving Average
- Alan Hull — The Hull Moving Average
- TradingView — Hull Moving Average
- TradingView — Moving Averages
- TradingView — Weighted Moving Average
Ôn bài trước: Market Internal Framework #20.
Học tiếp: Relative Rotation Graph: RRG #22 · Lộ trình Phân tích Kỹ thuật Chuyên nghiệp.
Nội dung này phục vụ mục đích giáo dục, không phải lời khuyên đầu tư hoặc tín hiệu giao dịch. Mọi thị trường đều có rủi ro mất vốn.
Bài tiếp theo