Nguồn dữ liệu
Cập nhật lần cuối:
Thảo luậnMục lục
Hướng dẫn này tập trung vào Unified UI - kiến trúc mới và định tuyến sử dụng mặc định của Vnstock. Nếu bạn là nhà phát triển muốn can thiệp sâu, ép nguồn hoặc tuỳ biến dữ liệu chi tiết (ví dụ sử dụng CafeF), vui lòng tham khảo Tính Năng Nâng Cao.
Tài liệu này là chỉ mục tổng hợp giúp bạn tra cứu toàn bộ các hệ thống cấp dữ liệu gốc được sử dụng trong thư viện vnstock_data. Hiện tại, thư viện bao gồm 14 module cấp dữ liệu (gồm 10 nguồn trong/ngoài nước).
Hệ sinh thái phân loại thành 3 nhóm cấp bậc:
- Unified UI: Các nguồn được hệ thống tự động định tuyến.
- Adapter API: Nguồn chuyên biệt, yêu cầu chỉ định tham số
source='...'.
Bảng Tra Cứu Nhanh
1. Nguồn Dữ Liệu Nội Địa
| Lớp (Layer) | VCI | KBS | ASEAN | MAS | VND | MBK/SPL | Fmarket | CafeF* |
|---|---|---|---|---|---|---|---|---|
| Listing | ✅ | ✅ | - | - | - | - | - | - |
| Quote/Market | ✅ | ✅ | - | - | - | - | - | - |
| Company | ✅ | - | - | - | - | - | - | - |
| Finance | ✅ | - | - | ✅ | - | ✅ | - | - |
| Trading | ✅ | ✅ | - | - | - | - | - | ✅ |
| Insights | - | - | ✅ | - | ✅ | - | - | - |
| Macro | - | - | ✅ | - | - | ✅ | - | - |
| Commodity | - | - | ✅ | - | - | ✅ | - | - |
| Fund | - | - | - | - | - | - | ✅ | - |
*Ghi chú: CafeF thuộc nhóm Adapter API.
2. Nguồn Dữ Liệu Quốc Tế & Giao Dịch
| Lớp (Layer) | Dukascopy | Binance | FXSB* | Chủ yếu dùng cho |
|---|---|---|---|---|
| Market (Crypto) | - | ✅ | - | Dữ liệu giao dịch tiền mã hóa |
| Market (Forex) | ✅ | - | ✅ | Tỷ giá các cặp ngoại tệ |
| Commodity | ✅ | - | - | Giá hàng hóa thế giới |
*Ghi chú: FXSB thuộc nhóm Adapter API. **Ghi chú: DNSE, SSI thuộc nhóm Connectors.
Phân Cấp Các Nguồn Dữ Liệu
Nhóm 1: Unified UI
Đây là các nguồn sẽ tự động phản hồi dữ liệu khi bạn gọi lệnh cơ bản như Market().equity('VIC').ohlcv().
1. VCI - Nguồn Dữ Liệu Thông Tin Doanh Nghiệp & Danh Mục
- Cung cấp dữ liệu chuỗi thời gian dài (từ năm 2000), hệ thống toàn diện về hồ sơ doanh nghiệp và phân bổ danh mục chuẩn ICB.
- Lưu ý: Có thể phát sinh hạn chế kết nối khi chạy trên các môi trường cloud do chính sách chặn dải IP.
2. KBS - Nguồn Dữ Liệu Biến Động Thị Trường
- Tập trung vào biến động giá trị và khớp lệnh thời gian thực, là hệ thống định tuyến tự động xử lý các tác vụ truy xuất dữ liệu giá OHLCV, intraday, và sổ lệnh.
3. ASEAN - Nguồn Dữ Liệu Chỉ Báo & Vĩ Mô
- Chuyên biệt hóa về các phân tích định lượng (luân chuyển dòng tiền RRG, dòng tiền ngành) và thống kê dữ liệu vĩ mô, lãi suất, hàng hóa thế giới.
4. MAS - Nguồn Dữ Liệu Báo Cáo Tài Chính
- Định dạng cấu trúc báo cáo tài chính phân nhánh (cây tài khoản cha-con), bám sát cách thức trình bày thực tế.
5. VND - Nguồn Dữ Liệu Xếp Hạng
- Hỗ trợ dữ liệu định giá (P/E, P/B) và thống kê xếp hạng thị trường.
6. MBK & SPL - Nguồn Dự Phòng
- MBK: Bổ sung các chỉ số vĩ mô nội địa đặc thù (sản xuất công nghiệp, bán lẻ).
- SPL: Định tuyến dự phòng cho các loại hàng hóa nội địa.
7. Fmarket - Nguồn Dữ Liệu Quỹ Đầu Tư
- Cơ sở dữ liệu chuyên biệt về chứng chỉ quỹ mở và quỹ ETF tại Việt Nam.
8. Binance - Nguồn Dữ Liệu Tiền Mã Hóa
- Định tuyến tự động phục vụ lớp
market.crypto(lịch sử giá, sổ lệnh, giao dịch).
9. Dukascopy - Nguồn Dữ Liệu Ngoại Hối & Hàng Hóa Thế Giới
- Định tuyến tự động phục vụ nhu cầu tra cứu ngoại hối (
market.forex) và hàng hóa quốc tế.
Nhóm 2: Adapter API
Không được cấu hình định tuyến mặc định nhằm giảm tải. Người dùng cần chủ động truyền tên nguồn vào lệnh gọi.
10. CafeF - Nguồn Phân Tích Dòng Tiền Tổ Chức
- Chuyên sâu về thống kê giao dịch khối ngoại, tự doanh, và giao dịch của cổ đông nội bộ.
- Cách gọi:
Quote(source='cafef', symbol='VIC').history()
11. FXSB (FX Smartbull) - Nguồn Mở Rộng Ngoại Hối
- Nguồn mở rộng dùng để trích xuất dữ liệu đa dạng hơn về các cặp tiền tệ.
Hướng Dẫn Chọn Nguồn
Cấu trúc Unified UI đã tự động hóa phần lớn quá trình lựa chọn. Tuy nhiên, người dùng có thể tham khảo quy tắc sau để tự tinh chỉnh khi cần:
- Biến động Giá & Sổ Lệnh: Unified UI gọi KBS cho OHLCV ngắn hạn và VCI cho dài hạn.
- Tiền Mã Hóa / Ngoại hối: Mặc định gọi Binance và Dukascopy.
- Hồ Sơ Công Ty & Danh Mục Ngành: Mặc định gọi VCI để đảm bảo tính đầy đủ.
- Báo Cáo Tài Chính: Định tuyến tới MAS để tận dụng cấu trúc dữ liệu theo định dạng khoản mục phổ biến.
- Dòng Tiền & Vĩ Mô: Mặc định gọi ASEAN cho các chỉ báo tâm lý, vĩ mô và luân chuyển ngành.
- Sổ Lệnh Nội Bộ Chi Tiết: Dùng cấu hình Nâng cao với tham số nguồn CafeF.
- Đặt Lệnh & Danh Mục: Sử dụng SSI/DNSE thông qua hệ thống Connectors.
Xử Lý Lỗi & Dự Phòng (Fallback)
Do bản chất truy xuất dữ liệu API từ bên thứ ba, kết nối đôi khi có thể bị gián đoạn. Unified UI được thiết kế để hạn chế sự gián đoạn này, tuy nhiên người dùng có thể áp dụng thủ thuật tự viết kịch bản dự phòng:
from vnstock_data import Quote
def get_data_with_fallback(symbol):
# Ưu tiên mặc định (KBS), kế đến dự phòng dài hạn (VCI), và cuối cùng (VND)
sources = ['kbs', 'vci', 'vnd']
for source in sources:
try:
quote = Quote(source=source, symbol=symbol)
return quote.history(...)
except Exception as e:
print(f"Gián đoạn kết nối tới {source}: {e}")
continue
raise Exception("Lỗi truy xuất từ tất cả các nguồn dự phòng.")
Thảo luận