Vnstock Logo

Lớp Analytics: hàm truy xuất dữ liệu định giá và thống kê

Mở rộng

Mục lục

Tài liệu bản cũ: vnstock_data v3.2.9

Bản mặc định hiện là vnstock v5.0.0, gộp bản Cộng đồng và bản Mở rộng vào một thư viện. Trang này giữ lại cho máy còn cài vnstock_data v3.2.9: mã viết theo trang này vẫn chạy với bản đó. Đã cài bản mới thì đọc trang tương ứng của v5.0.0.

Máy đang cài bản nào: chạy python -c "import vnstock; print(vnstock.__version__)", ra số bắt đầu bằng 5. là thế hệ 5.

Agent Guide Notebook minh hoạ

Khuyên dùng: Nên ưu tiên sử dụng Agent Guide để nạp môi trường cho AI Agent trên máy tính cục bộ. Tránh viết code thủ công hoặc dùng AI phiên bản web như ChatGPT/Google Colab vì AI không có thông tin mới nhất về thư viện nên dễ viết sai cú pháp.

Lưu ý Quan Trọng
  • Cấu trúc dữ liệu (Schema): Để xem chính xác tên cột, kiểu dữ liệu (Dtype) và ý nghĩa của các bảng dữ liệu trả về, vui lòng tham khảo chi tiết tại đây. KHÔNG nên suy đoán tên cột khi viết mã xử lý.
  • Cách Sử Dụng Nâng Cao: Hướng dẫn này tập trung vào kiến trúc Unified UI mặc định. Nếu bạn muốn can thiệp sâu vào nguồn dữ liệu, vui lòng tham khảo Tính Năng Nâng Cao.

📌 Tổng Quan

Analytics Layer là một layer chuyên biệt cung cấp góc nhìn định giá thị trường tổng quan bao gồm biểu đồ P/E, P/B vĩ mô, và đánh giá sức khoẻ cho các rổ chỉ số chứng khoán. Đây là Layer được tách riêng từ mô đun Insights nhằm phục vụ độc lập cho mục tiêu đánh giá định giá rổ chứng khoán ở mức độ toàn cảnh trước khi nhà đầu tư đi sâu vào việc phân tích các mã lẻ.

🏗️ Cấu Trúc Nhóm Lệnh

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

Định giá thị trường & Chỉ số (Valuation)

Trả về dữ liệu định giá P/E, P/B trong quá khứ theo các chỉ số thị trường (VNINDEX, HNX, UPCOM, v.v.) để bạn tự phân tích mức độ đắt rẻ hiện tại so với bối cảnh lịch sử.

Source: VND
Nhóm lệnh: insights.valuation

Khởi Tạo

Python
from vnstock_data import Analytics

ana = Analytics()
val = ana.valuation("VNINDEX")  # Cấu hình index mục tiêu (Mặc định: "VNINDEX")

Phương Thức

MethodTham SốMô TảReturn
pe()durationP/E ratio lịch sửDataFrame
pb()durationP/B ratio lịch sửDataFrame
evaluation()durationĐánh giá tổng hợp (P/E + P/B)DataFrame

Parameters:

  • index (str) khi khởi tạo: Có thể chọn "VNINDEX", "HNX", "VN30".
  • duration (str) khi gọi method: Khoảng thời gian lịch sử cần lấy. Mặc định là "5Y". Các giá trị tham chiếu: "1Y", "2Y", "3Y", "5Y".

Ví Dụ

Python
from vnstock_data import Analytics
ana = Analytics()

df_pe = ana.valuation("VNINDEX").pe(duration="1Y")
print(df_pe.tail())
df_pe_hnx = ana.valuation("HNX").pe(duration="5Y")

df_pb = ana.valuation("VNINDEX").pb(duration="1Y")

df_eval = ana.valuation("VNINDEX").evaluation(duration="5Y")
print(df_eval.head())

⚠️ Lưu Ý Quan Trọng

  1. Migration từ Market Layer: Nếu trước đây bạn dùng Market().pe() trong phiên bản cũ, thiết kế mới bắt buộc bạn di chuyển sang Analytics().valuation(index).pe(). Hàm cũ dù vẫn còn hoạt động có thể sẽ hiển thị cảnh báo deprecation warning.
  2. Default Arguments: Luôn ưu tiên truyền tham số rõ ràng thay vì ngầm định theo vị trí, ví dụ .pe(duration="5Y")).