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√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 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 đủ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√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

  1. IDENTITY: exact indicator và provider implementation.
  2. INPUT: source, n, fast/slow parameters.
  3. INTERMEDIATE: ER/SC hoặc nested WMAs.
  4. SEED: initial KAMA và warm-up.
  5. ROUND: fractional period cùng display precision.
  6. 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.

  1. Năm phút tính KAMA-A từ Change đến output.
  2. Bốn phút tính KAMA-B và zero-denominator note.
  3. Bốn phút tính two HMA raw rows rồi final WMA.
  4. 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

Ô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.