Vnstock Logo

Thống kê & Định giá

Cập nhật lần cuối:

Thảo luận

Mục lục



Tổng quan

Analytics Layer cung cấp dữ liệu định giá thị trường bao gồm P/E, P/B lịch sử, và đánh giá tổng quan cho các chỉ số thị trường. Layer được tách riêng từ Insights để tập trung vào phân tích định giá toàn thị trường.

Khởi tạo

Python
from vnstock_data import Analytics
ana = Analytics()

Cấu trúc Domain

Analytics()
└── .valuation(index)
    ├── .pe(duration)         # P/E ratio lịch sử
    ├── .pb(duration)         # P/B ratio lịch sử
    └── .evaluation(duration) # Đánh giá tổng hợp

Cập nhật Migration

Nếu bạn từng dùng Market().pe() hay Insights().valuation.pe(), hãy chuyển sang Analytics().valuation(index).pe(). Các phương thức cũ sẽ sớm bị gỡ bỏ.

Hướng dẫn chi tiết

1. Định giá thị trường

Lấy chuỗi thời gian lịch sử của P/E, P/B cho các chỉ số thị trường — phục vụ backtest và đánh giá chu kỳ định giá.

Phương thứcTham sốMô tả
pe()durationP/E ratio lịch sử
pb()durationP/B ratio lịch sử
evaluation()durationĐánh giá tổng hợp (P/E + P/B)

Tham số:

  • index (str) — Chỉ số: "VNINDEX", "HNX", "UPCOM". Mặc định "VNINDEX".
  • duration (str) — "1Y", "2Y", "3Y", "5Y". Mặc định "5Y".
Python
from vnstock_data import Analytics

ana = Analytics()

# P/E VNINDEX — 1 năm gần nhất
df_pe_1y = ana.valuation("VNINDEX").pe(duration="1Y")

# P/B HNX — 5 năm
df_pb_5y = ana.valuation("HNX").pb(duration="5Y")

# Đánh giá tổng hợp P/E + P/B
df_eval = ana.valuation("VNINDEX") \
              .evaluation(duration="5Y")
Kết quả mẫu P/E Output trả về dạng DataFrame với cột reportDatepe. Ví dụ: 2025-03-11 13.22.

2. So sánh định giá giữa các sàn

Python
from vnstock_data import Analytics

ana = Analytics()

# So sánh P/E giữa HOSE và HNX
pe_vn = ana.valuation("VNINDEX").pe(duration="1Y")
pe_hnx = ana.valuation("HNX").pe(duration="1Y")

print(f"VNINDEX PE: {pe_vn['pe'].iloc[-1]:.2f}")
print(f"HNX PE: {pe_hnx['pe'].iloc[-1]:.2f}")

3. Đánh giá mức định giá hiện tại

So sánh P/E hiện tại với trung bình 5 năm để xác định thị trường đang rẻ hay đắt.

Python
from vnstock_data import Analytics

ana = Analytics()

# P/E 5 năm để so sánh
pe_5y = ana.valuation("VNINDEX").pe(duration="5Y")

pe_avg = pe_5y['pe'].mean()
pe_current = pe_5y['pe'].iloc[-1]

print(f"P/E hiện tại: {pe_current:.2f}")
print(f"P/E trung bình 5 năm: {pe_avg:.2f}")

if pe_current < pe_avg * 0.9:
    print("Thị trường đang định giá thấp hơn trung bình")
elif pe_current > pe_avg * 1.1:
    print("Thị trường đang định giá cao hơn trung bình")
else:
    print("Thị trường quanh mức định giá trung bình")

Thảo luận

Đang tải bình luận...