Lớp Analytics: hàm truy xuất dữ liệu định giá và thống kê
Mục lục
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.
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.
- 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
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
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
| Method | Tham Số | Mô Tả | Return |
|---|---|---|---|
pe() | duration | P/E ratio lịch sử | DataFrame |
pb() | duration | P/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ụ
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
- 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 sangAnalytics().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. - 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")).