Kỳ vọng toán học của một hệ thống
Tỷ lệ thắng cao không đồng nghĩa có lời. Kỳ vọng có hai thừa số, và ở đây là công thức đầy đủ, sáu bộ số đo thật, cùng một phép suy đang lưu hành bị dùng sai.
FinLens58 phút đọc
Hai người mô tả hệ thống giao dịch của mình trong cùng một buổi. Người thứ nhất nói hệ thống của anh thắng 70% số lệnh. Người thứ hai nói hệ thống của chị thắng 40%.
Không có thêm thông tin nào khác, câu duy nhất nói được về hai hệ thống này là: chưa biết cái nào có lời.
Đó không phải một cách nói cho lịch sự. Nó là hệ quả trực tiếp của phép toán. Tỷ lệ thắng là một trong hai thừa số quyết định kết quả, và bài này sẽ cho thấy nó còn là thừa số ít do người giao dịch kiểm soát hơn.
Bài viết cho người đã đọc backtest là gì và đọc kết quả thế nào, đã biết một bảng kết quả gồm những cột nào, và giờ muốn biết những cột ấy ràng buộc lẫn nhau ra sao. Ba việc sẽ được làm, theo thứ tự.
Thứ nhất, viết đầy đủ công thức kỳ vọng và bảng ngưỡng đi kèm. Phần này là số học thuần, không cần dữ liệu, và nó đứng vững bất kể thị trường nào.
Thứ hai, chỉ ra một phép suy đang lưu hành bị dùng sai. Đẳng thức thì đúng, nhưng đại lượng được thay vào không phải đại lượng mà đẳng thức đòi. Đo trên sáu cấu hình, sai lệch trải từ 7.4% tới 62.5%.
Thứ ba, đặt sáu bộ số đo thật lên trên bảng lý thuyết, rồi nói thẳng ba chỗ chính con số kỳ vọng tự hỏng: nó không biết gì về quy mô vị thế, nó cộng trong khi tài khoản nhân, và ở cỡ mẫu thực tế thì sai số của nó nuốt trọn chính nó.
Một lời cần nói trước, vì phần giữa bài có bảng kết quả mô phỏng. Không dòng nào trong các bảng ấy là ưu điểm của một chiến lược. Năm trên sáu cấu hình được dùng làm ví dụ thua phép mua và giữ chính mã đó, dòng thua sâu nhất kém tới 1,322.10 điểm phần trăm. Các con số ở đây có mặt để chứng minh một cách hỏng, không phải để gợi ý dùng cái gì.
Cân hai đĩa, đĩa trái ghi tỷ lệ thắng nhân lãi trung bình, đĩa phải ghi tỷ lệ thua nhân lỗ trung bình, đòn cân nghiêng nhẹ về phía đĩa phải dù đĩa trái có nhiều vật nhỏ hơn hẳn
Công thức, viết đầy đủ
Dạng gốc
Gọi một hệ thống là một quy tắc sinh ra các lệnh. Sau khi n lệnh đã đóng, có bốn con số đếm được:
- p là tỷ lệ thắng, dạng thập phân, bằng số lệnh lãi chia tổng số lệnh đã đóng.
- 1 − p là tỷ lệ thua.
- W là lãi trung bình của riêng các lệnh lãi, một số dương.
- L là lỗ trung bình của riêng các lệnh lỗ, nhập giá trị dương, vì dấu trừ đã nằm sẵn trong công thức.
Kỳ vọng của một lệnh:
E = p × W − (1 − p) × LE tính bằng cùng đơn vị với W và L. Nếu W và L tính theo phần trăm giá trị vị thế thì E cũng theo phần trăm giá trị vị thế; nếu tính bằng tiền thì E bằng tiền. Trộn hai đơn vị trong cùng một phép tính là lỗi hay gặp nhất ở đây, và nó không báo lỗi ra ngoài.
Dạng chuẩn hoá: đưa mọi thứ về bội số của lỗ trung bình
Đặt b = W / L, gọi là tỷ lệ lãi trên lỗ. Cách đọc quen thuộc "1:4" nghĩa là lãi 1 phần, lỗ 4 phần, tức b = 0.25. Còn "3:1" là b = 3.000.
Thay vào:
E = L × ( p × b − (1 − p) )Vì L luôn dương, dấu của E chỉ phụ thuộc dấu của biểu thức trong ngoặc. Điều này quan trọng hơn vẻ ngoài của nó: nó nói rằng câu hỏi "hệ thống này lãi hay lỗ" không cần biết L bằng bao nhiêu. L quyết định độ lớn, không quyết định dấu.
Điều kiện hoà vốn, hai dạng đối ngẫu
Cho biểu thức trong ngoặc bằng 0 rồi giải theo hai biến, được hai câu trả lời cho cùng một phương trình.
Dạng thứ nhất, biết tỷ lệ thắng thì cần tỷ lệ lãi trên lỗ tối thiểu bao nhiêu:
b₀ = (1 − p) / pDạng thứ hai, biết tỷ lệ lãi trên lỗ thì cần tỷ lệ thắng tối thiểu bao nhiêu:
p₀ = 1 / (1 + b)Và ba mệnh đề sau tương đương nhau, không phải xấp xỉ:
E > 0 ⟺ b > b₀ ⟺ p > p₀Quan hệ với profit factor
Profit factor là tổng lãi gộp chia tổng lỗ gộp. Trên n lệnh, tổng lãi gộp là n × p × W và tổng lỗ gộp là n × (1 − p) × L, nên:
PF = ( n × p × W ) / ( n × (1 − p) × L ) = b × p / (1 − p)Suy ra E > 0 ⟺ PF > 1. Đây là một đồng nhất thức. Nó cũng đảo ngược được:
b = PF × (1 − p) / pĐẳng thức cuối cùng này chính là chỗ bài sẽ quay lại ở mục sau, vì nó đang bị dùng sai một cách rất dễ mắc.
Dạng dùng thật: có chi phí
Gọi c là chi phí trọn một vòng mua bán, tính theo phần trăm giá trị vị thế. Chi phí trừ vào mọi lệnh, thắng lẫn thua:
E_ròng = p × W − (1 − p) × L − cNgưỡng hoà vốn dịch theo:
b₀ (sau chi phí) = [ (1 − p) + c/L ] / p
p₀ (sau chi phí) = ( 1 + c/L ) / ( 1 + b )Hai mức c dùng trong bài lấy nguyên từ chi phí thật của một giao dịch, không tự đặt: 0.40% một vòng ứng với phí môi giới giả định 0.15% mỗi chiều cộng thuế thu nhập cá nhân 0.1% trên giá trị bán, và 1.10% một vòng ứng với phí kịch trần 0.5% mỗi chiều cộng cùng khoản thuế đó. Bài đó có đủ biểu phí và cách bóc từng khoản; ở đây chỉ dùng lại hai con số kết quả.
Kỳ vọng theo lệnh, không phải theo năm
Công thức trên tính cho một lệnh. Muốn quy ra năm thì nhân với số lệnh mỗi năm:
E_năm ≈ E × NChỗ này đáng dừng lại một nhịp. Một hệ thống có E = +0.2% mỗi lệnh và sinh N = 5 lệnh mỗi năm cho kỳ vọng năm khoảng +1%, thấp hơn lãi suất tiền gửi, chưa kể thời gian bỏ ra. Kỳ vọng dương và đáng làm là hai câu hỏi khác nhau, và công thức chỉ trả lời câu thứ nhất.
Bảng người đọc sẽ nhớ
Ngưỡng b₀ = (1 − p) / p không cần dữ liệu gì. Nó là một phép biến đổi đại số, đúng ở mọi thị trường, mọi thời kỳ, mọi loại tài sản. Đây là phần chắc chắn nhất của bài, và cũng là phần dùng được ngay.
| Mốc | Chưa tính chi phí (lần) | Chi phí một vòng 0.40% (lần) | Chi phí một vòng 1.10% (lần) |
|---|---|---|---|
| Thắng 90% | 0.11 | 0.2 | 0.36 |
| Thắng 80% | 0.25 | 0.35 | 0.53 |
| Thắng 70% | 0.43 | 0.54 | 0.74 |
| Thắng 60% | 0.67 | 0.8 | 1.03 |
| Thắng 50% | 1 | 1.16 | 1.44 |
| Thắng 40% | 1.5 | 1.7 | 2.05 |
| Thắng 30% | 2.33 | 2.6 | 3.07 |
Phép tính thuần tuý từ công thức b₀ = [(1−p) + c/L]/p, giả định lỗ trung bình L bằng 5% giá trị vị thế. Hai mức chi phí lấy từ bài chi phí thật của một giao dịch. Không phải kết quả đo trên thị trường. Nguồn: FinLens tổng hợp.
Cột trái nhất của mỗi nhóm là ngưỡng lý thuyết thuần, không phụ thuộc giả định nào. Hai cột còn lại phụ thuộc giả định L = 5% giá trị vị thế, vì chi phí c chỉ vào công thức dưới dạng tỷ số c/L. Hệ thống nào có lỗ trung bình lớn hơn 5% thì hai cột chi phí thu lại gần cột đầu; nhỏ hơn thì giãn ra.
Bảng ngưỡng thuần, đầy đủ hơn, ở dạng tra cứu:
| Tỷ lệ thắng p | Ngưỡng b₀ = (1−p)/p |
|---|---|
| 20.00% | 4.000 |
| 25.00% | 3.000 |
| 30.00% | 2.333 |
| 33.33% | 2.000 |
| 35.00% | 1.857 |
| 40.00% | 1.500 |
| 45.00% | 1.222 |
| 50.00% | 1.000 |
| 55.00% | 0.818 |
| 60.00% | 0.667 |
| 66.67% | 0.500 |
| 70.00% | 0.429 |
| 75.00% | 0.333 |
| 80.00% | 0.250 |
Một ca số cụ thể, vì bảng dễ đọc lướt
Lấy đúng hệ thống của người thứ nhất ở đầu bài: tỷ lệ thắng 70%, tỷ lệ lãi trên lỗ 1:4, tức b = 0.25.
Ngưỡng hoà vốn tại 70% là 0.429. Con số 0.25 chỉ bằng 58% ngưỡng, tức thiếu 42%.
Trải ra trên 100 lệnh, với lãi trung bình 2% và lỗ trung bình 8%, đúng tỷ lệ 1:4:
| Khoản | Phép tính | Kết quả |
|---|---|---|
| Lãi gộp | 70 lệnh × 2% | +140 điểm phần trăm |
| Lỗ gộp | 30 lệnh × 8% | −240 điểm phần trăm |
| Ròng trước chi phí | 140 − 240 | −100 điểm phần trăm |
| Chi phí 100 vòng ở mức 1.10% | 100 × 1.10% | −110 điểm phần trăm |
| Ròng sau chi phí | −210 điểm phần trăm | |
| Profit factor | 140 / 240 | 0.58 |
Thắng bảy trên mười lệnh, và mất khoảng gấp đôi vốn trong một trăm lệnh. Muốn hệ thống 1:4 này hoà vốn thì tỷ lệ thắng phải đạt 80.00% khi chưa tính chi phí, và 91.00% sau chi phí 1.10% với lỗ trung bình 8%.
Các con số trong bảng trên là số giả định dựng ra để minh hoạ quy tắc, không phải kết quả của một hệ thống có thật.
Bảng đối ngẫu: đọc ngược lại
Cùng một phương trình, nhìn từ phía kia. Cho trước kế hoạch thoát lệnh (tức cho trước b), thị trường phải trả lại tỷ lệ thắng tối thiểu bao nhiêu:
| Tỷ lệ lãi trên lỗ | Tỷ lệ thắng tối thiểu | Sau chi phí 1.10% |
|---|---|---|
| 1:4 (b = 0.25) | 80.00% | 91.00% |
| 1:2 (b = 0.50) | 66.67% | 75.83% |
| 1:1 (b = 1.00) | 50.00% | 56.88% |
| 1.5:1 (b = 1.50) | 40.00% | 45.50% |
| 2:1 (b = 2.00) | 33.33% | 37.92% |
| 3:1 (b = 3.00) | 25.00% | 28.44% |
| 4:1 (b = 4.00) | 20.00% | 22.75% |
Cột cuối tính với lỗ trung bình L = 8% giá trị vị thế.
Chi phí đánh nặng hơn vào hệ thống tỷ lệ thắng cao
Đây là hệ quả phản trực giác nhất của công thức, và nó đơn điệu, không có ngoại lệ nào trên toàn dải p từ 10% tới 90%.
Mức tăng của ngưỡng hoà vốn khi cộng chi phí 1.10% vào, so với ngưỡng chưa tính chi phí:
| Tỷ lệ thắng | Ngưỡng tăng bao nhiêu lần |
|---|---|
| 90% | 3.20 lần |
| 80% | 2.10 lần |
| 70% | 1.73 lần |
| 60% | 1.55 lần |
| 50% | 1.44 lần |
| 40% | 1.37 lần |
| 30% | 1.31 lần |
| 20% | 1.27 lần |
| 10% | 1.24 lần |
Cơ chế đọc thẳng ra từ b₀ = [(1−p) + c/L] / p: khi p lớn thì (1 − p) nhỏ, nên số hạng c/L chiếm tỷ trọng áp đảo trong tử số. Nói bằng lời: hệ thống tỷ lệ thắng cao sống bằng lãi mỏng mỗi lệnh, nên một khoản trừ cố định ăn vào phần trăm lớn hơn hẳn so với ở hệ thống ăn dày nhưng thắng ít.
Đây là điểm nối tự nhiên sang chi phí giao dịch ăn mòn lợi nhuận thế nào, bài trước của chuỗi này, nơi có bảng sàn trượt giá theo từng mã và phần chứng minh rằng chi phí bào mòn theo tần suất lệnh chứ không theo chất lượng tín hiệu.
Một phép suy đang lưu hành, và nó thay nhầm đại lượng
Đây là phần bài muốn người đọc mang về nhất, vì nó không chỉ đưa ra con số đúng mà còn chỉ ra vì sao con số cũ sai.
Sơ đồ hai đường dẫn vào cùng một công thức: nhánh trên là profit factor tính trên tổng phần trăm cho ra tỷ lệ lãi trên lỗ đúng, nhánh dưới là profit factor tính trên tiền của đường vốn cho ra một giá trị thấp hơn
Đẳng thức thì đúng
Nhắc lại phép biến đổi ở mục trước:
b = PF × (1 − p) / pNó hấp dẫn vì cả PF lẫn p đều là hai con số mà bất kỳ bảng kết quả backtest nào cũng công bố sẵn, trong khi lãi trung bình và lỗ trung bình thì thường không có cột riêng. Nghĩa là chỉ cần hai số trên màn hình là suy ra được thừa số thứ hai của công thức kỳ vọng, không cần mở danh sách lệnh ra.
Phép biến đổi đại số này không sai ở đâu cả. Vấn đề nằm ở chỗ khác.
Nhưng "PF" trong đẳng thức là PF nào
Đẳng thức được dẫn ra từ PF = (n × p × W) / (n × (1 − p) × L), tức nó đòi một profit factor tính trên tổng phần trăm: cộng phần trăm lãi của các lệnh lãi, chia cho tổng trị tuyệt đối phần trăm lỗ của các lệnh lỗ. Mỗi lệnh đóng góp đúng bằng phần trăm của nó, bất kể lệnh đó xảy ra sớm hay muộn, bất kể lúc đó tài khoản to hay nhỏ.
Trường profit_factor mà công cụ backtest trả về không nhất thiết là đại lượng đó. Trong bộ số dùng cho bài này, nó được dựng trên đường vốn tái đầu tư toàn bộ, nên mỗi lệnh được cân theo số tiền đang có tại thời điểm ấy. Hai đại lượng cùng tên, khác định nghĩa.
Kiểm được điều này mà không cần tài liệu công cụ: dựng lại profit factor theo tổng phần trăm từ danh sách lệnh, thay vào đẳng thức, rồi so với tỷ lệ lãi trên lỗ đọc thẳng từ dữ liệu. Nếu đẳng thức đúng thì hai con số phải trùng.
Kết quả đo: sáu trên sáu đều lệch
Trên sáu cấu hình đã dựng lại đầy đủ từ danh sách lệnh riêng lẻ. Cột giữa là số suy từ profit_factor công cụ trả, cột phải là số đọc thẳng từ phần trăm lãi lỗ của từng lệnh:
| Mã | b suy từ profit factor công cụ | b đo thật | Số suy thấp hơn |
|---|---|---|---|
| DGC | 1.786 | 2.179 | 18.0% |
| FPT | 1.752 | 1.893 | 7.4% |
| GAS | 0.645 | 0.902 | 28.5% |
| HPG | 2.495 | 6.646 | 62.5% |
| MWG | 2.423 | 4.009 | 39.6% |
| VNM | 1.140 | 1.279 | 10.9% |
Xếp theo tên mã, không xếp theo mức lệch.
Hai điều đọc được. Thứ nhất, cả sáu cấu hình đều cho con số suy thấp hơn con số đo. Thứ hai, và quan trọng hơn cho người định dùng phép suy, biên độ lệch không cố định: từ 7.4% tới 62.5%. Không có hệ số hiệu chỉnh nào cứu được phép suy, vì muốn hiệu chỉnh thì phải biết trước hệ số, mà biết trước hệ số thì đã có luôn con số đúng rồi.
Kiểm ngược để chắc chắn đẳng thức không phải thủ phạm: tính lại profit factor theo tổng phần trăm rồi thay vào công thức thì kết quả trùng khớp tới chữ số thứ ba ở cả sáu cấu hình. Hai loại profit factor đặt cạnh nhau:
| Mã | Profit factor công cụ trả | Profit factor theo tổng phần trăm |
|---|---|---|
| DGC | 1.54 | 1.878 |
| FPT | 1.15 | 1.242 |
| GAS | 1.29 | 1.804 |
| HPG | 1.97 | 5.247 |
| MWG | 1.50 | 2.482 |
| VNM | 1.14 | 1.279 |
Vì sao hai con số ấy tách nhau
Phần này là suy luận về cơ chế, không phải điều tài liệu công cụ khẳng định. Nêu ở mức đó.
Profit factor tính theo tiền cân mỗi lệnh theo quy mô vốn tại thời điểm lệnh đó chạy. Một chuỗi có lãi lớn rơi sớm rồi bào mòn dần trên nền vốn đã phình to sẽ cho profit factor theo tiền thấp hơn hẳn profit factor theo phần trăm: phần lãi được cân bằng số vốn nhỏ lúc đầu, còn phần lỗ về sau được cân bằng số vốn lớn.
HPG là ca lệch nhiều nhất, và cũng đúng là ca có một lệnh lãi +260.20% nằm ở giữa chuỗi. Mười lăm lệnh đi sau lệnh đó, nhân dồn lại, còn −8.93%, dù cộng thô phần trăm thì vẫn ra +3.05%. Cả hai phép cộng đều đúng số học, chúng chỉ trả lời hai câu hỏi khác nhau, và chính sự khác nhau ấy là thứ bài đang mô tả.
Chỗ phải dè dặt
Cơ chế vừa nêu hàm ý điều ngược lại cũng xảy ra được: một chuỗi có lãi lớn rơi muộn, trên nền vốn đã lớn, sẽ cho profit factor theo tiền cao hơn profit factor theo phần trăm, tức phép suy sẽ lệch ngược chiều.
Vì vậy phát biểu đúng mức là: trong sáu cấu hình đo được, cả sáu đều lệch một chiều; nhưng cơ chế giải thích chúng cho thấy chiều lệch phụ thuộc vị trí của lệnh lãi lớn trong chuỗi, nên sáu quan sát không đủ để nói chiều lệch là cố định. Luật dùng được rút ra không phải "phép suy luôn cho số thấp" mà là: chỉ thay profit factor vào đẳng thức khi biết chắc nó tính trên phần trăm.
Cách lấy được lãi trung bình và lỗ trung bình thật
Công cụ backtest dùng cho bài không có trường riêng cho lãi trung bình và lỗ trung bình. Nó trả kèm danh sách lệnh, nhưng danh sách ấy bị cắt còn 20 lệnh mỗi lần gọi. Đó chính là lý do phép suy ở mục trên hấp dẫn: nó là đường tắt vòng qua đúng cái trần này.
Có một cách vòng qua trần mà không phải suy, và người đọc lặp lại được.
Chia cửa sổ thời gian thành nhiều lần gọi. Thay vì gọi một lần cho toàn bộ 15 năm và nhận về 20 lệnh cuối, gọi nhiều lần trên các cửa sổ con, mỗi lần nhận tối đa 20 lệnh, rồi ghép danh sách lại.
Mỗi cửa sổ con phải có một đoạn đệm khởi động. Chỉ báo cần một số phiên để có giá trị đầu tiên. Một đường trung bình 50 phiên chưa tồn tại trong 49 phiên đầu của chuỗi, nên cửa sổ con bắt đầu đúng ngày cần đo sẽ bỏ mất các tín hiệu ở đầu cửa sổ, hoặc tệ hơn, sinh ra tín hiệu không có ở bản chạy đầy đủ. Cho mỗi cửa sổ con lùi điểm bắt đầu về trước vài chục phiên rồi vứt bỏ phần lệnh nằm trong đoạn đệm.
Phép kiểm ghép nối: cho hai cửa sổ con liền nhau chồng lấn một đoạn, rồi đối chiếu các lệnh nằm trong vùng chồng lấn. Chúng phải trùng khít, cùng ngày vào, cùng ngày ra, cùng phần trăm lãi lỗ. Không trùng nghĩa là đoạn đệm chưa đủ dài.
Làm xong thì có danh sách phần trăm lãi lỗ của từng lệnh, và lúc đó lãi trung bình, lỗ trung bình, trung vị, độ lệch chuẩn đều tính được trực tiếp, không phải suy từ đâu cả. Bộ số ở mục sau dựng theo đúng cách này trên 203 lệnh riêng lẻ, và được dựng lại một lần nữa độc lập, trùng khít tới chữ số thứ ba.
Sáu bộ số đo thật
Tham số, ghi đủ để lặp lại được
Đây không phải phần phụ. Thiếu một vế trong đặc tả là ra bộ số khác, và ở một bảng khác trong cùng đợt dữ liệu, thiếu vế thoát lệnh đã làm một dòng đổi dấu.
| Hạng mục | Giá trị |
|---|---|
| Chiều vào và ra, cấu hình MA | Vào khi MA20 cắt lên MA50; ra khi MA20 cắt xuống MA50 |
| Chiều vào và ra, cấu hình RSI | Vào khi RSI14 cắt lên 30; ra khi RSI14 cắt xuống 70 |
| Chiều vào và ra, cấu hình MACD | Vào khi MACD cắt lên đường tín hiệu; ra khi cắt xuống |
| Phí giao dịch | 0.15% mỗi chiều |
| Trượt giá | 0.05% mỗi lệnh |
| Chu kỳ thanh toán mô phỏng | T+2 |
| Vốn ban đầu | 100,000,000 đ |
| Chốt lời, cắt lỗ | Không đặt |
| Thuế bán 0.1% | Chưa cộng vào |
Cửa sổ đo khác nhau theo mã, vì chuỗi giá của mỗi mã bắt đầu ở thời điểm khác nhau: HPG và VNM từ 04/01/2011, GAS từ 02/01/2013, MWG từ 14/07/2014, FPT và DGC từ 04/01/2021. Tất cả kết thúc 04/09/2026.
Mức trượt giá 0.05% mỗi chiều là một tham số người chạy tự khai, và nó thấp hơn sàn vật lý của mọi mã trong nhóm. Lưới bước giá đặt một mức tối thiểu mà chênh lệch mua bán không thể nhỏ hơn: với HPG mức đó là 0.1152% mỗi chiều, với VNM 0.0808%, với FPT 0.0687%, với MWG 0.0684%. Nghĩa là mọi con số kỳ vọng dưới đây lạc quan hơn thực tế, ở HPG là lạc quan hơn khoảng 2.3 lần về khoản trượt giá, và còn chưa trừ thuế bán 0.1%. Bảng sàn đầy đủ theo từng mã cùng cơ chế của nó nằm ở bài về chi phí giao dịch; cơ chế lưới bước giá thì ở hỗ trợ và kháng cự bản chất là gì.
Bảng chính
Xếp theo tên mã. Cột cuối là chênh lệch so với phép mua và giữ chính mã đó, trong cùng cửa sổ, và nó có ở mọi dòng.
| Mã | Cấu hình | Số lệnh | Tỷ lệ thắng p | Lãi TB W | Lỗ TB L | b = W/L | Ngưỡng b₀ | Kỳ vọng mỗi lệnh | Sụt vốn tối đa | Vượt mua-giữ |
|---|---|---|---|---|---|---|---|---|---|---|
| DGC | MACD 12/26/9 | 54 | 46.30% | 10.578% | 4.856% | 2.179 | 1.160 | +2.290% | −38.56% | −20.73 điểm |
| FPT | MACD 12/26/9 | 53 | 39.62% | 5.911% | 3.122% | 1.893 | 1.524 | +0.457% | −33.88% | −165.43 điểm |
| GAS | RSI14 30/70 | 12 | 66.67% | 17.451% | 19.345% | 0.902 | 0.500 | +5.186% | −76.49% | −383.43 điểm |
| HPG | MA20/50 | 34 | 44.12% | 45.494% | 6.845% | 6.646 | 1.267 | +16.246% | −40.77% | +769.53 điểm |
| MWG | MA20/50 | 34 | 38.24% | 27.372% | 6.828% | 4.009 | 1.615 | +6.249% | −54.88% | −1,322.10 điểm |
| VNM | RSI14 30/70 | 16 | 50.00% | 8.959% | 7.003% | 1.279 | 1.000 | +0.978% | −46.92% | −669.52 điểm |
Tỷ lệ thắng dựng lại từ danh sách lệnh khớp chính xác con số công cụ công bố ở cả sáu dòng, và số lệnh cũng vậy. Đây là phần chắc nhất của bài.
Đọc bảng này theo đúng thứ nó chứng minh. Nó chứng minh rằng cột kỳ vọng và cột vượt mua-giữ không đi cùng hướng. MWG có kỳ vọng dương +6.249% mỗi lệnh và vẫn kém phép mua giữ chính nó 1,322.10 điểm phần trăm. GAS có kỳ vọng dương cao thứ nhì và sụt vốn tối đa −76.49%. Năm trên sáu dòng thua mốc mua và giữ.
Dòng HPG vượt mua-giữ +769.53 điểm phải đọc kèm ba con số nằm ngay đây, không phải ở mục khác. Một lệnh duy nhất (+260.20%) chiếm 38.1% tổng phần trăm lãi của cả chuỗi. Bỏ lệnh ấy ra thì kỳ vọng rơi 45%, từ +16.246% xuống +8.853% mỗi lệnh. Và trung vị phần trăm lãi lỗ của chính chuỗi 34 lệnh đó là −1.31%, tức quá nửa số lệnh là lỗ. Con số +769.53 là kết quả của một lệnh, không phải một thuộc tính của quy tắc.
Đặt sáu điểm đo lên bảng lý thuyết
Cùng dữ liệu, nhìn qua lăng kính của ngưỡng hoà vốn. Cột "khoảng cách" là b đo thật chia cho ngưỡng b₀ tương ứng.
| Mã | p | b₀ cần có | b thật | Gấp mấy lần ngưỡng | Vượt mua-giữ |
|---|---|---|---|---|---|
| DGC | 46.30% | 1.160 | 2.179 | 1.88 | −20.73 điểm |
| FPT | 39.62% | 1.524 | 1.893 | 1.24 | −165.43 điểm |
| GAS | 66.67% | 0.500 | 0.902 | 1.80 | −383.43 điểm |
| HPG | 44.12% | 1.267 | 6.646 | 5.25 | +769.53 điểm |
| MWG | 38.24% | 1.615 | 4.009 | 2.48 | −1,322.10 điểm |
| VNM | 50.00% | 1.000 | 1.279 | 1.28 | −669.52 điểm |
Cả sáu đều vượt ngưỡng, tức cả sáu đều có kỳ vọng dương. Và năm trong sáu vẫn thua mốc mua và giữ. Hai câu đó không mâu thuẫn, vì kỳ vọng đo trên từng lệnh còn mốc mua giữ đo trên toàn cửa sổ: một hệ thống đứng ngoài thị trường phần lớn thời gian có thể có kỳ vọng mỗi lệnh rất đẹp mà tổng cộng vẫn kém một người mua rồi ngồi yên. Đó chính là lý do cột vượt mua-giữ phải có ở mọi dòng, không được đẩy xuống một mục riêng.
Hai ca ngược chiều nhau, và cả hai đều nằm trong cùng bộ số
Ca thứ nhất: lãi trung bình nhỏ hơn lỗ trung bình, kỳ vọng vẫn dương
Cấu hình GAS có b = 0.902. Số này nhỏ hơn 1, nghĩa là lãi trung bình của các lệnh lãi (17.451%) nhỏ hơn lỗ trung bình của các lệnh lỗ (19.345%). Theo trực giác thông thường thì đây là dấu hiệu của một hệ thống hỏng: mỗi lần đúng ăn ít hơn mỗi lần sai mất.
Kỳ vọng vẫn dương, +5.186% mỗi lệnh. Vì tỷ lệ thắng 66.67% chỉ đòi b vượt 0.500, mà 0.902 thì gần gấp đôi ngưỡng đó.
Đây là bằng chứng số cho một mệnh đề mà nhiều lời khuyên phổ biến nói ngược: không có quy tắc nào nói tỷ lệ lãi trên lỗ phải lớn hơn 1. Ngưỡng đúng phụ thuộc tỷ lệ thắng, và ở tỷ lệ thắng cao thì ngưỡng ấy nằm dưới 1.
Nhưng đọc tiếp cùng dòng ấy trong bảng chính: sụt vốn tối đa −76.49%, và cấu hình này kém phép mua giữ 383.43 điểm phần trăm. Kỳ vọng dương ở đây không cứu được gì.
Và một chi tiết về cỡ mẫu phải nói kèm: cấu hình GAS chỉ có 12 lệnh trong hơn 13 năm. Bỏ đúng một lệnh lỗ nặng nhất (−57.83%) ra thì b nhảy từ 0.902 lên 2.678, gần gấp ba, và kỳ vọng lên +10.915%. Một đại lượng đổi gấp ba vì một quan sát thì không phải một đại lượng đã đo được.
Ca thứ hai: quá nửa số lệnh là lỗ, kỳ vọng vẫn dương
Hai cấu hình MA20/50 có tỷ lệ thắng dưới 50%, chuyện đó bảng đã ghi. Nhưng có một con số bảng không ghi và nó gắt hơn: trung vị phần trăm lãi lỗ của cả hai chuỗi đều âm.
| Mã | Số lệnh | Tỷ lệ thắng | Trung vị lãi lỗ mỗi lệnh | Kỳ vọng mỗi lệnh | Vượt mua-giữ |
|---|---|---|---|---|---|
| HPG | 34 | 44.12% | −1.31% | +16.246% | +769.53 điểm |
| MWG | 34 | 38.24% | −1.58% | +6.249% | −1,322.10 điểm |
Trung vị âm nghĩa là lệnh điển hình của hệ thống này là một lệnh lỗ. Người vận hành nó sẽ trải qua nhiều lệnh lỗ hơn lệnh lãi, và lệnh nằm giữa dãy sắp xếp cũng là lệnh lỗ. Toàn bộ kỳ vọng dương đến từ một cái đuôi bên phải rất dài.
Ghép hai ca lại thành mệnh đề đầy đủ: trung bình và trung vị của một phân phối lệch mạnh nói hai chuyện khác nhau, và công thức kỳ vọng chỉ biết cái thứ nhất. Một hệ thống có kỳ vọng +16% mỗi lệnh vẫn có thể là hệ thống mà quá nửa số lần bấm nút là mất tiền.
Ba cách con số kỳ vọng tự hỏng
Cách thứ nhất: bỏ đúng một lệnh thì kết luận đổi
Tính lại kỳ vọng sau khi rút một lệnh ra khỏi chuỗi:
| Mã | Kỳ vọng đầy đủ | Bỏ lệnh lãi lớn nhất | Mức rơi | Lệnh đó chiếm bao nhiêu tổng lãi | Vượt mua-giữ |
|---|---|---|---|---|---|
| GAS | +5.186% | +2.649% | 49% | không đo riêng | −383.43 điểm |
| HPG | +16.246% | +8.853% | 45% | 38.1% | +769.53 điểm |
| MWG | +6.249% | +3.972% | 36% | 22.9% | −1,322.10 điểm |
Và chiều ngược lại, bỏ lệnh lỗ nặng nhất: HPG lên +17.510%, GAS lên +10.915%.
Ba mã trong bảng này được chọn theo kết quả, đó là ba cấu hình có kỳ vọng cao nhất trong sáu. Nói rõ điều đó vì nó là một khuyết điểm của chính cách trình bày, và bài không có số tương ứng cho ba cấu hình còn lại để đối chứng. Cái rút ra được chỉ là: ở những chuỗi này, một quan sát duy nhất quyết định gần một nửa con số kỳ vọng. Cái không rút ra được là mức mong manh ấy có phải đặc điểm riêng của nhóm kỳ vọng cao hay không.
Cách thứ hai: lệnh chưa đóng được đếm như lệnh đã đóng
Ba trong sáu cấu hình còn một vị thế mở tại ngày cuối kỳ, và công cụ tính lệnh đó vào tỷ lệ thắng lẫn profit factor với phần lãi lỗ chưa hiện thực hoá.
| Mã | Kỳ vọng tính cả lệnh mở | Kỳ vọng chỉ tính lệnh đã đóng | Vượt mua-giữ |
|---|---|---|---|
| DGC | +2.290% (54 lệnh) | +1.979% (53 lệnh) | −20.73 điểm |
| FPT | +0.457% (53 lệnh) | +0.306% (52 lệnh) | −165.43 điểm |
| GAS | +5.186% (12 lệnh) | +3.335% (11 lệnh) | −383.43 điểm |
GAS mất 36% kỳ vọng chỉ vì một lệnh mở trong tổng 12. HPG, MWG và VNM không có lệnh mở nên hai bộ số trùng nhau.
Đây là một cách hỏng rẻ tiền và hay gặp: đọc tỷ lệ thắng của một backtest mà quên rằng lệnh cuối chưa đóng. Nó không phải lỗi tính toán của công cụ, chỉ là một quy ước mà người đọc phải biết.
Cách thứ ba: nhãn chiến lược không mô tả đúng việc đã chạy
Hai cấu hình RSI ở trên hay được gọi là "mua khi quá bán". Đọc giá trị RSI tại phiên vào lệnh của từng lệnh thì tên gọi đó sai.
Với VNM, 16 lệnh có RSI tại phiên vào lần lượt là 32.27, 44.64, 32.85, 41.17, 41.25, 34.06, 34.30, 40.84, 43.03, 40.66, 49.60, 39.72, 30.75, 31.52, 30.72, 40.80. Chỉ 5 trên 16 lệnh vào dưới mức 33, và giá trị cao nhất là 49.60. Đúng một nửa số lệnh, 8 trên 16, vào khi RSI đã nằm trong vùng 40 tới 50, tức không phải vùng quá bán theo bất kỳ định nghĩa nào.
Với GAS thì sát hơn, 12 lệnh vào trong dải 30.02 tới 42.69, phần lớn nằm trong 30 tới 37. Nhưng vẫn có một lệnh vào ở 42.69.
Lý do cơ học nằm ở chỗ quy tắc là "cắt lên 30", tức RSI phải đi từ dưới 30 lên trên 30, còn lệnh thì khớp ở phiên tiếp theo và có mô phỏng T+2 chen vào. Trong khoảng ấy RSI kịp đi tiếp. Nhãn trong đầu người viết quy tắc và việc mà cỗ máy thực sự chạy là hai thứ, và chỉ có cái thứ hai sinh ra con số.
Vì vậy bài gọi hai cấu hình này bằng tên trung tính "RSI14 30/70", không gọi là hệ thống mua khi quá bán. Cơ chế đầy đủ của RSI, kể cả chuyện nó chạy phép làm trơn Wilder bên trong nên chậm gấp đôi một đường trung bình luỹ thừa cùng tham số, nằm ở bài về chỉ báo RSI.
Đổi kế hoạch thoát lệnh thì tỷ lệ thắng đổi, mốc so sánh thì không
Có một cách nhìn nữa cho quan hệ giữa hai thừa số: giữ nguyên tín hiệu vào lệnh, chỉ đổi mức chốt lời và cắt lỗ, rồi xem cái gì di chuyển.
Mười sáu quan sát dưới đây dùng chung một tín hiệu vào (MA20 cắt lên MA50), chung một quy tắc thoát theo tín hiệu (MA20 cắt xuống MA50), chung cửa sổ 04/01/2021 tới 04/09/2026, chung T+2, phí 0.15% mỗi chiều và trượt giá 0.05%. Khác nhau đúng ở cặp chốt lời và cắt lỗ chồng thêm lên.
Xếp ngược tên mã. Cột cuối có ở mọi dòng.
Cấu hình A, chốt lời +15% và cắt lỗ −7%:
| Mã | Số lệnh | Tỷ lệ thắng | Profit factor | Vượt mua-giữ |
|---|---|---|---|---|
| VNM | 14 | 50.00% | 0.98 | +21.58 điểm |
| VCB | 17 | 35.29% | 1.16 | −29.28 điểm |
| REE | 15 | 33.33% | 0.93 | −98.84 điểm |
| MWG | 18 | 38.89% | 0.96 | −95.60 điểm |
| HPG | 15 | 26.67% | 0.89 | −43.31 điểm |
| GAS | 17 | 29.41% | 1.09 | −40.30 điểm |
| FPT | 13 | 46.15% | 1.45 | −166.99 điểm |
| DGC | 14 | 28.57% | 0.89 | −180.69 điểm |
Dòng VNM là dòng dương duy nhất, và nó dương vì lý do phải nói ngay: bản thân phép mua và giữ VNM lỗ −22.41% trong cùng cửa sổ. Vượt qua một mốc đang đi xuống không phải là thắng, đó là thua ít hơn.
Cấu hình B, chốt lời +30% và cắt lỗ −15%:
| Mã | Số lệnh | Tỷ lệ thắng | Profit factor | Vượt mua-giữ |
|---|---|---|---|---|
| VNM | 14 | 42.86% | 0.55 | +4.74 điểm |
| VCB | 17 | 35.29% | 0.70 | −56.85 điểm |
| REE | 15 | 33.33% | 0.94 | −100.47 điểm |
| MWG | 18 | 33.33% | 1.01 | −91.87 điểm |
| HPG | 15 | 33.33% | 1.02 | −34.88 điểm |
| GAS | 17 | 23.53% | 0.91 | −50.51 điểm |
| FPT | 13 | 46.15% | 1.46 | −159.87 điểm |
| DGC | 14 | 28.57% | 0.80 | −193.81 điểm |
Cùng lý do, dòng VNM dương so với một mốc âm.
Ba điều đọc được, và không điều nào là lời khen cho cấu hình nào.
Một. Đổi cặp chốt lời cắt lỗ làm tỷ lệ thắng dịch mạnh ở một số mã (GAS từ 29.41% xuống 23.53%, HPG từ 26.67% lên 33.33%) và không dịch chút nào ở mã khác (VCB, REE, DGC, FPT giữ nguyên). Không có quy luật chung nào rút ra được từ tám mã này, và đó chính là điều đáng nói.
Hai. Mười bốn trên mười sáu quan sát kém phép mua và giữ chính mã đó, dòng kém sâu nhất là DGC ở cấu hình B với −193.81 điểm phần trăm. Hai dòng còn lại dương so với một mốc âm.
Ba. So bảng A với bảng B mà kết luận cấu hình nào tốt hơn là đọc sai. Cả hai bảng đều nằm sâu dưới mốc mua giữ ở gần như mọi dòng, nên chênh lệch giữa chúng là chênh lệch giữa hai mức thua.
Kế hoạch thoát lệnh, xét như một chủ đề riêng, nằm ở bài kế hoạch thoát lệnh.
Kỳ vọng dương vẫn có thể phá sản
Đây là mục quan trọng nhất của bài về mặt hậu quả, và nó không cần dữ liệu thị trường nào để chứng minh.
Hai đường đi từ cùng một chuỗi kết cục lãi lỗ, nhánh trên cộng chúng lại và cho một số dương, nhánh dưới nhân chúng lại và cho một số âm, hai kết quả trái dấu đặt cạnh nhau
Công thức cộng, tài khoản nhân
Lấy một cược đơn giản, tung đồng xu công bằng: mặt ngửa thì vốn tăng 50%, mặt sấp thì vốn giảm 40%.
Kỳ vọng số học mỗi lần: 0.5 × (+50%) + 0.5 × (−40%) = +5%. Dương, và dương khá rõ.
Nhưng tài khoản không cộng, nó nhân. Sau một lần ngửa và một lần sấp, vốn còn 1.5 × 0.6 = 0.90, tức mất 10%. Tốc độ tăng vốn thực mỗi lần là căn bậc hai của 0.90, bằng 0.94868, tức −5.13% mỗi lần.
Sau 100 lần, với 50 lần ngửa và 50 lần sấp, vốn còn 0.9⁵⁰ = 0.0052, tức 0.52% số vốn ban đầu. Mất 99.48%.
Kỳ vọng đúng là dương. Người theo nó vẫn mất gần hết.
Điểm gãy chính xác đáng nhớ: một cược 50/50 lãi +100% hoặc lỗ −50% có tốc độ tăng vốn đúng bằng 0, vì √(2 × 0.5) = 1, trong khi kỳ vọng số học của nó là +25%. Mọi cược có phương sai lớn hơn mức đó đều đưa vốn về 0 trong dài hạn dù kỳ vọng số học dương.
Các con số trong mục này là số minh hoạ quy tắc, giả định toàn bộ vốn đặt vào mỗi lần, không rút không nạp. Chúng không phải kết quả của một hệ thống có thật.
Công thức không chứa biến quy mô vị thế
Nhìn lại E = p × W − (1 − p) × L. Không có ký hiệu nào trong đó là quy mô vị thế. Nghĩa là kỳ vọng, theo đúng định nghĩa của nó, không nói được gì về việc tài khoản sống hay chết.
Ba đường phá sản mà kỳ vọng dương không chặn được, và cả ba đã có bài riêng nên ở đây chỉ trỏ sang:
Quy mô vị thế quá lớn. Một chuỗi thua hoàn toàn bình thường cũng đủ bào hết vốn nếu mỗi lệnh đặt nặng. Bài về quy mô vị thế có bảng đầy đủ; một dòng trong đó: mức rủi ro 5% vốn mỗi lệnh, gặp 20 lệnh thua liên tiếp, mất 64.15% vốn và cần lãi +178.95% mới về lại chỗ cũ.
Chuỗi thua dài hơn người ta tưởng. Cùng bài đó tính: với xác suất thua 60% mỗi lệnh và 100 lệnh, khả năng gặp ít nhất một chuỗi 8 lệnh thua liên tiếp là 49.0%. Gần một nửa. Người thiết kế hệ thống hiếm khi lên kế hoạch cho tình huống có xác suất một nửa.
Các vị thế cùng sai một lúc. Kỳ vọng cộng dồn qua nhiều lệnh giả định các lệnh độc lập. Trong phiên giảm mạnh diện rộng, giả định ấy sai đúng vào lúc nó quan trọng nhất. Phần này ở bài đa dạng hoá và tương quan.
Bằng chứng từ chính sáu bộ số
Không cần đi xa: cột sụt vốn tối đa trong bảng chính đã nói điều đó.
Sáu trên sáu cấu hình có sụt vốn tối đa sâu hơn −33%, dù cả sáu đều có kỳ vọng dương. GAS là ca gọn nhất: kỳ vọng +5.186% mỗi lệnh, đường vốn có lúc mất −76.49%, và trong đó có một lệnh giữ 517 ngày lỗ −57.83%.
Sụt vốn −76.49% đòi lãi khoảng +325% mới về lại đỉnh cũ. Bảng đối chiếu đầy đủ giữa mức sụt và mức lãi cần để hoà vốn nằm ở bài sụt giảm tối đa và thời gian hồi phục.
Kỳ vọng mô tả điểm đến trung bình, không mô tả đường đi. Người bỏ cuộc giữa đường thì không nhận được điểm đến.
Cỡ mẫu: kỳ vọng ước lượng từ 20 lệnh có sai số bao nhiêu
Đến đây bài đã in khá nhiều con số kỳ vọng. Mục này nói tại sao không con số nào trong đó nên được tin tới hai chữ số thập phân.
Kỳ vọng là ước lượng, không phải hằng số
Với n lệnh đã đóng và s là độ lệch chuẩn mẫu của phần trăm lãi lỗ từng lệnh:
Sai số chuẩn: SE = s / √n
Khoảng tin cậy 95%: Ê ± t(0.975; n−1) × SE
Số lệnh cần để khoảng tin cậy tách khỏi 0: n ≥ (1.96 × s / E)²
Sai số của riêng tỷ lệ thắng: SE(p̂) = √[ p(1−p) / n ]Công thức cuối cùng đáng chú ý vì nó không phụ thuộc W hay L. Tỷ lệ thắng có sai số riêng của nó, và sai số đó lớn hơn phần lớn người ta tưởng.
Đo trên 17 lệnh thật
Lấy một mẫu nhỏ có thật, 17 lệnh đã đóng của một cấu hình trên HPG:
| Đại lượng | Giá trị |
|---|---|
| Lãi lỗ trung bình mỗi lệnh | +0.21% |
| Độ lệch chuẩn | 11.02 điểm phần trăm |
| Sai số chuẩn | 2.67 điểm phần trăm |
| Khoảng tin cậy 95%, phân phối t, 16 bậc tự do | −5.46% tới +5.87% |
| Bề rộng khoảng | 11.33 điểm phần trăm |
Bề rộng khoảng tin cậy gấp 54 lần chính giá trị ước lượng.
Trục số nằm ngang có mốc số không ở giữa, một dấu chấm đánh dấu kỳ vọng ước lượng nằm sát bên phải mốc không, và một thanh khoảng tin cậy rất dài trải sang cả hai phía bao trùm mốc không
Ở đây công cụ không đưa ra kết quả sai. Nó đưa ra một kết quả không phân biệt được với số không, và cũng không phân biệt được với một con số âm khá lớn. Cách nói đúng không phải "kỳ vọng của tôi hơi dương" mà là "chưa đo được kỳ vọng".
Cần bao nhiêu lệnh, và bấy nhiêu lệnh mất bao lâu
Với chính bộ tham số của một hệ thống đo được (tỷ lệ thắng 32.61%, tỷ lệ lãi trên lỗ 2.79 lần), kỳ vọng là +0.236 đơn vị lỗ mỗi lệnh và độ lệch chuẩn là 1.777 đơn vị. Thay vào n ≥ (1.96 × s / E)²:
Cần 218 lệnh để khoảng tin cậy 95% tách hẳn khỏi số không.
Hệ thống ấy tạo 46 lệnh trong 10 năm, tức 4.6 lệnh mỗi năm. Vậy 218 lệnh cần khoảng 47 năm.
Con số 47 năm là câu nên mang về từ mục này. Với tần suất giao dịch thực tế của một hệ thống theo xu hướng trên khung ngày, kỳ vọng không phải một đại lượng đo được trong một đời giao dịch, nó là một đại lượng giả định.
Và cũng vì vậy mà sáu cấu hình ở bảng chính, với 12, 16, 34, 34, 53 và 54 lệnh, đều nằm rất xa ngưỡng ấy. Ba trong số đó chỉ có 12, 16 và 34 lệnh trong 12 tới 15 năm. Chính sự ít ỏi đó là một phần của vấn đề, không phải một chi tiết kỹ thuật bên lề.
Sau 20 lệnh, chưa biết mình ở phía nào của ngưỡng
Riêng tỷ lệ thắng, với giá trị thật 32.61% và mẫu 20 lệnh:
| Đại lượng | Giá trị |
|---|---|
| Sai số chuẩn của tỷ lệ thắng | 10.48 điểm phần trăm |
| Khoảng tin cậy 95% | 12.1% tới 53.2% |
| Ngưỡng hoà vốn của hệ thống đó | 26.39% |
Ngưỡng 26.39% nằm gọn bên trong khoảng tin cậy. Nghĩa là sau 20 lệnh, người giao dịch không những chưa biết kỳ vọng bằng bao nhiêu, mà còn chưa biết mình đang ở phía nào của ngưỡng hoà vốn.
Câu "hệ thống của tôi thắng 40% nên có lời" ở cỡ mẫu này không phải sai. Nó là chưa có nghĩa.
Bằng chứng thực nghiệm, mạnh hơn mọi lập luận lý thuyết
Cùng một mã, cùng một chiến lược, cùng mọi tham số, chỉ khác điểm bắt đầu cửa sổ:
| Cửa sổ | Số lệnh | Tỷ lệ thắng | Profit factor | Tổng lợi nhuận | Sụt vốn tối đa |
|---|---|---|---|---|---|
| 10 năm, 01/09/2016 tới 28/08/2026 | 46 | 32.61% | 1.35 | +102.42% | −42.79% |
| 5 năm gần nhất, 01/09/2021 tới 28/08/2026 | 18 | 27.78% | 0.95 | −3.80% | −30.75% |
⚠ Bảng này không có cột vượt mua-giữ, khác với bảy bảng còn lại của bài. Lý do: nó so hai cửa sổ thời gian của cùng một hệ thống với nhau, không so hệ thống với phép mua rồi giữ. Con số +102.42% trong 10 năm vì thế không nói được gì về việc cầm tiền theo hệ thống này có hơn cầm cổ phiếu hay không — mốc so sánh đó nằm ở bảng sáu cấu hình phía trên, nơi năm trên sáu dòng thua mua-giữ.
Mẫu con 18 lệnh cho kỳ vọng âm. Mẫu đầy đủ 46 lệnh cho kỳ vọng dương. Cả hai đều là dữ liệu thật của cùng một hệ thống, và người chỉ có mẫu 18 lệnh không có cách nào biết mình đang nhìn mẫu con nào.
Chú ý thêm dòng trên: hệ thống có profit factor 1.35 và tổng +102.42% trong 10 năm vẫn sụt tối đa −42.79% trên đường đi, cần lãi +74.79% mới về lại đỉnh. Kỳ vọng dương và đường vốn êm là hai chuyện khác nhau.
Chuyện chọn cửa sổ đo, và các dạng thiên lệch khác trong chính cách dựng mẫu, nằm ở sai lệch sống sót và nhìn trước.
Bốn biến dạng Việt Nam đánh thẳng vào từng ký hiệu trong công thức
Công thức kỳ vọng viết ra thì giống nhau ở mọi thị trường. Nhưng bốn ký hiệu trong đó (W, L, b và n) đều là những thứ mà cơ chế giao dịch cụ thể quyết định, và ở Việt Nam cơ chế ấy khác đủ để phải nói riêng.
Bốn biến dạng dưới đây đã được dựng đầy đủ ở các bài nền. Mục này chỉ trỏ sang rồi đo hậu quả lên công thức, không giải thích lại cơ chế.
Biên độ cắt cụt W một cách chắc chắn, và cắt cụt L một cách tạm thời
Cơ chế biên độ dao động nằm ở đọc nến Nhật và hỗ trợ kháng cự bản chất là gì.
Hậu quả lên công thức là một bất đối xứng.
Về phía W, biên độ chặn cứng phần lãi có thể thu được trong một phiên: ±7% trên HOSE, ±10% trên HNX, ±15% trên UPCoM. Cái chặn này là tuyệt đối và diễn ra ngay trong phiên.
Về phía L thì khác. Công thức giả định lỗ trung bình L là một con số do người giao dịch chọn qua điểm cắt lỗ. Giả định ấy có một chỗ vỡ rất cụ thể: khi mã rơi vào trạng thái trắng bên mua ở giá sàn, lệnh cắt lỗ không có ai ở phía bên kia để khớp. Nó không thực hiện được ở mức đã định, mà bị dời sang phiên sau, rồi phiên sau nữa. L thực nhận vì thế không phải hằng số đã khai, nó là một biến ngẫu nhiên có đuôi kéo dài về phía xấu.
Ghép lại: biên độ cắt cụt W một cách chắc chắn nhưng chỉ cắt cụt L một cách tạm thời. Bất đối xứng đó đẩy b thực tế xuống dưới b đã thiết kế, nên mọi ngưỡng hoà vốn trong bảng ở đầu bài là ngưỡng lạc quan.
Ở đây bài không có số. Tần suất lệnh cắt lỗ không khớp được vì phiên trắng bên mua là thứ backtest không mô phỏng: công cụ giả định lệnh cắt lỗ khớp ngay tại mức kích hoạt và không có tham số nào cho thanh khoản một chiều. Nêu bằng cơ chế, và nêu như vậy.
Lưới bước giá làm b rời rạc, nên "tinh chỉnh cho vừa đủ dương" là ảo
Cơ chế lưới bước giá nằm ở hỗ trợ kháng cự bản chất là gì và khung thời gian và tính nhất quán.
Hậu quả lên công thức nằm ở độ phân giải.
Bảng ngưỡng ở đầu bài ghi số tới hai chữ số thập phân. Nhưng W và L đều là hiệu của hai mức giá, mà mọi mức giá đều nằm trên lưới bước giá, nên cả W lẫn L đều là bội số nguyên của một bước. Suy ra b là thương của hai số nguyên, tức nó chỉ nhận được một tập giá trị rời rạc.
Tập ấy thưa tới mức nào thì tuỳ vùng giá và tuỳ nơi giao dịch. Lưới của HNX là 100 đ đồng nhất ở mọi mức giá, không chia bậc như HOSE. Với một cổ phiếu HNX thị giá 8,000 đ, một bước bằng 1.25% thị giá. Một hệ thống khai lỗ trung bình 5% ở đó chỉ có 4 nấc để chọn, và b chỉ nhảy được theo những nấc thô như vậy.
Nghĩa là chênh lệch giữa ngưỡng 0.43 và ngưỡng 0.54 trong bảng đầu bài, tức đúng cái khoảng cách giữa hoà vốn và không, nhỏ hơn độ phân giải mà lưới giá cho phép ở vùng giá đó. Việc dịch điểm cắt lỗ đi vài phần mười phần trăm để đưa kỳ vọng từ âm sang dương là một thao tác không thực hiện được ở phần lớn cổ phiếu thị giá thấp.
Bài không đo được mức độ rời rạc hoá này trên kết quả backtest thật. Backtest chạy trên chuỗi giá có sẵn và không mô phỏng việc lệnh phải đặt trên bội số bước giá. Chỉ nêu được bằng số học của lưới.
Giao dịch thoả thuận làm trượt giá khai được nhỏ hơn trượt giá thật
Cơ chế thoả thuận và phép kiểm đi kèm nằm ở khối lượng giao dịch nói gì.
Hậu quả lên công thức: khoản trượt giá 0.05% dùng trong sáu cấu hình ở trên là một tham số người chạy tự khai, không phải một phép đo.
Ở Việt Nam có một lý do riêng khiến tham số ấy dễ khai thiếu. Cột khối lượng của một phiên có thể gồm cả phần giao dịch thoả thuận, thứ không đi qua sổ lệnh. Một phiên trông thanh khoản dày vẫn có thể có sổ lệnh mỏng. Người nhìn cột khối lượng để tin rằng mình vào ra được ở giá đó đang dùng một con số không thuần nhất.
Và trượt giá thật lớn hơn khai thì nó trừ vào W và cộng vào L cùng lúc, tức đánh hai lần vào kỳ vọng. Đây là chỗ ràng buộc với sàn vật lý đã nêu ở phần tham số: 0.05% mỗi chiều nằm dưới sàn của mọi mã trong nhóm, thấp nhất là dưới sàn của MWG và FPT khoảng 1.4 lần, cao nhất là dưới sàn của HPG khoảng 2.3 lần.
Công cụ không trả sổ lệnh, nên chênh lệch giá chờ mua và chờ bán thật không có, và mức trượt giá tăng theo quy mô lệnh cũng không đo được. Cái duy nhất suy được là sàn, và sàn ấy đã cao hơn tham số đang dùng.
Chuỗi gãy vì luật, nên n lệnh không phải n quan sát cùng phân phối
Cơ chế khoảng trống giá giả và chuỗi gãy vì luật nằm ở xu hướng và cấu trúc giá, và 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.
Hậu quả lên công thức đánh vào n, tức vào toàn bộ lập luận cỡ mẫu ở mục trên.
Hai chuyện riêng biệt cùng phá giả định "n lệnh là n quan sát từ cùng một phân phối".
Thứ nhất, khoảng trống giá giả. Trên chuỗi giá đã điều chỉnh hồi tố cho quyền, bước nhảy hành chính tại ngày giao dịch không hưởng quyền hiện ra y hệt một khoảng trống giá thật. Backtest chạy trên chuỗi đó có thể ghi nhận một lệnh cắt lỗ bị kích hoạt bởi một khoảng trống mà chưa từng ai giao dịch qua, tức một lệnh thua không tồn tại. Nó vẫn được đếm vào n, vào p, và vào L.
Thứ hai, cỗ máy sinh ra chuỗi đã đổi vài lần giữa cửa sổ đo. Chu kỳ thanh toán về T+2 từ 29/08/2022. Hệ thống công nghệ thông tin mới vận hành từ 05/05/2025, kéo theo lô lẻ tách sang bảng riêng. HNX ngừng nhận hồ sơ niêm yết cổ phiếu mới từ 01/07/2025 và toàn bộ cổ phiếu niêm yết trên HNX phải chuyển sang HOSE chậm nhất 31/12/2026. Cửa sổ đo của sáu cấu hình trong bài, dài từ 5 tới 15 năm, đi qua ít nhất bốn mốc như vậy.
Nghĩa là 46 lệnh trong 10 năm không phải 46 quan sát đồng nhất, và cỡ mẫu hiệu dụng nhỏ hơn con số danh nghĩa. Lập luận cần 218 lệnh ở mục trên vì thế là bản lạc quan, không phải bản thận trọng. Mệnh đề này là suy luận từ tính không dừng của chuỗi, không phải một phép đo.
Và một biến dạng thứ năm: kỳ nghỉ Tết
Mọi cửa sổ chỉ báo đếm phiên, không đếm thời gian. Một đường trung bình 50 phiên hay một chỉ báo RSI 14 phiên đều nhìn lại đúng bấy nhiêu phiên giao dịch, bất kể bấy nhiêu phiên ấy trải trên bao nhiêu ngày lịch.
Kỳ nghỉ Tết Nguyên đán, cộng với các kỳ nghỉ lễ khác, kéo một cửa sổ n phiên vắt qua nó trải dài hơn hẳn bình thường. Cùng một chỉ báo, cùng một tham số, nhưng khoảng thời gian thật mà nó tóm tắt thì co giãn theo lịch.
Với công thức kỳ vọng, hậu quả cụ thể là: các lệnh mở qua kỳ nghỉ có thời gian nắm giữ thực dài hơn số phiên gợi ý, chịu nhiều tin tức ngoài phiên hơn, và có nhiều cơ hội mở cửa lệch giá hơn. Chúng không phải cùng loại quan sát với các lệnh nằm gọn trong một đoạn giao dịch liên tục. Đây lại là một cách nữa mà n lệnh không phải n quan sát đồng nhất.
Công thức kỳ vọng mất tác dụng khi nào
Mỗi mục dưới đây ứng với một cơ chế cụ thể đã nêu ở trên, không phải danh sách rủi ro chung.
Khi cỡ mẫu dưới khoảng vài trăm lệnh, tức gần như luôn luôn. Kỳ vọng ước lượng từ 17 lệnh thật có khoảng tin cậy 95% trải từ −5.46% tới +5.87%, rộng gấp 54 lần chính ước lượng. Công cụ không cho kết quả sai, nó cho một kết quả không phân biệt được với số không.
Khi tỷ lệ thắng được dùng một mình. Nó là một trong hai thừa số, và bản thân nó không xác định dấu của kỳ vọng. Một hệ thống thắng 70% với b = 0.25 có kỳ vọng âm; một hệ thống thắng 38.24% với b = 4.009 có kỳ vọng dương. Cả hai đều nằm trong bài này.
Khi lỗ trung bình L không do người giao dịch quyết. Điểm cắt lỗ là một ý định, không phải một hợp đồng. Phiên trắng bên mua ở giá sàn, khoảng trống giá qua đêm, và độ trễ do T+2 đều làm L thực lớn hơn L đã khai. Công thức vẫn chạy, nó chỉ đang chạy với một tham số sai.
Khi quy mô vị thế thay đổi giữa các lệnh. Kỳ vọng tính theo phần trăm mỗi lệnh không cộng lại thành phần trăm của tài khoản nếu quy mô mỗi lệnh khác nhau. Một hệ thống kỳ vọng dương mà đặt nặng đúng vào những lệnh thua thì tài khoản vẫn co lại, trong khi bảng thống kê lệnh vẫn đẹp.
Khi phương sai đủ lớn để trung bình nhân âm dù trung bình cộng dương. Cược 50/50 lãi +50% lỗ −40% có kỳ vọng +5% mỗi lần nhưng đưa vốn về 0.52% sau 100 lần. Công thức chỉ biết phép cộng.
Khi phân phối lãi lỗ có đuôi dày và kỳ vọng do vài lệnh quyết định. Trong chuỗi HPG 34 lệnh, một lệnh chiếm 38.1% tổng phần trăm lãi; bỏ nó ra thì kỳ vọng rơi 45%. Trung bình của một phân phối như vậy không mô tả lệnh điển hình nào cả, và trung vị của chính chuỗi đó là −1.31%.
Khi profit factor được thay vào công thức mà không kiểm nó tính trên gì. Đo trên sáu cấu hình, phép thay nhầm cho tỷ lệ lãi trên lỗ thấp hơn số đo từ 7.4% tới 62.5%, và biên độ lệch không cố định nên không hiệu chỉnh được.
Khi lệnh cuối chưa đóng. Ba trong sáu cấu hình có một vị thế mở tại ngày cuối kỳ, được công cụ đếm như đã đóng. GAS mất 36% kỳ vọng chỉ vì chuyện này.
Khi nhãn của chiến lược không đúng việc cỗ máy đã chạy. Hai cấu hình gọi là "vào khi RSI cắt lên 30" có lệnh vào ở RSI 49.60. Con số kỳ vọng thuộc về việc đã chạy, không thuộc về cái tên.
Khi kỳ vọng được tính trên chính dữ liệu đã dùng để chọn tham số. Con số in ra từ một lần dò lưới tham số là con số của phép dò, không phải của hệ thống. Đây là chủ đề riêng của vì sao tối ưu tham số hay dẫn tới overfit.
Khi cỗ máy sinh ra chuỗi đã đổi giữa cửa sổ đo. T+2 từ 29/08/2022, hệ thống công nghệ thông tin mới từ 05/05/2025 kèm lô lẻ tách bảng, lộ trình chuyển HNX sang HOSE tới 31/12/2026. Kỳ vọng đo trên một cửa sổ chứa các mốc này là trung bình của vài phân phối khác nhau, và trung bình đó không mô tả phân phối nào trong số chúng.
Khi mẫu chỉ gồm mã còn sống. Mọi mã dùng trong bài đều đang niêm yết. Các mã bị huỷ niêm yết hoặc đình chỉ trong cửa sổ đo vắng mặt hoàn toàn, nên kỳ vọng đo được lệch lên trên một khoản không ước lượng được từ chính dữ liệu trong bài.
Khi số lệnh cần để kiểm chứng vượt quá đời giao dịch. Hệ thống đo được cần 218 lệnh để tách khoảng tin cậy khỏi số không, mà nó chỉ sinh 4.6 lệnh mỗi năm, tức khoảng 47 năm.
Khi kỳ vọng dương nhưng nhỏ hơn phương án không làm gì. Kỳ vọng +0.2% mỗi lệnh với 5 lệnh mỗi năm cho +1% mỗi năm. Công thức trả lời câu "dương hay âm", không trả lời câu "có đáng không".
Khi lưới bước giá thô hơn độ chính xác mà bảng ngưỡng đòi hỏi. Ở cổ phiếu 8,000 đ trên HNX, một bước giá bằng 1.25% thị giá, nên b chỉ nhận một tập giá trị rời rạc thưa.
Những chỗ bài này cố ý không khẳng định
Không khẳng định chiều lệch của phép suy là cố định. Sáu trên sáu cấu hình đo được đều lệch một chiều, nhưng chính cơ chế được đề xuất để giải thích chúng hàm ý rằng một chuỗi có lệnh lãi lớn rơi muộn sẽ lệch ngược chiều. Sáu quan sát không đủ để phát biểu về chiều.
Không khẳng định cơ chế của hai loại profit factor là điều tài liệu công cụ nói. Đó là suy luận từ số liệu quan sát được, và nó khớp với dữ liệu, nhưng nó chưa được xác nhận từ mô tả kỹ thuật của công cụ.
Không khẳng định độ mong manh đo được là đặc điểm của nhóm kỳ vọng cao. Ba cấu hình được tính lại sau khi rút một lệnh đúng là ba cấu hình kỳ vọng cao nhất, tức tập được chọn theo kết quả. Bài không có phép tính tương ứng cho ba cấu hình còn lại để đối chứng.
Không khẳng định cấu hình nào tốt hơn cấu hình nào. Mười bốn trên mười sáu quan sát chốt lời cắt lỗ kém phép mua giữ, và hai dòng còn lại dương so với một mốc âm. So sánh giữa hai bảng là so sánh giữa hai mức thua.
Không khẳng định gì về tỷ lệ thắng hay kỳ vọng thật của nhà đầu tư cá nhân Việt Nam. Không có phân phối công bố nào về chuyện này, và bài không có số để đỡ bất kỳ mệnh đề nào dạng đó.
Không khẳng định độ lớn của thiên lệch sống sót. Chỉ khẳng định được chiều của nó là lên trên. Không có danh sách mã đã huỷ niêm yết trong cửa sổ đo để chạy đối chứng.
Không khẳng định các con số kỳ vọng trong bài là thuộc tính của chiến lược. Chúng là kết quả của một bộ tham số cụ thể trên một cửa sổ cụ thể. Đổi bất kỳ vế nào là số đổi theo, và ở một bộ số khác trong cùng đợt dữ liệu, chỉ thiếu vế thoát lệnh trong đặc tả đã đủ làm một dòng đổi dấu.
Không khẳng định kết quả này suy rộng được sang hệ thống hai chiều. Công cụ chỉ chạy vị thế mua. Chuyện đó trùng với thực tế thị trường cơ sở Việt Nam chưa có bán khống, nhưng nó vẫn là một giới hạn của bảng số.
Bảy câu hỏi trước khi tin vào con số kỳ vọng của một hệ thống
Bảy câu dưới đây trả lời được bằng thông tin đã có trong chính bảng kết quả, không cần dự báo gì.
Một: hai thừa số là bao nhiêu, không phải một? Tỷ lệ thắng một mình không xác định dấu của kỳ vọng. Nếu bảng kết quả chỉ có tỷ lệ thắng thì chưa đọc được gì, phải tìm cho ra lãi trung bình và lỗ trung bình.
Hai: tỷ lệ lãi trên lỗ này là số đo hay số suy? Nếu nó suy từ profit factor thì phải biết profit factor ấy tính trên tổng phần trăm hay trên tiền của đường vốn. Thay nhầm loại cho sai lệch tới 62.5% trong sáu ca đo được, và biên độ sai không cố định.
Ba: bao nhiêu lệnh, và bao nhiêu năm để có bấy nhiêu lệnh? Với 20 lệnh, khoảng tin cậy của riêng tỷ lệ thắng đã đủ rộng để chứa cả hai phía ngưỡng hoà vốn. Nếu hệ thống chỉ sinh vài lệnh mỗi năm thì cỡ mẫu đủ nằm ngoài đời giao dịch.
Bốn: bỏ lệnh lãi lớn nhất ra thì còn lại gì? Nếu kỳ vọng rơi một nửa vì một quan sát, thì cái đang được đo là quan sát ấy chứ không phải hệ thống.
Năm: trung vị lãi lỗ mỗi lệnh là bao nhiêu? Trung bình dương và trung vị âm cùng lúc là chuyện xảy ra thật, và nó có nghĩa lệnh điển hình của hệ thống là một lệnh lỗ.
Sáu: sụt vốn tối đa bao nhiêu, và mốc mua giữ ở đâu? Kỳ vọng mô tả điểm đến trung bình. Hai con số này mô tả đường đi và chi phí cơ hội, và chúng thường nói ngược với kỳ vọng.
Bảy: các tham số trượt giá và phí trong bảng có nằm trên sàn vật lý của chính mã đó không? Một mức trượt giá khai thấp hơn một bước giá chia cho thị giá là một mức không tồn tại được, và nó trừ vào lãi rồi cộng vào lỗ cùng lúc.
Trả lời xong bảy câu, con số kỳ vọng vẫn là một ước lượng. Cái bảy câu này làm được chỉ là cho biết ước lượng ấy lỏng tới đâu, và đó đã là nhiều hơn phần lớn bảng kết quả nói ra.
Đọc tiếp gì
Bài này khép lại chuỗi "Kiểm chứng một phương pháp". Ba bài trước dựng nền: backtest là gì và đọc kết quả thế nào cho cấu trúc một bảng kết quả, sai lệch sống sót và nhìn trước cho các dạng thiên lệch nằm trong chính cách dựng mẫu, và chi phí giao dịch ăn mòn lợi nhuận thế nào cho bảng sàn trượt giá theo từng mã.
Phần hậu quả của bài này thuộc về chủ đề khác. Kỳ vọng không chứa biến quy mô vị thế, nên nó nhường chỗ cho quy mô vị thế, sụt giảm tối đa và thời gian hồi phục, và đa dạng hoá và tương quan.
Một câu tóm cho cả bài: kỳ vọng là hiệu của hai tích, đo trên một mẫu nhỏ, tính bằng phép cộng, và không biết gì về quy mô vị thế. Bốn đặc điểm đó, chứ không phải tỷ lệ thắng, là thứ quyết định con số ấy đáng tin tới đâu.
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 xuất hiện trong bài là ví dụ minh hoạ cho phương pháp đo, không phải gợi ý đầu tư, và không dòng nào trong các bảng kết quả nên được đọc thành ưu điểm của một chiến lược. Mọi kết quả backtest 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à chưa cộng thuế bán 0.1%. Các bảng ngưỡng hoà vốn là phép tính thuần tuý từ công thức, không phải kết quả đo trên thị trường. Số liệu giá và giao dịch tổng hợp từ HOSE và HNX, chốt ngày 04/09/2026. Quy định về biên độ, bước giá và chu kỳ thanh toán trích từ quy định hiện hành của HOSE, HNX và VSDC.
Câu hỏi thường gặp
Tỷ lệ thắng bao nhiêu thì hệ thống có lời?
Câu hỏi này không có câu trả lời nếu chỉ biết mỗi tỷ lệ thắng. Kỳ vọng của một lệnh bằng tỷ lệ thắng nhân lãi trung bình, trừ đi tỷ lệ thua nhân lỗ trung bình, nên nó cần cả hai vế. Với tỷ lệ thắng 70%, hệ thống chỉ hoà vốn khi lãi trung bình đạt tối thiểu 0.43 lần lỗ trung bình; với tỷ lệ thắng 30% thì ngưỡng là 2.33 lần. Một hệ thống thắng 70% mà lãi trung bình chỉ bằng 0.25 lần lỗ trung bình thì kỳ vọng âm.
Có suy được tỷ lệ lãi trên lỗ từ profit factor mà backtest công bố không?
Suy được về mặt đại số, nhưng chỉ khi profit factor đó tính trên tổng phần trăm lãi chia tổng phần trăm lỗ. Trường profit_factor mà công cụ backtest trả về thường tính trên tiền của đường vốn tái đầu tư, và đó là một đại lượng khác. Đo trên sáu cấu hình, phép thay nhầm này cho tỷ lệ lãi trên lỗ thấp hơn số đo thật từ 7.4% tới 62.5%.
Kỳ vọng dương thì có chắc tài khoản tăng không?
Không. Công thức kỳ vọng cộng các kết cục, còn tài khoản thì nhân chúng. Một cược 50/50 lãi +50% hoặc lỗ −40% có kỳ vọng số học +5% mỗi lần nhưng tốc độ tăng vốn thực là −5.13% mỗi lần, và sau 100 lần chỉ còn 0.52% vốn ban đầu. Ngoài ra công thức kỳ vọng không chứa biến quy mô vị thế, nên nó không nói được gì về chuyện tài khoản có sống qua một chuỗi thua bình thường hay không.
Đo kỳ vọng trên 20 lệnh thì đáng tin tới đâu?
Rất ít. Trên một mẫu 17 lệnh thật, kỳ vọng ước lượng là +0.21% mỗi lệnh nhưng khoảng tin cậy 95% trải từ −5.46% tới +5.87%, tức rộng gấp 54 lần chính giá trị ước lượng. Riêng tỷ lệ thắng, với giá trị thật 32.61% thì mẫu 20 lệnh cho khoảng tin cậy 12.1% tới 53.2%, trong khi ngưỡng hoà vốn của hệ thống đó là 26.39%. Khoảng tin cậy nằm cả hai bên ngưỡng, nghĩa là sau 20 lệnh người ta còn chưa biết mình ở phía nào.
Vì sao tỷ lệ thắng lại được nhìn như thước đo chính?
Vì nó là con số duy nhất trong bộ thống kê mà người ta đếm được bằng đầu, không cần cộng chia gì. Ngoài ra hệ thống tỷ lệ thắng cao trả phần thưởng nhỏ, thường xuyên và nhanh, còn hình phạt thì hiếm, sâu và kéo dài, nên cảm giác về nó tách rời hẳn kết quả tài khoản. Đây là cách giải thích về việc người ta chọn thước đo, không phải một kết quả đo.
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.