Các bước sử dụng chi tiết
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 vnstock3
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 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ư và 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
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 độ | Module | Tên Class | Thư mục | Câu lệnh import |
---|---|---|---|---|
Wrapper Class | data_explorer | Vnstock | vnstock3/common/data | from vnstock3 import Vnstock |
Core Engine | listing , company , quote , vv trong mỗi thư mục riêng của từng nguồn dữ liệu | Listing , Company , Quote , vv | vnstock3/explorer | from 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.