Vnstock Logo

Hướng dẫn các bước sử dụng Vnstock

Cập nhật lần cuối:

Thảo luận

Lưu ý

Trang tài liệu này đã được di chuyển tới trang mới.

Cài đặt thư viện

Trong lần đầu tiên sử dụng Vnstock, bạn cần cài đặt thư viện trên máy tính của mình hoặc môi trường máy ảo trên dịch vụ đám mây như Google Colab.

pip install -U vnstock

Lưu ý: Bạn cần cài lại vnstock trong mỗi lần sử dụng Google Colab (miễn phí). Nếu sử dụng môi trường Python cục bộ, bạn chỉ cần cài 1 lần duy nhất và cập nhật phiên bản mới khi cần thiết.

Nạp thư viện

Trong một chương trình làm việc hoặc dự án phân tích sử dụng Jupyter Notebook/Google Colab, bạn cần nạp các hàm/lớp (class) được hỗ trợ bởi Vnstock vào môi trường sử dụng.

from vnstock import Quote

Từ ngày 9/7/2024, khi bạn sử dụng thư viện lần đầu tiên, chương trình sẽ tự động cài đặt chế độ chấp nhận chính sách quyền riêng tưgiấy phép sử dụng phần mềm. Bằng việc tiếp tục sử dụng Vnstock, bạn đồng ý rằng đã đọc, hiểu rõ và chấp nhận điều kiện sử dụng phần mềm.

Lựa chọn cấp độ Class sử dụng

Lưu ý

Bạn có thể bỏ qua mục này nếu chỉ hướng đến sự đơn giản và sử dụng những gì được cung cấp chung nhất tại mục Hướng dẫn nhanh.

Đối với người dùng nâng cao, bạn có thể tham khảo mô tả này để khai thác tối đa Vnstock. Đối với Vnstock, bạn có nhiều hơn 1 cách tiếp cận và truy xuất các hàm được cung cấp. Mỗi cách tiếp cận sẽ có những ưu điểm và hạn chế riêng, cách phù hợp nhất với bạn là cách có thể giúp bạn đạt mục tiêu đang hướng tới.

Bạn có thể chỉ đơn giản nạp Vnstock và gọi các lớp con dưới dạng thuộc tính của đối tượng hoặc gọi từng lớp chi tiết trong phần core engine của từng nguồn dữ liệu.

Cấp độModuleTên ClassThư mụcCâu lệnh import
Wrapper Classdata_explorerVnstockvnstock/common/datafrom vnstock import Vnstock
Core Enginelisting, company, quote, vv trong mỗi thư mục riêng của từng nguồn dữ liệuListing, Company, Quote, vvvnstock/explorerfrom vnstock.explorer.vci.listing import Listing

Thuật ngữ: - Wrapper Class: thể hiện các lớp hàm này được xây dựng như phần giao diện người dùng (interface) cho phép người dùng truy cập tính năng sản phẩm đơn giản, dễ dàng. - Core Engine: thể hiện các lớp hàm này được xây dựng trong phần lõi thuật toán của thư viện.

Khởi tạo đối tượng

Khi thực hiện trích xuất dữ liệu cho một lớp tài sản (asset type) cụ thể như stock, fx, crypto, vv hay trích xuất thông tin công ty (company), hay trích xuất danh sách niêm yết (listing), vv bạn nên khởi tạo đối tượng và gán với một biến tương đương để dễ nhận biết và gọi tên thuận tiện về sau.

Mỗi đối tượng này trong Python sẽ cho phép truy cập tới các hàm chức năng theo lớp (class method) được phân cấp logic giúp bạn thuận tiện sử dụng. Sau đây là một ví dụ.

quote = Quote(symbol='ACB', source='VCI')

Trên đây, stock sẽ là đối tượng Python được sử dụng xuyên suốt dự án khi bạn cần truy xuất dữ liệu thuộc các hàm hỗ trợ cho đối tượng này được gọi thông qua dạng thuộc tính đối tượng như .listing , .quote, .trading, vv. Việc khởi tạo đối tượng ban đầu tạo ra trải nghiệm sử dụng đơn giản khi thông tin mã chứng khoán và nguồn dữ liệu được xác định sẵn ngay từ đầu và bạn chỉ việc tra cứu thông tin mình cần khi nhập . và tên hàm cần tra cứu một cách dễ dàng trong ứng dụng soạn thảo lệnh. Giá trị symbol như trên là bắt buộc, trong khi source có thể được thay thế bằng tên nguồn dữ liệu khác hoặc bỏ qua.

Gọi hàm

Khi đã tạo ra đối tượng quote ở bước trên, bạn có thể bắt đầu tra cứu thông tin mình mong muốn

>>> df = quote.history(start='2024-01-02', end='2025-07-10', interval='1D')

          time   open   high    low  close    volume
0   2024-01-02  32.55  32.55  31.83  32.02   7175876
1   2024-01-03  31.94  32.32  31.64  32.32   3332592
2   2024-01-04  32.40  33.04  32.13  32.13   9110211
3   2024-01-05  32.25  32.32  31.91  32.17   3825239
4   2024-01-08  32.36  32.78  32.28  32.32   4107758
..         ...    ...    ...    ...    ...       ...
343 2025-05-26  36.40  37.00  35.40  37.00   7758200
344 2025-05-27  37.20  37.40  36.85  37.00   7678900
345 2025-05-28  37.20  37.55  36.50  36.55  10927500
346 2025-05-29  36.80  36.80  36.15  36.15   7379300
347 2025-05-30  36.20  37.20  36.00  36.00   7413000

[348 rows x 6 columns]

Thay đổi tham số

Như minh hoạ ở bước gọi hàm phía trên, bạn có thể nhận ra rằng hàm price_depth cũng có thể nhận tham số symbol trong khi tham số symbol đã được khai báo khi khởi tạo đối tượng là VN30F1M. Trong trường hợp này, phần mềm sẽ cập nhật giá trị symbol mới nhất được nhập vào để truy xuất kết quả cho bạn.

Lý do của việc này là bởi trong nhiều trường hợp bạn có thể chỉ trung thành sử dụng 1 mã chứng khoán duy nhất trong suốt quá trình phân tích nhưng khi bạn thay đổi ý định để phân tích hoặc kiểm tra thông tin của một mã khác thì qua trình chuyển đổi có thể diễn ra dễ dàng nhờ tham số source thay vì bạn phải tạo ra 1 dòng code lặp lại để tạo lại đối tượng cho nhu cầu mới.

Demo Notebook

Để có thể tiếp tục khám phá thêm các tính năng của Vnstock, mời bạn mở Demo Notebook dưới đây để trải nghiệm.

Demo vnstock

Thảo luận

Đang tải bình luận...