Cám ơn bác
@chim_non mở quán và đặt tít dùm.
Relative Strength - một chỉ báo đơn giản mà hiệu quả
Chỉ báo RS - Relative Strength (Comparative) so sánh độ mạnh cp với một cp khác, hay so sánh với chỉ số ngành, chỉ số thị trường chung.
Phương pháp giao dịch dựa trên độ mạnh cũng thường được gọi bằng tên Momentum trong các tài liệu khác.
Chỉ báo RS này khác với chỉ báo RSI.
Chỉ báo RS dường như không thấy nhắc đến trong các lớp PTKT bậc 1, bậc 2. Nó là 1 trong 9 bước test của phương pháp Wyckoff. Trong phương pháp VSA, cuốn Master the Markets, nó chỉ được nhắc đến ở chương cuối, trang cuối cùng. Các quỹ lớn cũng thừa nhận RS đơn giản mà hiệu quả, hơn hẳn phương pháp screening (lọc theo vốn hóa và thanh khoản như ETF).
Phần lớn cp bị ảnh hưởng bởi chỉ số chung, đây là vấn đề tâm lý dễ nhận thấy: khi VNI, VN30 tăng, người ta cùng mua, đẩy giá lên cao, khi VNI, VN30 giảm người ta lại ào ào bán ra, đạp giá xuống. Vấn đề ở đây là cp yếu, dù nó cũng được đẩy giá khi chỉ số chung tăng, cũng không thể tăng mạnh như cp mạnh. Vì vậy chọn cổ phiếu theo các chỉ báo kỹ thuật khác như MACD, RSI... cũng không đạt hiệu quả. Lúc đó người chơi sẽ hoang mang: tui cũng theo chart, đường đỏ cắt đường xanh, vậy mà banks CE còn cp tui chọn chỉ lèo tèo 1-2 nấc.
Phần nhỏ cp không bị ảnh hưởng bởi thị trường hay thậm chí ngươc thị trường. Tuy nhiên nhiều cơ hội nằm ở phần lớn vậy thì tìm ở phần nhỏ làm chi?
Trong một thị trường, có cổ phiếu mạnh, có cổ phiếu yếu. Khi thị trường tăng ta cần chọn mua (long) cp tăng mạnh hơn thị trường (tăng mạnh hơn VNIndex, VN30 index). Khi thị trường giảm ta cần chọn bán (short) cp yếu hơn thị trường hay đơn giản là nghỉ ngơi.
Dưới đây minh họa một mã cp mạnh, với code Amibroker.
View attachment 4993
Cửa sổ trên, thêm lớp chỉ số VN30 để so sánh trực tiếp, đường màu vàng.
Code:
_SECTION_BEGIN("Index");
base = ParamStr("Index", "^VN30"); //VNIndex or VN30
Nth = Param("Nth", 1,1,5);
baseC = Foreign(base, "C");
refBar = PeakBars(baseC,2,Nth);
baseCn = LastvisibleValue(Ref(C/baseC,-refBar))*baseC;
Plot( baseCn , "", colorYellow, stylethick|styleNoLabel); //index
Title += " " + base + "=" + baseC+" ("+WriteVal(ROC(baseC, 1),1.1)+"%)";
_SECTION_END();
Từ 30/1 đến 9/2 VN30 giảm từ 1100 về 996, ANV không giảm, chứng tỏ mạnh hơn thị trường, mặc dù trước đó đã có 1 đợt tăng nóng từ 10 lên 14. Khi VN30 tăng từ 996 lên 1150, tăng 15% thì ANV tăng từ 14. lên 22, đạt 50%. Tin tức không có gì thêm ngoại trừ cá tra bị Mỹ đánh thuế nặng, ngành thủy sản suy giảm mạnh.
Cửa sổ dưới là chỉ báo RS có sẵn của Amibroker, code sửa lại để dễ so sánh.
Code
//modified by ranluc
_SECTION_BEGIN("RS");
base = ParamStr("Base", "^VN30"); //GetBaseIndex() );
Nth = Param("Nth", 1,1,5);
change = 2 ;
baseC = Foreign( base, "C" );
refBar = PeakBars(baseC, change, Nth);
relStr = RelStrength(base) *LastVisibleValue(Ref(baseC/C,-refBar))/10 - 100;
Plot( relStr, "RS("+base+")", colorOrange, styleLine|styleThick);
Plot( EMA(relStr, 50), "", colorBlue, styleLine );
_SECTION_END();
Lấy ngày tham chiếu là 26/1 khi VN30 tạo đỉnh 1104, AVN close giá 14.15, giá trị RS = 0. Ngày 9/2 VN30 điều chỉnh sâu, RS=14.6, nghĩa là so với VN30 ANV vẫn tăng 14.6%. Nếu người chơi mua VN30=996 ngày 9/2 (hay mã đại diện cho VN30 là E1VFVN30=16.35) thì đến ngày 30/3, VN30=1153, E1VFVN30=18.88, ANV=22.9. Lợi nhuận của ANV so với VN30 là =55.0%-14.6%=40.4%
Ví dụ khác, cổ phiếu yếu:
View attachment 4996
Về kỹ thuật FPT từ tháng 11/2017 đến tháng 1/2018 liên tiếp tạo đỉnh mới cao hơn đỉnh cũ, đáy mới cao hơn đáy cũ, giao dịch theo MACD vẫn có lãi, nhưng không bằng thị trường, nghĩa là ví dụ trung bình người ta có lãi 30% thì FPT chỉ lãi 20%, thực ra là lỗ.
Các mã trên đây chọn ngẫu nhiên, không khuyến nghị gì cả.