Vnstock Logo

Lớp Market: hàm truy xuất dữ liệu giá và khớp lệnh

Cộng đồng

Mục lục

Tài liệu bản cũ: vnstock v4.x

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 v4.x: 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.

Unified UI

Kể từ phiên bản 4.0, Vnstock sử dụng kiến trúc Unified UI nhằm mang lại giao diện lập trình nhất quán và dễ sử dụng nhất. Dưới đây là tài liệu chính thức cho phiên bản mới.

Bản Mở rộng

Bản Cộng đồng có các hàm truy xuất dữ liệu thị trường cơ bản. Nếu bạn cần các hàm dữ liệu giao dịch chi tiết hơn như sổ lệnh, dòng tiền khối ngoại hay khớp lệnh từng giao dịch, xem tài liệu Dữ Liệu Giao Dịch (Market Data) của thư viện vnstock_data thuộc bản Mở rộng dành cho người tài trợ.

Nhóm Market tập trung vào các dữ liệu biến động của thị trường trong phiên và dữ liệu lịch sử cho nhiều loại tài sản khác nhau.

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/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.


1. Khởi tạo

Python
from vnstock import Market

mkt = Market()

2. Các lớp và phương thức chi tiết

A. Lớp equity (Cổ phiếu)

Phương thứcTham sốMô tả
ohlcv()start, end, interval='1D', count=100Lấy dữ liệu nến (Mở, Cao, Thấp, Đóng, Khối lượng).
trades()-Dữ liệu khớp lệnh chi tiết trong ngày (Tick-by-tick).
quote()-Lấy thông tin giá hiện tại (Bảng giá).

Tham số chính của ohlcv:

  • start / end: Định dạng 'YYYY-MM-DD'.
  • interval: Khung thời gian. Nhận giá trị 1m, 5m, 15m, 30m, 1h, 1D, 1W
  • count: Số lượng nến cần lấy nếu không chỉ định start.

Dữ liệu mẫu (ohlcv):

timeopenhighlowclosevolume
2024-01-02 07:00:0055.0555.5254.5955.451785800
2024-01-03 07:00:0055.4556.1254.9956.121373000

Ví dụ:

Python
# Lấy dữ liệu nến (OHLCV) của cổ phiếu FPT
df_fpt = mkt.equity("FPT").ohlcv(start="2024-01-01", end="2024-01-31")

# Lấy bảng giá của cổ phiếu VCB
quote_vcb = mkt.equity("VCB").quote()

B. Lớp index (Chỉ số)

Truy xuất biến động của các bộ chỉ số thị trường (VNINDEX, VN30...).

Phương thứcTham sốMô tả
ohlcv()`start, end, interval='1D', length=90Biểu đồ giá của chỉ số.
Python
# Lấy dữ liệu VNINDEX
vnindex = mkt.index("VNINDEX").ohlcv(start="2024-01-01", end="2024-01-31")

C. Dữ liệu Tài sản Quốc tế & Khác

Sử dụng nguồn dữ liệu MSN để theo dõi các thị trường khác.

LớpPhương thứcMô tả
forexohlcv()Tỷ giá ngoại hối (ví dụ: "USDVND").
cryptoohlcv()Giá tiền điện tử (ví dụ: "BTC").
commodityohlcv()Giá hàng hóa (ví dụ: "Gold").
etfohlcv() / quote() / trades()Dữ liệu giao dịch chứng chỉ quỹ ETF.
futuresohlcv() / quote() / trades()Dữ liệu hợp đồng tương lai.
warrantohlcv() / quote() / trades()Dữ liệu chứng quyền có bảo đảm.

3. Lấy Bảng giá Nhanh

Bạn có thể lấy giá hiện tại cho một hoặc nhiều mã cùng lúc mà không cần thông qua các lớp tài sản.

Python
# Lấy giá của một mã
price_vcb = mkt.quote("VCB")

# Lấy giá của danh mục
prices = mkt.quote(["VCB", "HPG", "FPT"])
Lưu ý

Khi cần giá của cả danh mục, truyền danh sách mã vào một lời gọi quote() thay vì gọi lặp từng mã, để giảm số lượt gọi tới nguồn. Nếu bạn cần dữ liệu chi tiết hơn cho quy trình phân tích tự động, vui lòng tham khảo các tính năng nâng cao tại Bản Mở rộng dự án.