Vnstock Logo

Vnstock Pipeline thế hệ 5

Mở rộng

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.

Điều kiện sử dụng

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ạnBản cũ (2.x)Thế hệ 5 (3.x)
Tốc độ xử lý và số họcXử lý bằng mã Python tuần tự, tốn thời gian khi thư mục dữ liệu lớnLõ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ồnCấ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úcNgười dùng tự kiểm tra dữ liệu thủ côngPhá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ạngLỗi mạng giữa chừng thường phải chạy lại từ đầuGhi 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ệuPhụ thuộc vào công cụ tree cài thêm trên hệ điều hànhTự 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

Shell
# 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
Python
# 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ướcTrangMục đích sử dụng
1Cài đặt và xác thựcCà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
2Cấ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
3Tả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
4Xuất dữ liệu cho AmiBrokerXuất tệp CSV cho AmiBroker, nạp qua OLE và cập nhật dữ liệu trong phiên
5Kiểm duyệt và bảo vệ dữ liệuQuả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:

Đ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.