Chỉ báo trễ và chỉ báo dẫn
Chỉ báo tính từ giá quá khứ thì không thể dẫn giá. Và khi đo độ trễ trên 94 điểm xoay, thứ hạng giữa các chỉ báo không lặp lại nổi từ mã này sang mã khác.
FinLens38 phút đọc
Cách phân loại chỉ báo kỹ thuật phổ biến nhất chia chúng làm hai rổ. Rổ thứ nhất gọi là chỉ báo trễ, gồm các đường trung bình động và những thứ dựng từ chúng. Rổ thứ hai gọi là chỉ báo dẫn, gồm các chỉ báo dao động đo tốc độ thay đổi của giá.
Cách chia đó có một vấn đề mà ít tài liệu nói ra: cả hai rổ đều nhận đúng một loại đầu vào, là giá và khối lượng đã xảy ra. Nếu chữ "dẫn" nghĩa là chứa thông tin về phiên sắp tới, thì không có gì trong rổ thứ hai đủ điều kiện để nằm ở đó.
Bài này làm hai việc, và việc thứ hai là phần dài hơn.
Việc thứ nhất là phát biểu lập luận cho chặt. Không phải bằng khẩu hiệu kiểu "chỉ báo luôn trễ", mà bằng một mệnh đề về xử lý dữ liệu: một hàm chỉ nhận đầu vào đã biết thì không tạo ra thông tin mới, và mọi thứ nó "biết" thì chuỗi đầu vào cũng đã biết.
Việc thứ hai là mang lập luận đó ra đo. Nếu độ trễ là thứ có thật và đo được, thì câu hỏi tiếp theo là nó bằng bao nhiêu, và chỉ báo nào trễ ít hơn chỉ báo nào. Phần đo này cho ra một kết quả mạnh hơn hẳn kỳ vọng ban đầu, và nó đi ngược chính cái bảng xếp hạng mà người ta muốn có: thứ hạng giữa các chỉ báo không lặp lại nổi từ mã này sang mã khác.
Bài không đưa ra tín hiệu mua bán, không dự báo giá, và không xếp hạng chỉ báo nào tốt hơn chỉ báo nào. Mọi mã cổ phiếu xuất hiện dưới đây chỉ là một tập dữ liệu để chạy phép đo.
Sơ đồ một chiều: khối chuỗi giá đã xảy ra chảy vào một khối phép biến đổi rồi ra giá trị chỉ báo, còn mũi tên từ chỉ báo hướng ngược về phiên tiếp theo thì bị gạch chéo
Một hàm của giá quá khứ không dẫn được giá
Phát biểu cho chặt
Gần như mọi chỉ báo kỹ thuật phổ biến đều có chung một dạng:
I[t] = f( P[t], P[t-1], ..., P[t-n+1], V[t], V[t-1], ... )I[t] là giá trị chỉ báo tại phiên t. Các đối số là giá và khối lượng của phiên t và các phiên trước đó. f là một công thức cố định, không chứa tham số ngẫu nhiên và không đọc thêm nguồn nào khác.
Ba tính chất theo ngay từ dạng này, và không tính chất nào cần biết gì về thị trường.
Một: không có dữ liệu mới bước vào. Mọi đối số của f đều đã có sẵn tại thời điểm t. Chỉ báo không mở thêm một cửa sổ nào ra thế giới; nó chỉ đọc lại đúng những con số mà người nhìn đồ thị cũng đang nhìn.
Hai: f là một phép biến đổi xác định, nên nó không tạo ra thông tin. Cho cùng một chuỗi giá và cùng một bộ tham số, hai người bắt buộc tính ra cùng một dãy số. Điều đó nghe như một ưu điểm, và nó đúng là ưu điểm về mặt kiểm chứng, nhưng nó đồng thời đóng lại một cánh cửa: nếu chuỗi P[0..t] không chứa thông tin nào về P[t+1], thì f(P[0..t]) cũng không chứa, vì f không có nguồn nào khác để lấy. Đây là mệnh đề về xử lý dữ liệu, không phải mệnh đề về hiệu quả thị trường. Nó đúng kể cả khi chuỗi giá có chứa thông tin về phiên sau: trong trường hợp ấy, thông tin đó nằm sẵn trong chuỗi giá, và chỉ báo cùng lắm là làm nó dễ nhìn hơn.
Ba: vậy chữ "dẫn" trong thực tế nghĩa là gì. Nó mang một nghĩa hẹp hơn nhiều so với vẻ ngoài, và nghĩa hẹp ấy hoàn toàn hợp lệ: có những phép biến đổi mà giá trị đầu ra đổi hướng trước khi giá đổi hướng. Chuyện đó có thật, và nó là số học thuần tuý.
Lấy một chuỗi số bất kỳ đang tăng rồi chậm dần lại trước khi quay đầu. Tốc độ tăng của nó giảm về 0 trước khi bản thân chuỗi bắt đầu giảm. Nếu bạn vẽ tốc độ tăng ấy thành một đường riêng, đường đó đạt đỉnh sớm hơn đường gốc. Không có gì huyền bí ở đây, và cũng không có thông tin nào được thêm vào: quan hệ giữa một dãy và tốc độ thay đổi của nó là quan hệ có sẵn, đúng với mọi dãy số, kể cả một dãy hoàn toàn ngẫu nhiên.
Chỗ mà lập luận này thường bị đẩy đi quá xa là chỗ nó bị đọc thành "chỉ báo dao động cho biết trước điểm đảo chiều". Câu đúng phải kèm một vế nữa: đường tốc độ thay đổi đổi hướng rất nhiều lần, và chỉ một phần trong số đó trùng với một điểm đảo chiều của giá. Đếm cả những lần không trùng thì phần "dẫn" teo lại rất nhanh. Mục "Xếp hạng theo tốc độ tự thưởng cho chỉ báo ít thông tin nhất" ở dưới đo đúng chuyện này bằng số.
Chỗ này nối vào đâu
Phần chứng minh chi tiết cho các đường trung bình động, gồm cả bảng trọng số và kết quả then chốt rằng đường trung bình hàm mũ không có độ trễ trọng tâm nhỏ hơn đường trung bình giản đơn cùng tham số, nằm ở bài mở đầu chuỗi này: đường trung bình động. Ở đó cũng có phép tính cho thấy hiệu của hai đường trung bình có tổng trọng số bằng 0, tức một giao cắt không mang thông tin về mức giá mà chỉ phát biểu lại quan hệ giữa hai độ trễ. Bài này không dựng lại các phép tính đó.
Điều đáng nói là hai bài tiếp cận cùng một câu hỏi từ hai phía. Bài mở đầu chứng minh độ trễ từ công thức, bằng cách cộng trọng số. Bài này đo độ trễ từ dữ liệu, bằng cách đếm phiên tại các điểm xoay đã xảy ra. Hai phép đo trả lời hai câu hỏi khác nhau, và kết quả của chúng không thay thế cho nhau: một cái mô tả trọng tâm của bộ lọc, một cái mô tả khoảng cách tới một sự kiện cụ thể.
Thứ thật sự dẫn giá thì không nằm trên đồ thị
Nếu có thứ gì đi trước giá, nó phải là dữ liệu không nằm trong chuỗi giá: một con số trong báo cáo tài chính chưa được công bố, một thay đổi lãi suất, một quyết định của doanh nghiệp, một dòng vốn. Toàn bộ nhóm đó nằm ngoài phạm vi của phân tích kỹ thuật theo đúng định nghĩa của nó, và cũng nằm ngoài phạm vi bài này.
Có một biến thể hay gặp đáng nói riêng: chỉ báo dựng trên khối lượng, được giới thiệu như thứ "nhìn thấy dòng tiền trước khi giá phản ứng". Khối lượng vẫn là dữ liệu của các phiên đã xảy ra, nên lập luận ở trên áp nguyên vào. Riêng ở Việt Nam còn một lớp vấn đề nữa, vì con số khối lượng công bố gộp hai loại giao dịch có bản chất khác nhau; chuyện đó đã được dựng kỹ trong khối lượng giao dịch nói gì và được nhắc lại ở phần biến dạng phía dưới.
Câu chốt: chữ "dẫn" chỉ có một nghĩa hợp lệ, là đầu ra của một phép biến đổi đổi hướng trước đầu vào, và nghĩa đó không chứa mệnh đề nào về phiên tiếp theo.
Đo độ trễ: thiết kế phép đo trước, đọc kết quả sau
Lập luận ở trên nói rằng chỉ báo trễ. Nó không nói trễ bao nhiêu. Muốn có con số thì phải khai rõ ba thứ trước khi chạy, nếu không thì con số ra được không kiểm lại được.
Neo vào cái gì
Phép đo neo vào các điểm xoay đã xảy ra, cụ thể là các đáy cục bộ. Quy tắc nhận diện khai đầy đủ:
Một phiên được tính là đáy cục bộ nếu giá đóng cửa của nó thấp hơn giá đóng cửa của 10 phiên liền trước và 10 phiên liền sau, tức
k = 10phiên hai bên đều cao hơn.
Ba điều phải nói ngay về quy tắc này.
Nó dùng dữ liệu tương lai, và đó là chủ ý. Muốn biết một phiên có phải đáy hay không thì phải nhìn thấy 10 phiên đi sau nó. Nghĩa là tập điểm xoay chỉ xác định được khi nhìn lại, và phép đo này không phải một quy trình giao dịch được. Đây chính là dạng nhìn trước mà mọi backtest phải tránh; ở đây nó được dùng có ý thức, vì mục đích không phải kiếm tín hiệu mà là dựng một tập mốc chung để chấm điểm. Cơ chế của lỗi nhìn trước, và ba dạng phổ biến của nó, là nội dung của sai lệch sống sót và nhìn trước. Độ trễ không xoá được nằm ngay trong định nghĩa đỉnh đáy thì đã được dựng trong xu hướng và cấu trúc giá.
Tham số k là lựa chọn của người đo, không phải thuộc tính của cổ phiếu. k nhỏ cho nhiều điểm xoay nhỏ, k lớn cho ít điểm xoay lớn. Mục về thứ hạng ở dưới cho thấy đổi k là đổi kết luận, nên con số này phải được khai chứ không được giấu.
Nó công bằng theo đúng một nghĩa. Mọi chỉ báo được chấm trên cùng một tập mốc, và không chỉ báo nào được biết trước tập mốc ấy. Đó là điều kiện tối thiểu để việc so sánh có nghĩa.
Đo cái gì
Với mỗi điểm xoay và mỗi điều kiện chỉ báo, độ trễ là số phiên tính từ điểm xoay tới phiên đầu tiên mà điều kiện chuyển sang trạng thái bật. Đơn vị là phiên, không phải ngày.
Các điều kiện được chấm là những phát biểu dạng đúng hoặc sai mà người ta thật sự dùng, chẳng hạn giá đóng cửa nằm trên đường trung bình 50 phiên, đường trung bình 20 phiên nằm trên đường trung bình 50 phiên, hay chỉ số sức mạnh tương đối vượt ngưỡng 30.
Chạy trên cái gì
Ba mã, toàn bộ 1,161 phiên của cửa sổ khảo sát, cho ra 94 điểm xoay.
| Mã | Ngành theo ICB | Nơi giao dịch |
|---|---|---|
| HPG | 1757 Thép | HOSE |
| FPT | 9537 Phần mềm | HOSE |
| PNJ | 3767 Hàng cá nhân | HOSE |
Ba mã này được chọn vì chúng thuộc ba ngành không liên quan nhau và đều có chuỗi giá đủ dài, liên tục. Chúng không phải một danh mục, không phải một gợi ý, và không mang nhận định nào về doanh nghiệp.
Cần nói thẳng giới hạn của mẫu, trước khi đọc bất kỳ con số nào ở dưới: 94 điểm xoay từ 3 mã là một mẫu nhỏ, và các điểm xoay của cùng một mã không độc lập với nhau vì chúng nằm trên cùng một chuỗi giá. Mọi kết luận dưới đây phải đọc trong khuôn khổ đó.
Sơ đồ cách đo độ trễ: một đường gấp khúc trừu tượng có một điểm đáy được khoanh tròn, hai bên là hai vùng mười phiên được tô nhạt, và ba mũi tên ngang dài ngắn khác nhau chạy từ đáy tới ba thời điểm mà ba điều kiện chỉ báo bật
Câu chốt: một con số độ trễ chỉ đọc được khi kèm quy tắc nhận diện điểm xoay, tham số của quy tắc đó, và tập dữ liệu đã chạy.
Kết quả thứ nhất: độ trễ là một phân bố rộng, không phải một con số
Cách nói quen thuộc là gán cho mỗi chỉ báo một con số: chỉ báo này trễ khoảng chừng này phiên. Phép đo cho thấy cách nói đó bỏ mất phần quan trọng nhất.
Lấy điều kiện đơn giản nhất trong bộ, giá đóng cửa nằm trên đường trung bình 50 phiên. Trên 94 điểm xoay, trung vị độ trễ là 5 phiên. Nếu chỉ in con số đó thì câu chuyện kết thúc ở đây và nghe rất gọn.
Nhưng khoảng phần tư thứ nhất tới phần tư thứ ba trải từ 1 tới 10 phiên, và giá trị lớn nhất trong mẫu là 80 phiên.
| Mốc | Độ trễ (phiên) |
|---|---|
| Phân vị 25 | 1 |
| Trung vị | 5 |
| Phân vị 75 | 10 |
Chốt số liệu 04/09/2026. Ba mã HPG, FPT và PNJ, 1,161 phiên, đáy cục bộ theo giá đóng cửa với k = 10 phiên hai bên. Giá trị lớn nhất trong mẫu là 80 phiên, cố ý không vẽ vào biểu đồ: biên độ 80 lần làm cột nhỏ nhất tụt xuống dưới một pixel và biểu đồ mất khả năng đọc. Nguồn: HOSE, FinLens tổng hợp.
Đọc bảng số liệu dưới biểu đồ thì thấy ngay điều mà con số trung vị giấu đi. Một phần tư số điểm xoay có độ trễ từ 10 phiên trở lên, tức từ hai tuần giao dịch trở lên. Và ở đuôi, có điểm xoay mà điều kiện chỉ bật sau 80 phiên, tức khoảng gần bốn tháng giao dịch. Người dùng con số trung vị để lập kế hoạch sẽ đúng ở khoảng giữa và sai rất nặng ở phần đuôi, mà phần đuôi lại chính là chỗ gây thiệt hại.
Các chỉ báo không nói cùng một lúc
Con số thứ hai còn nói được nhiều hơn. Tại cùng một điểm xoay, đo khoảng cách giữa điều kiện bật sớm nhất và điều kiện bật muộn nhất trong bộ:
| Khoảng cách giữa điều kiện nhanh nhất và chậm nhất tại cùng một đáy | Số phiên |
|---|---|
| Trung vị trên 94 điểm xoay | 16 |
| Lớn nhất trong mẫu | 106 |
Nghĩa là ở một điểm xoay điển hình, bộ chỉ báo trên màn hình của bạn không đồng thanh. Chúng bật rải ra trên khoảng ba tuần giao dịch. Và ở trường hợp cực đoan trong mẫu, chúng trải ra trên hơn nửa năm.
Điều này có một hệ quả rất thực dụng đối với cách phát biểu. Câu "chờ hai chỉ báo cùng xác nhận" nghe như một quy tắc thận trọng, nhưng nếu hai chỉ báo ấy cách nhau trung vị 16 phiên thì câu đó thực chất đang chọn cái chậm hơn trong hai cái, và mức độ chậm thêm thì không biết trước được vì nó là một phân bố chứ không phải một hằng số.
Câu chốt: mọi phát biểu về độ trễ mà chỉ có một con số đều đã bỏ mất độ rộng, và độ rộng ở đây lớn hơn chính con số trung tâm.
Kết quả thứ hai: thứ hạng không lặp lại giữa các mã
Đây là kết quả chính của bài, và nó mạnh hơn hẳn phần trên.
Nếu độ trễ là thuộc tính của chỉ báo, thì xếp hạng các chỉ báo theo độ trễ trên mã này phải cho ra thứ tự gần giống khi xếp trên mã khác. Đó là điều kiện tối thiểu để chữ "chỉ báo A nhanh hơn chỉ báo B" có nghĩa.
Phép kiểm rất trực tiếp: xếp hạng cùng một bộ điều kiện theo độ trễ trung vị trên từng mã, rồi so hai bảng xếp hạng bằng hệ số tương quan hạng Spearman. Hệ số này chạy từ −1 tới +1: bằng +1 nghĩa là hai bảng xếp hạng trùng khít, bằng 0 nghĩa là không có quan hệ nào, bằng −1 nghĩa là hai bảng ngược hẳn nhau.
| Cặp mã | Hệ số tương quan hạng Spearman |
|---|---|
| HPG và FPT | −0.429 |
| FPT và PNJ | 0.000 |
Không cặp nào cho một hệ số dương. Cặp thứ nhất còn nghiêng về phía ngược nhau, cặp thứ hai đúng bằng 0.
Cụ thể hơn một tầng, và đây là chi tiết gọn nhất của cả bài: điều kiện đường trung bình 20 phiên nằm trên đường trung bình 50 phiên là điều kiện nhanh nhất ở hai mã, và là điều kiện chậm nhất ở mã thứ ba. Cùng một công thức, cùng một tham số, cùng một quy tắc nhận diện đáy, cùng một cửa sổ thời gian. Chỉ đổi mã.
Và thứ hạng còn đổi khi chỉ đổi định nghĩa đáy
Phép kiểm thứ hai còn khó chịu hơn, vì nó không cần đổi dữ liệu.
Giữ nguyên ba mã, giữ nguyên 1,161 phiên, giữ nguyên toàn bộ công thức chỉ báo. Chỉ đổi tham số nhận diện đáy từ k = 10 sang k = 20, tức đòi hỏi 20 phiên mỗi bên đều cao hơn thay vì 10. Thứ hạng đổi.
Không có gì sai trong cả hai lần chạy. k = 10 và k = 20 là hai định nghĩa hợp lệ cho hai loại điểm xoay khác nhau, và người đo phải chọn một. Vấn đề nằm ở chỗ bảng xếp hạng thu được từ một lựa chọn lại được trình bày như một thuộc tính của chỉ báo.
Bốn cách một bảng xếp hạng chỉ báo có thể sai
Gộp lại thì có ít nhất bốn trục mà thứ hạng phụ thuộc vào, và không trục nào là thuộc tính của chỉ báo:
| Trục | Đã đo được gì |
|---|---|
| Đổi mã | Spearman −0.429 ở một cặp, 0.000 ở cặp khác |
| Đổi tham số nhận diện điểm xoay | Đổi k từ 10 sang 20 làm đổi thứ hạng |
| Đổi cửa sổ thời gian | Chưa đo trong bộ số này, nhưng cùng cơ chế với hai trục trên |
| Đổi định nghĩa "bật" | Chưa đo trong bộ số này; ngưỡng và cách xác nhận đều là lựa chọn |
Hai dòng cuối được ghi đúng như hiện trạng, tức chưa đo, chứ không suy đoán ra con số.
Vì lý do này, bài này không in một bảng xếp hạng độ trễ, và toàn bộ chuỗi "Chỉ báo kỹ thuật" cũng không in. Một bảng như vậy trông rất tiện dùng, nhưng nó khẳng định một thứ mà chính dữ liệu vừa bác bỏ.
Ba cột dọc đặt cạnh nhau, mỗi cột là một bảng xếp hạng gồm bốn ô ghi Điều kiện 1 tới Điều kiện 4 theo thứ tự khác nhau, các đường nối cùng một điều kiện giữa ba cột cắt chéo qua nhau
Câu chốt: "chỉ báo A nhanh hơn chỉ báo B" là một câu chỉ đúng kèm theo tên mã, tham số nhận diện điểm xoay và cửa sổ thời gian, mà kèm đủ chừng ấy thì nó không còn là một quy tắc chung nữa.
Kết quả thứ ba: xếp hạng theo tốc độ tự thưởng cho chỉ báo ít thông tin nhất
Phần trên nói thứ hạng không ổn định. Phần này nói một điều khác và sắc hơn: ngay cả khi thứ hạng ổn định, bản thân thước đo đã hỏng.
Trong bộ điều kiện được chấm, điều kiện chỉ số sức mạnh tương đối vượt ngưỡng 30 được xếp là nhanh nhất. Lý do thì không phải điều người ta mong đợi.
Ở 79.8% số điểm xoay, điều kiện này vốn đã bật sẵn từ trước.
Tức là ở bốn trên năm số đáy, nó không hề chuyển từ tắt sang bật. Nó đang bật, và tiếp tục bật. Độ trễ ghi nhận được là 0 phiên, không phải vì nó phản ứng nhanh mà vì nó không có gì để phản ứng.
Vì sao đây là lỗi của thước đo chứ không phải của chỉ báo
Hãy thử đẩy tới cực đoan. Xét một "chỉ báo" trả về giá trị bật ở mọi phiên, không có ngoại lệ. Chấm nó bằng thước đo tốc độ: ở mọi điểm xoay, nó đã bật sẵn, độ trễ 0 phiên, phương sai bằng 0. Nó đạt điểm tuyệt đối và không bao giờ bỏ sót một điểm xoay nào.
Một thước đo mà nghiệm tối ưu của nó là một hàm hằng thì thước đo đó thiếu một vế. Vế thiếu là tỷ lệ bật nền: điều kiện ấy bật bao nhiêu phần thời gian trong những lúc không có điểm xoay nào.
Không có vế thứ hai, mọi bảng "chỉ báo nào báo sớm nhất" đều có một xu hướng có hệ thống: nó ưu ái điều kiện lỏng lẻo và trừng phạt điều kiện chặt. Điều kiện càng dễ đúng thì càng ít khi tắt, càng ít khi tắt thì càng thường xuyên "đã bật sẵn" tại thời điểm cần, và càng được chấm là nhanh.
Con số 79.8% là con số làm cho lập luận này không còn là giả thuyết. Nó nói rằng ngay trong bộ điều kiện thông thường mà ai cũng dùng, đã có một điều kiện gần như luôn bật, và chính nó đứng đầu bảng tốc độ.
Hai dải thời gian nằm ngang chồng lên nhau, dải trên có các đoạn bật và tắt xen kẽ thưa thớt, dải dưới gần như bật liên tục chỉ có vài khoảng tắt rất ngắn, và các mốc điểm xoay được đánh dấu bằng những vạch dọc xuyên qua cả hai dải
Hai vế phải đi cùng nhau
Cách sửa không phải là bỏ thước đo tốc độ, mà là luôn in nó kèm vế thứ hai. Tối thiểu là hai con số:
- Độ trễ tại các điểm xoay, in cả phân bố chứ không chỉ trung vị.
- Tỷ lệ thời gian điều kiện ở trạng thái bật trên toàn chuỗi, và trong đó bao nhiêu phần rơi vào những đoạn không có điểm xoay nào.
Con số thứ hai chưa được đo đầy đủ trong bộ số của bài này, ngoài trường hợp 79.8% đã nêu. Bài ghi đúng như vậy chứ không điền vào một con số ước lượng.
Câu chốt: tốc độ không phải một thước đo đứng một mình được, vì nghiệm tối ưu của nó là một điều kiện không mang thông tin.
Kiểm chứng ngoài mẫu: độ trễ nhỏ hơn có đổi thành kết quả tốt hơn không
Ba phần trên nói về độ trễ như một đại lượng đo được. Còn một câu hỏi khác hẳn: giả sử tìm được một cấu hình có độ trễ nhỏ, nó có giữ được kết quả sang một kỳ dữ liệu khác không.
Phép kiểm là một lưới cấu hình giao cắt trung bình động, chạy trên một kỳ để chọn ra cấu hình tốt nhất, rồi chạy chính cấu hình đó trên một kỳ khác mà nó chưa từng thấy.
Kết quả tổng hợp phải nói trước, vì nó là phần quan trọng nhất: trên toàn bộ 15 dòng của lưới, không có dòng nào vượt phép mua và giữ ở cả hai kỳ. Không phải "phần lớn không vượt", mà là 0 trên 15.
Và cấu hình đẹp nhất trong kỳ thứ nhất chính là cấu hình sụp mạnh nhất ở kỳ thứ hai. Hai vế đó phải nằm trong cùng một bảng, vì tách ra là giấu mất vế thứ hai:
| Cấu hình N = 150 trên HPG | Kỳ trong mẫu | Kỳ ngoài mẫu |
|---|---|---|
| Lợi nhuận tổng của cấu hình | +545.83% | −30.98% |
| Mua và giữ cùng mã, cùng kỳ | +320.95% | +15.41% |
| Vượt mua và giữ | +224.88 đpt | −46.39 đpt |
| Profit factor | 6.19 | không có trong bộ số này |
| Sharpe | không có trong bộ số này | −0.57 |
Hai con số trong bảng là số dẫn xuất, ghi rõ để ai muốn cũng kiểm lại được: mức mua và giữ trong mẫu bằng 545.83 − 224.88 = 320.95, và mức vượt mua và giữ ngoài mẫu bằng −30.98 − 15.41 = −46.39.
⚠ Profit factor không phải tỷ lệ lãi trên lỗ, dù hai cái tên nghe giống nhau và hay bị thay cho nhau. Bài kỳ vọng toán học của một hệ thống đo được rằng thay cái này cho cái kia làm sai lệch từ 7.4% tới 62.5% trên sáu cấu hình. Con số 6.19 dưới đây là profit factor.
Đọc bảng này theo đúng cái nó nói. Cấu hình có lợi nhuận nhân lên nhiều lần và profit factor 6.19 ở kỳ thứ nhất thì ở kỳ thứ hai mất gần một phần ba vốn trong khi chỉ cần cầm cổ phiếu là đã dương. Sharpe âm ở kỳ thứ hai nói thêm rằng phần lợi nhuận đó không những âm mà còn âm sau khi tính tới biến động.
Bảng này không phải bằng chứng rằng cấu hình nào tốt hơn cấu hình nào, và không đọc được thành ưu điểm của bất kỳ chiến lược nào. Nó là bằng chứng cho đúng một cách hỏng: chọn cấu hình bằng chính kỳ dữ liệu đã dùng để chấm điểm nó. Cơ chế của cách hỏng này, cùng với phân bố kết quả của toàn bộ lưới tham số chứ không chỉ bộ tốt nhất, là nội dung của vì sao tối ưu tham số hay dẫn tới overfit. Còn cách đọc một bảng kết quả backtest nói chung, gồm cả những chỉ tiêu mà bảng trên cố ý không có, nằm ở backtest là gì và đọc kết quả thế nào.
Một tham số trong bảng trên chưa được đặt đúng
Còn một chỗ phải khai, và nó làm con số trong mẫu ở trên trở thành một cận trên chứ không phải một mức đã được đo cẩn thận.
Mức trượt giá mặc định của công cụ backtest là 0.10% một vòng. Nhưng lưới bước giá đặt một sàn vật lý cho trượt giá, và sàn ấy khác nhau theo từng mã. Với HPG, giá đóng cửa 21,700 đ ngày 04/09/2026 nằm trong vùng bước giá 50 đ trên HOSE, nên sàn một vòng là 50 / 21,700 = 0.2304%, tức cao hơn mức mặc định khoảng 2.3 lần. Bản chất của lưới bước giá như một ranh giới cứng đã được dựng trong hỗ trợ và kháng cự bản chất là gì.
Bảng sàn trượt giá cho từng mã, cùng kết quả chạy lại toàn bộ lưới cấu hình ở mức sàn thật thay vì mức mặc định, là trục của chi phí giao dịch ăn mòn lợi nhuận thế nào. Bài này không dựng lại bảng đó. Điều duy nhất cần mang sang đây là hướng của hiệu ứng: hạ mức trượt giá xuống dưới sàn vật lý làm kết quả trong mẫu đẹp lên, không bao giờ xấu đi. Nghĩa là con số +224.88 đpt ở trên đã được đo trong điều kiện ưu ái, và vế ngoài mẫu −46.39 đpt thì không được ưu ái gì thêm.
Câu chốt: một cấu hình được chọn vì nó đẹp nhất trong một kỳ thì con số đẹp ấy phần lớn là thuộc tính của kỳ đó chứ không phải của cấu hình, và cách duy nhất nhìn ra là in cả hai kỳ cạnh nhau.
Ở Việt Nam, phép đo độ trễ còn nặng thêm vì năm chỗ
Toàn bộ phần trên đúng với mọi thị trường. Phần này thì không, và nó là lý do một bài chỉ báo viết như thể đang ở thị trường khác sẽ sai ở những chỗ đo được.
Năm bài của chuỗi "Nền tảng đồ thị" đã dựng kỹ bốn cơ chế đầu. Ở đây chỉ trỏ sang rồi đo hậu quả cụ thể lên phép đo độ trễ.
Biên độ cắt cụt cây nến ở hai đầu
Cơ chế đầy đủ nằm ở đọc nến Nhật và xu hướng và cấu trúc giá. Hậu quả lên phép đo này thì rất trực tiếp và đi theo hai hướng ngược nhau.
Hướng thứ nhất: trong một chuỗi nhiều phiên trần liên tiếp, giá đóng cửa tăng đơn điệu, nên không phiên nào thoả điều kiện thấp hơn cả 10 phiên hai bên. Đoạn ấy không sinh ra điểm xoay nào để chấm điểm, dù giá đã đi rất xa. Tập 94 điểm xoay do đó thiếu vắng đúng những đoạn giá chạy nhanh nhất.
Hướng thứ hai: sau một đáy, nếu phần hồi lại bị biên độ cắt thành nhiều phiên thì giá cần thêm phiên để vượt qua một đường trung bình. Độ trễ đo được dài ra vì một quy định hành chính, không phải vì bộ lọc chậm. Đây là một trong những nguồn khả dĩ cho phần đuôi của phân bố, chỗ có những giá trị 80 phiên và 106 phiên. Bài không tách được phần đóng góp của từng nguyên nhân, nên chỉ nêu cơ chế.
Lưới bước giá đặt sàn cho mọi ngưỡng
Điều kiện "giá đóng cửa nằm trên đường trung bình 50 phiên" là phép so hai con số. Nhưng hai con số ấy không cùng loại: giá chỉ nhận bội số của một bước giá, còn đường trung bình nhận giá trị liên tục. Khi giá và đường trung bình cách nhau dưới một bước giá, việc điều kiện bật hay chưa bật được lưới quyết định trước khi thị trường quyết định.
Quy về tỷ lệ thì độ nhạy ấy khác nhau rất nhiều giữa các mã. Với một cổ phiếu HOSE quanh 21,700 đ, bước giá 50 đ bằng 0.2304% thị giá. Với một cổ phiếu HNX quanh 13,200 đ, bước giá là 100 đ đồng nhất ở mọi vùng giá, tức 0.7576% thị giá. Cùng một điều kiện chỉ báo, hai độ phân giải chênh nhau khoảng 3.3 lần.
Đây là một lời giải thích khả dĩ cho việc thứ hạng không lặp lại giữa các mã, và bài nêu nó đúng ở mức đó. Phép đo trong bài chạy trên ba mã HOSE chứ chưa so HOSE với HNX, nên chưa có bằng chứng gán nguyên nhân.
Giao dịch thoả thuận không đi qua sổ lệnh
Cơ chế nằm ở khối lượng giao dịch nói gì. Hậu quả cho bài này là một quyết định về phạm vi: bộ điều kiện được chấm không gồm chỉ báo nào dựng trên khối lượng.
Lý do là mẫu số của những chỉ báo ấy gộp hai loại giao dịch có cơ chế hình thành giá khác nhau, nên một thay đổi trong con số khối lượng có thể đến từ một giao dịch không hề đi qua sổ lệnh. Chấm điểm tốc độ cho một chỉ báo như vậy là chấm điểm cho một hỗn hợp, và bài chọn không làm thay vì làm rồi chú thích.
Khoảng trống giá giả và chuỗi bị gãy vì luật
Đây là chỗ có thể làm hỏng phép đo tận gốc, và nó được dựng đầy đủ trong xu hướng và cấu trúc giá. Ba hậu quả cụ thể:
Đáy giả. Trên chuỗi giá chưa điều chỉnh quyền, bước nhảy hành chính vào ngày giao dịch không hưởng quyền tạo ra một mức giá đóng cửa thấp hẳn so với các phiên trước. Quy tắc k = 10 không phân biệt được nguyên nhân, nên nó đánh dấu đó là một đáy cục bộ. Một "điểm xoay" chưa từng xảy ra được đưa vào tập mốc.
Đường trung bình nhảy theo. Cùng lúc đó, mọi đường trung bình đi qua vùng ngày ấy đều bị kéo xuống dần trong đúng số phiên của cửa sổ. Cả tử số lẫn mẫu số của phép đo cùng sai.
Chuỗi có lỗ. Cổ phiếu vào diện hạn chế giao dịch có thể chỉ giao dịch một phiên trong tuần, và diện đình chỉ thì để lại lỗ thủng dài tuỳ ý. Cửa sổ 50 phiên chạy qua một đoạn như vậy không phải 50 phiên thật của cùng một cỗ máy. Chi tiết các diện xử lý nằm ở diện cảnh báo, kiểm soát và hạn chế giao dịch.
Phép đo trong bài chạy trên chuỗi đã điều chỉnh quyền, và ai lặp lại phép đo phải kiểm điều đó trước khi so con số. Hai chuỗi thô và chuỗi đã điều chỉnh cho hai tập điểm xoay khác nhau trên cùng một mã.
Biến dạng thứ năm: cửa sổ n phiên vắt qua kỳ nghỉ
Nguyên tắc gốc "đếm nến không phải đếm thời gian" đã được dựng ở bài khung thời gian và tính nhất quán. Ở đây chỉ nói ba hệ quả riêng cho phép đo độ trễ.
Mọi chỉ báo đếm phiên, không đếm thời gian. Một cửa sổ 20 phiên hay 50 phiên là 20 hay 50 lần khớp lệnh, bất kể chúng nằm cách nhau bao lâu.
Ở Việt Nam, kỳ nghỉ Tết Nguyên đán cộng với các kỳ nghỉ lễ tạo ra những đoạn mà số phiên và số ngày lịch tách xa nhau hơn hẳn phần còn lại của năm. Ba hệ quả:
- Một cửa sổ 50 phiên vắt qua Tết trải trên một khoảng thời gian dài hơn hẳn cùng cửa sổ đó ở giữa năm. Đường trung bình trong đoạn ấy đang làm trơn một lượng thời gian khác với đoạn khác, dù tham số không đổi.
- Một độ trễ ghi là "5 phiên" ở hai chỗ trong năm có thể tương ứng với hai số ngày lịch rất khác nhau. Con số phiên không quy đổi sang ngày bằng cách nhân với một hằng số.
- Với ai đang tính toán theo lịch, chẳng hạn khi ghép độ trễ đo bằng phiên với một mốc thời gian thật, phép quy đổi phải chạy trên lịch giao dịch của đúng năm đó chứ không dùng tỷ lệ trung bình.
Bài này đo và in bằng phiên, vì đó là đơn vị mà chỉ báo thật sự dùng. Nhưng khi đọc một con số phiên thành cảm giác về thời gian thì đây là chỗ dễ lệch.
Câu chốt: bốn biến dạng đầu làm hỏng tập điểm xoay và làm dài phần đuôi của phân bố, còn biến dạng thứ năm làm hỏng phép quy đổi từ phiên sang thời gian.
Công cụ này mất tác dụng khi nào
"Công cụ" ở đây gồm hai thứ: cách phân loại chỉ báo thành trễ và dẫn, và phép đo độ trễ tại các điểm xoay. Dưới đây là những đầu vào mà kết quả của chúng không đọc được.
| Tình huống | Vì sao kết quả mất nghĩa |
|---|---|
| Chuỗi giá chưa điều chỉnh quyền | Bước nhảy hành chính tạo ra đáy giả và đồng thời kéo lệch mọi đường trung bình, cả tử số lẫn mẫu số cùng sai |
| Đoạn có nhiều phiên trần hoặc sàn liên tiếp | Không sinh ra điểm xoay nào để chấm điểm, và phần hồi lại bị cắt thành nhiều phiên nên độ trễ dài ra vì luật |
| Chuỗi có lỗ vì diện hạn chế hoặc đình chỉ | Cửa sổ n phiên không phải n phiên thật của cùng một cỗ máy khớp lệnh |
| Mã vừa đổi sàn | Biên độ và bước giá đổi trong một đêm, hai đoạn chuỗi thuộc hai chế độ khác nhau |
| Cửa sổ vắt qua Tết hoặc kỳ nghỉ lễ dài | Độ trễ đo bằng phiên không quy đổi tuyến tính sang ngày lịch |
| So hai mã có bước giá chênh nhau nhiều lần | Cùng một điều kiện có hai độ phân giải khác nhau, ở đây là khoảng 3.3 lần giữa hai ví dụ đã nêu |
| Chỉ báo dựng trên khối lượng chưa tách giao dịch thoả thuận | Đại lượng được chấm điểm là một hỗn hợp của hai cơ chế hình thành giá |
| So hai điều kiện có tần suất bật rất khác nhau | Thước đo tốc độ tự thưởng cho điều kiện lỏng hơn, ca 79.8% ở trên là ví dụ đo được |
| Kết luận rút từ một mã duy nhất | Thứ hạng không chuyển sang mã khác, Spearman −0.429 và 0.000 |
| Kết luận rút từ một tham số nhận diện điểm xoay | Đổi k từ 10 sang 20 làm đổi thứ hạng dù dữ liệu không đổi |
| Chỉ đọc trung vị mà bỏ độ rộng | Khoảng phần tư 1 tới 10 phiên và cực trị 80 phiên nằm ngoài con số trung vị 5 |
| Bộ tham số được chọn bằng chính kỳ dùng để chấm điểm | 0 trên 15 dòng vượt mua và giữ ở cả hai kỳ; dòng đẹp nhất kỳ thứ nhất là dòng sụp mạnh nhất kỳ thứ hai |
| Phép đo bị đọc thành một quy trình giao dịch được | Quy tắc nhận diện đáy dùng 10 phiên đi sau, tức chỉ xác định được khi nhìn lại |
| Suy rộng từ mẫu này ra thị trường | 94 điểm xoay từ 3 mã, và các điểm xoay cùng một mã không độc lập với nhau |
Câu chốt: phép đo trong bài đủ để bác một mệnh đề cụ thể, và không đủ để dựng một mệnh đề thay thế.
Những chỗ bài này cố ý không khẳng định
Phần này liệt kê những chỗ mà một bài viết cùng đề tài thường đi tiếp một bước, còn bài này dừng lại.
Không khẳng định chỉ báo nào nhanh hơn chỉ báo nào. Đó chính là mệnh đề mà phần đo bác bỏ. Bài không có bảng xếp hạng, và sự vắng mặt ấy là có chủ ý.
Không khẳng định độ trễ trung vị của bất kỳ chỉ báo nào là một con số dùng được. Con số duy nhất được in ra, trung vị 5 phiên của điều kiện giá trên đường trung bình 50 phiên, được in kèm cả khoảng phần tư lẫn cực trị, và nó có mặt để minh hoạ độ rộng chứ không phải để làm hằng số cho ai mang đi dùng.
Không khẳng định vì sao thứ hạng không lặp lại. Một khả năng đã được nêu, là lưới bước giá tạo ra hai độ phân giải khác nhau cho cùng một điều kiện. Đó là một giả thuyết có cơ chế rõ ràng nhưng chưa được đo, vì phép đo chạy trên ba mã cùng một sàn.
Không khẳng định 94 điểm xoay đủ để suy rộng. Mẫu nhỏ, ba mã, và các điểm xoay trong cùng một mã không độc lập. Kết luận về sự không ổn định của thứ hạng chịu được cỡ mẫu này, vì để bác một mệnh đề "thứ hạng lặp lại" thì chỉ cần chỉ ra nó không lặp lại. Nhưng một kết luận dạng "thứ hạng luôn ngược nhau" thì không, và bài không đưa ra kết luận dạng đó.
Không khẳng định con số ngoài mẫu −30.98% là đặc tính của giao cắt trung bình động. Đó là kết quả của một cấu hình, trên một mã, trong một cửa sổ, ở một mức trượt giá thấp hơn sàn vật lý của chính mã đó.
Không khẳng định mức trượt giá nào là đúng. Bài chỉ có sàn suy ra từ lưới bước giá. Chênh lệch giữa giá chờ mua và giá chờ bán thật, cùng phần trượt giá tăng theo quy mô lệnh, đều không đo được từ dữ liệu công khai, nên bài không in một con số nào cho chúng.
Không khẳng định chỉ báo nào vô dụng. Mệnh đề bị bác là một mệnh đề hẹp và cụ thể: rằng có chỉ báo tính từ giá quá khứ mà dẫn được giá. Bác mệnh đề đó không đồng nghĩa với việc nói các phép biến đổi ấy không mô tả được gì.
Không đưa ra tín hiệu mua bán và không dự báo giá của bất kỳ mã nào.
Bảy câu hỏi trước khi gọi một chỉ báo là "dẫn"
Gộp lại thành một danh sách dùng được ngay, mỗi câu hỏi ứng với một chỗ đã đo trong bài.
- Chỉ báo này nhận đầu vào gì? Nếu mọi đối số đều là giá hoặc khối lượng đã xảy ra thì chữ "dẫn" không thể mang nghĩa chứa thông tin mới, và người dùng chữ ấy phải nói rõ họ đang dùng nghĩa nào.
- "Dẫn" ở đây đo bằng gì, so với sự kiện nào, và sự kiện đó định nghĩa bằng tham số nào? Không có tập mốc và tham số của nó thì con số độ trễ không kiểm lại được.
- Con số công bố có kèm tỷ lệ bật nền không? Một điều kiện bật 79.8% thời gian tại các mốc sẽ luôn thắng ở thước đo tốc độ mà không mang thêm thông tin nào.
- Đó là trung vị hay cả phân bố? Hỏi thẳng phần tư thứ nhất, phần tư thứ ba và giá trị lớn nhất. Ở phép đo trong bài, độ rộng lớn hơn chính con số trung tâm.
- Kết luận đo trên mấy mã, và thứ hạng có giữ nguyên khi đổi mã không? Hai cặp mã trong bài cho hệ số tương quan hạng −0.429 và 0.000.
- Đổi tham số nhận diện điểm xoay thì thứ hạng có đổi không? Trong bài, đổi
ktừ 10 sang 20 là đủ, dù dữ liệu và công thức giữ nguyên. - Chuỗi giá dùng để đo đã điều chỉnh quyền chưa, có đoạn trần sàn liên tiếp, có lỗ vì diện xử lý, có vắt qua Tết, và có mốc đổi sàn nào nằm trong đoạn không? Năm chỗ này quyết định tập điểm xoay trước khi bất kỳ chỉ báo nào được chấm điểm.
Đọc tiếp gì
Bài này là phần thứ năm của chuỗi "Chỉ báo kỹ thuật". Phần chứng minh độ trễ từ công thức nằm ở đường trung bình động, và ba bài về từng công cụ cụ thể là chỉ báo RSI, chỉ báo MACD và Bollinger Bands. Phần tiếp ngay sau bài này, vì sao tối ưu tham số hay dẫn tới overfit, lấy đúng bộ số trong mẫu và ngoài mẫu ở trên rồi đi vào cơ chế.
Ba chỗ trong bài này cố ý dừng lại giữa chừng, và mỗi chỗ có một bài đi tiếp. Quy tắc nhận diện đáy dùng 10 phiên đi sau, tức đúng dạng lỗi mà sai lệch sống sót và nhìn trước phân loại. Bảng hai kỳ ở trên được đọc như một bảng backtest mà chưa nói gì về những chỉ tiêu nó thiếu, phần đó thuộc backtest là gì và đọc kết quả thế nào. Và cái sàn trượt giá chỉ được nêu bằng một con số cho một mã, còn bảng đầy đủ nằm ở chi phí giao dịch ăn mòn lợi nhuận thế nào. Nếu muốn thấy vì sao một tỷ lệ thắng cao vẫn có thể đi kèm kỳ vọng âm, thì đó là kỳ vọng toán học của một hệ thống.
Bốn bài nền của chuỗi "Nền tảng đồ thị" là chỗ mọi biến dạng trong bài này được dựng đầy đủ: đọc nến Nhật, khối lượng giao dịch nói gì, xu hướng và cấu trúc giá và hỗ trợ và kháng cự bản chất là gì. Nếu định phản ứng thường xuyên hơn với các tín hiệu chỉ báo thì chi phí thật của một giao dịch là bài phải đọc trước, vì mỗi lần phản ứng đều tốn một khoản chắc chắn mất trong khi tín hiệu thì chưa chắc.
Nội dung trong bài mang tính chia sẻ kiến thức, không phải khuyến nghị mua bán chứng khoán và không phải tư vấn đầu tư. Các mã cổ phiếu được nhắc tới chỉ là tập dữ liệu để chạy phép đo, không mang nhận định nào về doanh nghiệp. Mọi kết quả backtest trong bài là mô phỏng trên dữ liệu quá khứ với phí và trượt giá giả định, không phải kết quả giao dịch thật, và kết quả quá khứ không bảo đảm cho kết quả tương lai. Số liệu chốt ngày 04/09/2026, do FinLens tổng hợp từ dữ liệu giao dịch của HOSE.
Câu hỏi thường gặp
Có chỉ báo kỹ thuật nào thật sự dẫn giá không?
Không, nếu hiểu chữ dẫn theo nghĩa chứa thông tin về phiên sắp tới mà chuỗi giá chưa chứa. Mọi chỉ báo phổ biến đều là một hàm xác định của giá và khối lượng đã xảy ra, nên mọi thứ chỉ báo biết thì dữ liệu đầu vào cũng đã biết. Một phép biến đổi sắp xếp lại thông tin sẵn có, nó không tạo thêm thông tin. Chữ dẫn trong thực tế chỉ mang nghĩa hẹp hơn nhiều: có những phép biến đổi mà giá trị đầu ra đổi hướng trước khi giá đổi hướng, và đó là tính chất số học của phép tính chứ không phải khả năng nhìn trước.
Độ trễ của một chỉ báo là bao nhiêu phiên?
Câu hỏi này không có một con số trả lời. Đo trên 94 điểm xoay của ba mã, riêng điều kiện giá đóng cửa nằm trên đường trung bình 50 phiên có trung vị 5 phiên nhưng khoảng phần tư thứ nhất tới phần tư thứ ba đã trải từ 1 tới 10 phiên, và giá trị lớn nhất trong mẫu là 80 phiên. Nêu trung vị mà bỏ độ rộng là nêu một phần rất nhỏ của sự thật.
Vì sao không nên tin các bảng xếp hạng chỉ báo theo tốc độ?
Vì thứ hạng đo được không lặp lại. Xếp hạng cùng một bộ điều kiện trên ba mã rồi so từng cặp, hệ số tương quan hạng Spearman của một cặp là −0.429 và của một cặp khác là 0.000. Một điều kiện giao cắt hai đường trung bình nhanh nhất ở hai mã lại chậm nhất ở mã thứ ba. Thứ hạng còn đổi khi chỉ đổi tham số nhận diện điểm xoay, dù dữ liệu và chỉ báo giữ nguyên.
Vì sao một chỉ báo càng nhanh chưa chắc càng tốt?
Vì thước đo tốc độ có một nghiệm tầm thường. Điều kiện chỉ số sức mạnh tương đối vượt ngưỡng 30 được chấm là nhanh nhất, nhưng lý do là ở 79.8% số điểm xoay nó vốn đã bật sẵn từ trước, tức nó không hề tắt để mà bật. Một điều kiện gần như luôn đúng thì không bao giờ báo muộn một điểm xoay nào, đồng thời cũng bật trong vô số lúc không có điểm xoay nào. Thước đo chỉ đếm tốc độ mà không đếm tỷ lệ bật nền sẽ luôn xếp điều kiện ít thông tin nhất lên đầu.
Kỳ nghỉ Tết ảnh hưởng gì tới độ trễ của chỉ báo?
Mọi chỉ báo đếm phiên chứ không đếm thời gian. Một cửa sổ 50 phiên vắt qua kỳ nghỉ Tết trải trên một khoảng thời gian dài hơn hẳn cùng cửa sổ đó ở giữa năm, và một độ trễ ghi là 5 phiên ở hai chỗ khác nhau trong năm có thể tương ứng với hai số ngày lịch rất khác nhau. Vì vậy con số phiên không quy đổi sang ngày bằng cách nhân với một hằng số.
Cập nhật lần cuối:
Đọc tiếp
Nội dung trong bài mang tính chia sẻ kiến thức, không phải khuyến nghị mua bán. Mọi quyết định đầu tư và rủi ro đi kèm thuộc về người đọc.