Vnstock Pipeline thế hệ 5
Mục lục
Quản lý và cập nhật dữ liệu thị trường cho danh sách cổ phiếu mỗi ngày thường đòi hỏi bạn phải tự viết
nhiều đoạn mã phức tạp để lưu tệp, kiểm tra dữ liệu rỗng và xử lý lỗi mạng. vnstock_pipeline giải quyết
bài toán này bằng một bộ công cụ hoàn chỉnh chạy ngay trên máy tính cá nhân hoặc máy chủ riêng
của bạn.
Thư viện giúp bạn quản lý thư mục lưu trữ cục bộ theo cấu trúc chuẩn, thực hiện các tác vụ tải dữ liệu theo lô có tăng tốc, phát hiện sai lệch cấu trúc dữ liệu để bảo vệ cơ sở dữ liệu, và xuất thành phẩm sang các định dạng phân tích quen thuộc như AmiBroker.
Thư viện vnstock_pipeline hiện chỉ áp dụng cho người dùng bản Mở rộng thuộc chương trình tài trợ từ cấp Golden trở lên (Golden, Diamond). Khi chạy các tác vụ tải dữ liệu, thư viện sẽ xác thực giấy phép qua tài khoản của bạn.
Phần mềm giúp ích cho bạn như thế nào
- Quản trị lưu trữ tập trung qua một tệp cấu hình: Toàn bộ vị trí lưu, định dạng tệp (Parquet nén tốc độ cao hoặc CSV) và cấu trúc phân thư mục đều được điều khiển qua tệp
pipeline.toml. Bạn có thể thay đổi đường dẫn lưu trữ hoặc chuyển đổi định dạng toàn bộ cơ sở dữ liệu chỉ với một câu lệnh. - Tải dữ liệu theo lô có tăng tốc và phục hồi lỗi thông minh: Điều phối việc cập nhật cho danh sách các mã bạn theo dõi. Thư viện chỉ tải phần dữ liệu mới còn thiếu (smart skip), ghi nhận chi tiết các mã gặp sự cố mạng vào sổ nhật ký và hỗ trợ tải bù đúng các mã lỗi mà không cần chạy lại từ đầu.
- Kiểm soát chất lượng và bảo vệ toàn vẹn dữ liệu: Quy trình kiểm tra chạy ngầm giúp phát hiện dữ liệu rỗng, đứt gãy thời gian hoặc thay đổi cấu trúc cột từ nguồn. Tệp lỗi sẽ được cách ly vào khu vực riêng (
.quarantine), bảo vệ cơ sở dữ liệu chính của bạn khỏi sai lệch. - Xuất dữ liệu cho AmiBroker: Xuất dữ liệu đã chuẩn hoá ra định dạng tệp mà phần mềm AmiBroker (của bên thứ ba) nhập được, nạp qua OLE Automation hoặc chạy tiến trình cập nhật định kỳ trong phiên giao dịch.
- Khung streaming linh hoạt: Khung kết nối mở cho phép bạn tự kết nối luồng dữ liệu trong phiên qua WebSocket hoặc Socket.IO từ nguồn mà bạn có quyền truy cập, rồi chuẩn hoá và lưu luồng dữ liệu trên máy của bạn.
Trải nghiệm sử dụng ở thế hệ 5
| Nhu cầu của bạn | Bản cũ (2.x) | Thế hệ 5 (3.x) |
|---|---|---|
| Tốc độ xử lý và số học | Xử lý bằng mã Python tuần tự, tốn thời gian khi thư mục dữ liệu lớn | Lõi Rust biên dịch sẵn xử lý nhanh hơn khi thư mục dữ liệu lớn |
| Cấu hình lưu trữ | Thiết lập rải rác trong mã nguồn | Cấu hình tập trung tại pipeline.toml, quản lý toàn bộ hệ thống qua giao diện dòng lệnh (CLI) |
| Kiểm soát cấu trúc | Người dùng tự kiểm tra dữ liệu thủ công | Phát hiện thay đổi cấu trúc cột và đưa tệp bất thường vào vùng an toàn (.quarantine) |
| Xử lý sự cố mạng | Lỗi mạng giữa chừng thường phải chạy lại từ đầu | Ghi sổ nhật ký lỗi và có tuỳ chọn tải bù --retry-errors chính xác các mã lỗi |
| Cây thư mục dữ liệu | Phụ thuộc vào công cụ tree cài thêm trên hệ điều hành | Tự dựng và hiển thị cây thư mục trực quan trực tiếp từ mã nguồn, hoạt động đồng nhất trên các hệ điều hành được hỗ trợ |
Bắt đầu trong ba bước
# Bước 1: Cài đặt thư viện từ kho gói Vnstock
pip install -U --extra-index-url https://vnstocks.com/api/packages vnstock-pipeline
# Bước 2: Đăng nhập bằng khoá tài khoản từ cấp Golden trở lên
vnstock register# Bước 3: Đọc và sử dụng dữ liệu từ kho lưu trữ cục bộ
from vnstock_pipeline.core.storage import DataManager
manager = DataManager()
# Đọc dữ liệu giá lịch sử của một mã đã lưu trên máy
df = manager.load_ohlcv("VNM", start_date="2026-01-01", end_date="2026-03-01")
print(df.head())Khoá API lấy tại trang tài khoản. Chi tiết cài đặt môi trường và các bước đăng nhập có tại trang Cài đặt và xác thực.
Lộ trình tài liệu
Bộ tài liệu được thiết kế đi thẳng vào quy trình triển khai thực tế trên máy tính của bạn:
| Bước | Trang | Mục đích sử dụng |
|---|---|---|
| 1 | Cài đặt và xác thực | Cài đặt gói, đăng nhập tài khoản Golden trở lên, quản lý thời hạn bản phát hành |
| 2 | Cấu hình và lưu trữ | Tệp pipeline.toml, lớp DataManager, định dạng Parquet/CSV và cây dữ liệu |
| 3 | Tải dữ liệu theo lô | Lệnh run ohlcv, run trades, tải theo rổ VN30/HOSE và cơ chế tải bù lỗi |
| 4 | Xuất dữ liệu cho AmiBroker | Xuất tệp CSV cho AmiBroker, nạp qua OLE và cập nhật dữ liệu trong phiên |
| 5 | Kiểm duyệt và bảo vệ dữ liệu | Quản lý schema baseline, xử lý vùng cách ly (.quarantine) và dọn dẹp kho lưu trữ |
Khi cần khai thác chuyên sâu, hai mục mở rộng cung cấp các công cụ nâng cao:
- Tính năng nâng cao: khung streaming dữ liệu, sàng lọc universe thanh khoản và truy vấn tệp dữ liệu trực tiếp qua CLI.
- Chuyển đổi từ bản cũ: nâng cấp từ bản 2.x lên thế hệ 5.
Đang có mã viết cho bản cũ
Nếu bạn đang có dự án hoặc kịch bản chạy với vnstock_pipeline bản 2.x:
- Toàn bộ đường dẫn import cốt lõi (
DataManager,PathBuilder,StorageConfig) và câu lệnh dòng lệnh đều được giữ nguyên cách gọi. - Mã nguồn cũ đọc và ghi dữ liệu tiếp tục hoạt động mà không cần viết lại.
- Dữ liệu cũ trên máy có thể chuyển đổi sang cấu trúc mới qua lệnh
vnstock_pipeline storage migrate-legacy. - Xem hướng dẫn chi tiết tại trang Nâng cấp từ bản 2.x.
Giới hạn và lưu ý cho người dùng
- Dữ liệu nằm trên máy của bạn: Tệp dữ liệu sau khi tải nằm trên máy và do bạn quản lý; quyền với dữ liệu vẫn theo điều kiện của nguồn. Thư viện không yêu cầu kết nối mạng hay xác thực giấy phép khi bạn đọc hoặc xử lý các tệp dữ liệu đã lưu trên đĩa.
- Tôn trọng chính sách nguồn cấp: Khi thực hiện các tác vụ tải dữ liệu theo lô, thư viện điều phối tần suất yêu cầu ở mức hợp lý nhằm giữ ổn định hệ thống của các nguồn công bố dữ liệu.
- Không kèm nguồn dữ liệu trong phiên: Khung streaming thế hệ 5 chỉ là phần khung kết nối; bạn tự cấu hình địa chỉ WebSocket và bộ giải mã cho nguồn mà mình có quyền truy cập.
- Mục đích nghiên cứu cá nhân: Thư viện được phát hành phục vụ nhu cầu tổ chức dữ liệu nghiên cứu cá nhân của người tài trợ theo giấy phép sử dụng.