Nhảy tới nội dung

Các bước sử dụng chi tiết

Nạp thư viện & chấp nhận điều khoả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 vnstock3 import Vnstock

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 Vnstock3, 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 Demo Notebook.

Đố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 Vnstock3. Đối với Vnstock3, 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_explorerVnstockvnstock3/common/datafrom vnstock3 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, vvvnstock3/explorerfrom vnstock3.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ụ.

stock = Vnstock().stock(symbol='VN30F1M', 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 stock ở bước trên, bạn có thể bắt đầu tra cứu thông tin mình mong muốn

>>> stock.quote.price_depth(symbol='ACB')

   price acc_volume acc_buy_volume acc_sell_volume acc_undefined_volume

0  27900      32000          32000               0                    0

1  27850     870000         613100          256900                    0

2  27800    1176900         731000          445900                    0

3  27750    1505400         606300          757100               142000

4  27700     885900          89500          784800                11600

5  27650        400              0             400                    0

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 Vnstock3, mời bạn mở Demo Notebook dưới đây để trải nghiệm.