Vnstock Logo

Truy xuất dữ liệu định giá (Analytics)

Mở rộng

Mục lục

Lớp Analytics() lấy hệ số định giá lịch sử của cả một chỉ số thị trường: P/E và P/B theo từng phiên. Bạn dùng chúng để đặt mức định giá hiện tại cạnh mức của những năm trước. Đây là số liệu lịch sử để tham khảo, không phải lời khuyên đầu tư.

Chuỗi P/E, P/B của chỉ số truy xuất theo nguồn vnd; các nguồn khác nhau có thể cho con số chênh nhau đôi chút. Hệ số của từng mã cổ phiếu tính bằng vnstock_quant.fa.ratios() từ báo cáo tài chính, xem Báo cáo tài chính và chỉ số cơ bản.

Python
from vnstock import Analytics

val = Analytics().valuation("VNINDEX")
pe = val.pe(duration="1Y")

Tóm tắt

Nhóm hàm định giá thị trường thuộc bản Mở rộng (yêu cầu từ cấp tài trợ Bronze trở lên). Bản Cộng đồng hoặc Khách chưa cấu hình khoá khi gọi sẽ nhận EntitlementError (mã VNSTOCK_TIER_ROUTE), và thư viện không gửi truy vấn nào đi. Xem Cấp quyền và giới hạn.

HàmChức năngPhiên bản
Analytics().valuation(index).pe()P/E lịch sử của chỉ sốMở rộng
Analytics().valuation(index).pb()P/B lịch sử của chỉ sốMở rộng
Analytics().valuation(index).evaluation()P/E và P/B trong một bảngMở rộng

Nguồn: vnd. Các hàm không có tham số source.


Chọn chỉ số: valuation()

Python
Analytics().valuation(index="VNINDEX")
Tham sốKiểuMặc địnhÝ nghĩa
indexstr"VNINDEX"Mã chỉ số. Tự chuyển sang chữ hoa

Hàm trả một đối tượng gắn với chỉ số đó. Bạn gọi tiếp pe(), pb() hoặc evaluation() trên đối tượng này. Khi chạy thử ngày 10/10/2026, VNINDEX và HNXINDEX đều trả dữ liệu.


P/E lịch sử: pe()

Python
pe(duration="5Y")
Tham sốKiểuMặc địnhÝ nghĩa
durationstr"5Y"Khoảng nhìn lùi từ hôm nay: một số theo sau là D (ngày), M (tháng) hoặc Y (năm), ví dụ "30D", "6M", "1Y"

duration sai dạng thì nhận InputError mã VNSTOCK_INPUT_DURATION.

Cột trả về:

CộtKiểuÝ nghĩa
report_datedatetime, múi giờ Asia/Ho_Chi_MinhNgày giao dịch, giờ luôn là 00:00
pefloatP/E của chỉ số, đơn vị lần

Mỗi dòng là một phiên, phiên cũ ở trên. Với duration="5Y" bảng có khoảng 1.240 dòng.

Python
from vnstock import Analytics

pe = Analytics().valuation("VNINDEX").pe(duration="1M")

VNINDEX, chạy ngày 10/10/2026 (ba dòng cuối):

report_datepe
2026-10-0712.136335
2026-10-0812.035729
2026-10-0912.009094

P/B lịch sử: pb()

Python
pb(duration="5Y")

Tham số như pe(). Cột trả về: report_date và pb (float, đơn vị lần).

Python
from vnstock import Analytics

pb = Analytics().valuation("VNINDEX").pb(duration="1M")

VNINDEX, chạy ngày 10/10/2026 (hai dòng cuối):

report_datepb
2026-10-081.954810
2026-10-091.950633

P/E và P/B cùng lúc: evaluation()

Python
evaluation(duration="5Y")

Tham số như pe(). Cột trả về: report_date, pe, pb.

Python
from vnstock import Analytics

ev = Analytics().valuation("VNINDEX").evaluation(duration="1M")

VNINDEX, chạy ngày 10/10/2026 (ba dòng đầu):

report_datepepb
2026-09-1012.6353012.059586
2026-09-1112.4020882.021270
2026-09-1412.3540282.014240

df.attrs mang source, symbol (mã chỉ số), route và length (số dòng).


Tên cũ: Market().pe(), pb(), evaluation()

Ở các bản trước, định giá chỉ số nằm trên Market(). Ba tên này vẫn chạy và trả đúng bảng của Analytics(), kèm một FutureWarning ở lần gọi đầu tiên trên mỗi đối tượng Market. Chúng sẽ ngừng hoạt động sau ngày 31/12/2026.

Tên cũThay bằng
Market(index="VNINDEX").pe(duration="5Y")Analytics().valuation("VNINDEX").pe(duration="5Y")
Market(index="VNINDEX").pb(duration="5Y")Analytics().valuation("VNINDEX").pb(duration="5Y")
Market(index="VNINDEX").evaluation(duration="5Y")Analytics().valuation("VNINDEX").evaluation(duration="5Y")
Python
from vnstock import Market

# Vẫn chạy, kèm FutureWarning, tới hết 31/12/2026
pe_old = Market().pe(duration="1M")

Xem thêm Nguồn dữ liệu và Xử lý lỗi.