6.2. Biểu đồ sức mạnh giá (RRG)
Bằng cách nhập danh sách mã cổ phiếu cần tính, tên index benchmark, hàm sẽ tính ra hiệu suất tương đối của cổ phiếu và chỉ số chuẩn hoặc một nhóm cổ phiếu cụ thể để từ đó xác định hiệu suất tương đối của một cổ phiếu để phân loại thuộc 1 trong 4 trạng thái sau:
Tăng trưởng (Góc phần tư tăng trưởng): Cổ phiếu trong góc phần tư này đang thể hiện sức mạnh tương đối mạnh mẽ và động lực tích cực so với mức chuẩn. Là những cổ phiếu đang hoạt động tốt hơn thị trường hoặc lĩnh vực rộng lớn hơn và được coi là cổ phiếu dẫn đầu về hiệu suất giá. Những cổ phiếu này được coi là ứng cử viên chốt lời hoặc tiếp tục nắm giữ lợi nhuận tiềm năng.
Tích lũy (Góc phần tư tích lũy): Cổ phiếu trong góc phần tư này đang có dấu hiệu cải thiện về sức mạnh tương đối, cho thấy rằng chúng đang lấy đà và rất dễ chuyển sang trạng thái tăng trưởng. Những cổ phiếu này được coi là ứng cử viên Mua tiềm năng.
Suy yếu (Góc phần tư suy yếu): Các cổ phiếu trong góc phần tư này đang có sự suy giảm sức mạnh tương đối so với mức chuẩn. Mặc dù chúng có thể vẫn đang trong xu hướng tăng nhưng đà tăng của chúng đang chậm lại hoặc mất dần sức mạnh so với giai đoạn trước. Những cổ phiếu này được phân loại là có tiềm năng giảm giá hoặc bán khống. Việc chốt lời các cổ phiếu dạng này là cần thiết.
Giảm giá (Góc phần tư giảm giá): Cổ phiếu trong góc phần tư này đang hoạt động kém hơn so với điểm chuẩn. Chúng đang có sức mạnh tương đối yếu và có thể đang gặp khó khăn tăng trưởng so với các cổ phiếu khác. Nhà đầu tư nên tránh mua những cổ phiếu thuộc nhóm này vì chúng đang yếu hơn thị trường chung.
Tham số:
tickers
Danh sách mã được viết in hoa.
str hoặc list
Có
benchmark
Index benchmark để tính RS và RM
str
Có
by
Đơn vị thời gian(1m, 5m, 15m, 30m, 1h, 2h, 4h, 1d).
str
1d
Không
from_date
Mốc thời gian lấy dữ liệu xa nhất.
str
Có
to_date
Mốc thời gian lấy dữ liệu gần nhất.
str
datetime.now()
Không
Class nhận dữ liệu là Fetch_Trading_Data và 3 phương thức sau:
get()
Nhận dữ liệu dạng dataframe trả ra có các thuộc tính mô tả như bên dưới.
filter()
Nhận dữ liệu dạng dataframe sau đó lọc ra các dòng dữ liệu thỏa mãn các điều kiện do người dùng truyền vào
plot()
Được dùng sau khi nhận dữ liệu từ phương thức get, thực hiện trực quan hóa biểu đồ
Ví dụ lấy dữ liệu RRG - dùng phương thức get()
from FiinQuantX import FiinSession
username = 'REPLACE_WITH_YOUR_USER_NAME'
password = 'REPLACE_WITH_YOUR_PASS_WORD'
client = FiinSession(username=username, password=password).login()
rrg = client.RRG(
tickers=["ACB"],
benchmark="VNINDEX",
by='1d',
from_date="2024-10-10"
)
df_rrg = rrg.get()
print(df_rrg)
Dữ liệu trả ra có các thuộc tính:
ticker
Tên mã.
str
timestamp
Thời gian giao dịch.
str
close
Giá đóng cửa.
float
rs
Sức mạnh (S-Strength)
float
rm
Xu hướng (S-treand)
float
phase
Giai đoạn thuộc 1 trong 4 trạng thái sau: Weakening, Lagging, Improving và Leading
str
Ví dụ bộ lọc RRG dựa trên tiêu chí do người dùng truyền vào - dùng phương thức filter()
Các tham số của phương thức filter:
tickers
Danh sách mã muốn lọc được viết in hoa.
str hoặc list
Không
date
Ngày muốn xem RRG
str
Không
phase
Lọc ra những ngày có trạng thái là Weakening hoặc Lagging hoặc Improving hoặc Leading
str
Không
rs_min
Số sức mạnh rs tối thiểu
float
Không
rs_max
Số sức mạnh rs tối đa
float
Không
rm_min
Số xu hướng rm tối thiểu
float
Không
rm_max
Số xu hướng rm tối đa
float
Không
changed_only
Sàng lọc những ngày đổi trạng thái
bool
False
Không
Ví dụ lọc các giai đoạn Leading có chỉ số sức mạnh RS và chỉ số xu hướng RM tối thiểu là 101 của mã ACB
from FiinQuantX import FiinSession
username = 'REPLACE_WITH_YOUR_USER_NAME'
password = 'REPLACE_WITH_YOUR_PASS_WORD'
client = FiinSession(username=username, password=password).login()
rrg = client.RRG(
tickers=["ACB"],
benchmark="VNINDEX",
by='1d',
from_date="2024-10-10"
)
leading_high_rs = rrg.filter(
rs_min=101,
rm_min=101,
)
print(leading_high_rs)
Dữ liệu trả ra có các thuộc tính tương tự phương thức get()
Trực quan hóa biểu đồ RRG - dùng phương thức plot() (Lưu ý: Buộc phải lấy dữ liệu dùng phương thức get() rồi sau đó mới dùng được phương thức plot())
Ví dụ
from FiinQuantX import FiinSession
username = 'REPLACE_WITH_YOUR_USER_NAME'
password = 'REPLACE_WITH_YOUR_PASS_WORD'
client = FiinSession(username=username, password=password).login()
rrg = client.RRG(
tickers=["ACB"],
benchmark="VNINDEX",
by='1d',
from_date="2024-10-10"
)
df_rrg = rrg.get()
rrg.plot(trail_length=30)

Last updated