Vnstock Logo

Kiến Trúc Thư Viện

Hiểu rõ ba cấp độ tiếp cận Vnstock để khai phá toàn bộ tiềm năng, từ tác vụ nhanh đến tùy chỉnh chuyên sâu.

Lăng Kính Vận Hành

Hãy tưởng tượng Vnstock như một chiếc xe hơi hiện đại. Bạn có ba cách để làm chủ nó.

Lái Xe Số Tự Động
Cách 1: Lớp Giao Diện Vnstock

Đơn giản nhất: bạn chỉ cần ngồi vào và đi. Phù hợp cho các tác vụ nhanh, dành cho người mới làm quen bước đầu.

Lái Xe Bán Tự Động
Cách 2: Các Lớp Chức Năng (Khuyên dùng)

Mạnh mẽ và linh hoạt. Bạn vừa có sự tiện lợi, vừa có thể can thiệp chuyên sâu để tối ưu hiệu suất. Đây là cách làm việc hiệu quả nhất.

Thợ Máy Chuyên Nghiệp
Cách 3: Lõi Hệ Thống (Core Engine)

Bạn tinh chỉnh từng bộ phận để đạt hiệu suất tối đa. Dành cho chuyên gia muốn kiểm soát tuyệt đối và xây dựng logic phức tạp.

Cấu Trúc Đa Tầng

Mỗi cách tiếp cận phục vụ một nhu cầu riêng, nhưng tất cả đều dựa trên một lõi hệ thống mạnh mẽ.

Cách 1: Lớp Giao Diện Vnstock
Cách tiếp cận đơn giản nhất để làm quen, nhưng sẽ sớm được thay thế bởi Cách 2 linh hoạt hơn.
from vnstock import Vnstock

# Đơn giản, nhanh gọn cho người mới bắt đầu.
# -> Hướng đến sử dụng cách 2 sẽ linh hoạt hơn.
stock = Vnstock().stock(symbol='ACB', source='VCI')
df = stock.quote.history(start='2024-01-01', end='2025-01-01')

print(df.head())
Cách 2: Các Lớp Chức Năng (Khuyên dùng)
Phương pháp cân bằng, mạnh mẽ. Bạn import các lớp chức năng (Quote, Finance...) và chỉ định nguồn dữ liệu (`source`) linh hoạt.

Tại sao nên dùng cách này?

Cách này sử dụng mẫu thiết kế Adapter Pattern, giúp che giấu sự phức tạp của việc kết nối đến từng nguồn dữ liệu, trong khi vẫn cho bạn toàn quyền lựa chọn nguồn chỉ bằng một tham số.

from vnstock_data import Quote, Finance

# -> Bạn chỉ cần thay đổi "source" để lấy dữ liệu từ nguồn khác.
quote_vci = Quote(source="vci", symbol="VCI")
df_vci = quote_vci.history(start="2024-01-01", end="2025-01-01")
print("Dữ liệu từ VCI:")
print(df_vci.head())

# -> Dễ dàng chuyển sang nguồn dữ liệu khác mà không cần đổi logic
quote_mas = Quote(source="mas", symbol="ACB")
df_mas = quote_mas.history(start="2024-01-01", end="2025-01-01")
print("\nDữ liệu từ MAS:")
print(df_mas.head())
Cách 3: Lõi Hệ Thống (Dành cho chuyên gia)
Truy cập trực tiếp vào từng module cụ thể. Cho phép tối ưu hóa hiệu suất tuyệt đối, nhưng đòi hỏi sự hiểu biết sâu về cấu trúc thư viện.
from vnstock_data.explorer.vci.quote import Quote

# -> Tối ưu cho kiểm soát sâu.
# Dành cho người dùng chuyên sâu muốn tùy chỉnh đến tận cùng.
quote = Quote(symbol='ACB')
df = quote.history(start='2024-01-01', end='2025-01-01')

print(df.head())

Các Thành Phần Cốt Lõi

Hiểu rõ các khối xây dựng nên Vnstock sẽ giúp bạn khai thác tối đa sức mạnh phân tích.

Nguồn Dữ Liệu & Loại Tài Sản

Khi khởi tạo một đối tượng, bạn cung cấp loại tài sản qua tên phương thức (stock, fx, crypto) và nguồn dữ liệu (source). Thư viện tự động chọn đúng "cổng" API để kết nối. Vnstock hỗ trợ các nguồn chính như VCI, TCBS và MSN.

Các Lớp Chức Năng

Listing

Liệt kê danh sách các loại chứng khoán như cổ phiếu, hợp đồng tương lai, chứng quyền, trái phiếu...

Quote

Truy xuất thông tin giá giao dịch, từ lịch sử OHLCV chi tiết đến dữ liệu khớp lệnh trong ngày (intraday).

Company

Khám phá thông tin chi tiết về doanh nghiệp: hồ sơ, ban lãnh đạo, công ty con, tin tức và sự kiện.

Finance

Truy cập các báo cáo tài chính (CĐKT, KQKD, LCTT) và các chỉ số tài chính quan trọng.

Trading

Lấy dữ liệu giao dịch thời gian thực như thông tin bảng giá, thống kê mua bán của khối ngoại và tự doanh.

Analysis

Cung cấp các dữ liệu đã qua phân tích hoặc các dữ liệu thứ cấp được tạo ra từ nguồn. Hiện chưa triển khai

Sơ Đồ Kiến Trúc Vnstock

Lớp Giao Diện (`Vnstock`) là cầu nối thông minh, tự động điều phối các yêu cầu của bạn đến các module trong Lõi Hệ Thống.

Bạn đã sẵn sàng để khám phá?

Bắt đầu với các hàm đơn giản, và khi đã sẵn sàng, hãy đi sâu vào lõi hệ thống để tùy chỉnh và tối ưu.