Vnstock Logo
Tạo Database Chứng Khoán Chuẩn Hoá với Vnstock Pipeline 2.3.0

Tạo Database Chứng Khoán Chuẩn Hoá với Vnstock Pipeline 2.3.0

Mục lục

Sự bùng nổ của Vibe Coding đã gỡ bỏ rào cản kỹ thuật, giúp bất kỳ nhà đầu tư hay chuyên gia tài chính nào cũng có thể dùng AI để tự viết ra một công cụ phân tích thị trường. Tuy nhiên, để hệ thống thực sự hiệu quả, một luồng xử lý dữ liệu mạnh mẽ như vnstock pipeline là điều không thể thiếu. Cảm giác chạy thành công đoạn script đầu tiên, nhìn thấy chiến lược được lượng hoá thành số liệu rõ ràng thực sự mang lại sự phấn khích lớn.

Tuy nhiên, sau "tuần trăng mật" với AI, hầu hết mọi người đều va phải một thực tế khác: Quản trị và cấu trúc dữ liệu.

Quan sát từ cộng đồng Vnstock, tôi nhận thấy điểm nghẽn khiến nhiều người kẹt lại không phải vì thuật toán quá khó, mà vì thói quen quản lý dữ liệu. Hôm nay tải dữ liệu OHLCV lưu tạm ở Desktop, ngày mai khởi động dự án lại kéo báo cáo tài chính vào Downloads. Đến lúc cần ghép nối chúng lại để chạy mô hình hay kiểm thử, chúng ta dễ dàng chìm trong mớ bòng bong của việc sửa đường dẫn thủ công và đối phó với lỗi không tìm thấy file. Khi năng lượng bị vắt kiệt cho việc dọn dẹp và tìm kiếm file, sự tập trung dành cho tư duy chiến lược bị bào mòn nhanh chóng.

Trăn trở với bài toán này là động lực chính để Vnstock ra mắt phiên bản Vnstock Pipeline 2.3.0. Ở phiên bản này, chúng tôi tập trung định hình lại cách lưu trữ và quản lý dữ liệu. Mục tiêu là giúp bạn tự xây dựng một cơ sở dữ liệu chứng khoán chuẩn hóa, quản lý tập trung và dễ dàng tiếp cận cho cả người mới lẫn người đã am hiểu kỹ thuật.

Dưới đây là những điểm thay đổi quan trọng trong bản cập nhật này:

1. Lưu trữ tập trung với vị trí cố định

Điểm thay đổi cốt lõi nhất là việc xác định một địa chỉ lưu trữ cố định trên mọi máy tính:

  • Mac/Linux: ~/stock_db
  • Windows: %USERPROFILE%\stock_db

Khi dữ liệu luôn nằm ở một vị trí chuẩn, mọi công cụ phân tích, thuật toán hay AI của bạn đều có thể dễ dàng tìm thấy dữ liệu mà không cần truyền các đường dẫn dài dòng vào trong code nữa.

Để quản lý toàn bộ cấu hình, chúng tôi cung cấp file pipeline.toml (nằm ở ~/.vnstock/config/). Từ đây, bạn có thể thiết lập định dạng lưu Parquet để nén tối ưu dung lượng cho dữ liệu lớn (như OHLCV, Intraday), hoặc linh hoạt xuất riêng báo cáo tài chính ra Excel để dễ đọc thủ công. Bạn có thể tham khảo thêm về hệ sinh thái tại Github chính thức của Vnstock.

2. Linh hoạt với 2 chế độ cấu trúc thư mục

Dù bạn là một nhà giao dịch không chuyên hay một Data Engineer, kiến trúc mới đều hỗ trợ thông qua 2 chế độ:

  • Chế độ Tối giản (Flat Layout): Đây là chế độ mặc định, thân thiện và trực quan. Các tệp dữ liệu được xếp ngay ngắn trong các thư mục của từng thể loại. (Ví dụ: ~/vnstock_db/ohlcv/ACB.parquet)
  • Chế độ Phân cấp (Nested Layout): Dành cho những bài toán đòi hỏi tiêu chuẩn phân lớp chặt chẽ để mở rộng trong tương lai (layer/domain/category/...). (Ví dụ: ~/vnstock_db/raw/market/ohlcv/1D/equity/ACB.parquet)

Bạn hoàn toàn có thể chuyển đổi toàn bộ cơ sở dữ liệu hiện có sang chuẩn mới chỉ với một câu lệnh:

Shell
python -m vnstock_pipeline.cli storage set-layout nested

3. Bảo vệ dữ liệu và tự động gỡ lỗi

Dữ liệu tài chính từ các nguồn công khai thường xuyên đối mặt với thách thức cấu trúc dữ liệu từ nguồn bị thay đổi gây ra lỗi ngầm (thêm/bớt cột từ nguồn dữ liệu gốc). Vnstock Pipeline 2.3.0 nay có khả năng tự nhận diện dữ liệu sai cấu trúc và đưa chúng vào "vùng cách ly" kèm ghi chú nguyên nhân, giúp đảm bảo kho dữ liệu chính của bạn không bị làm hỏng.

Bên cạnh đó, hệ thống sẽ tự động bỏ qua các mã không có dữ liệu để tiết kiệm thời gian chạy. Nếu gặp lỗi đứt mạng giữa chừng, bạn không cần phải bắt đầu tải lại từ đầu. Thay vào đó, bạn chỉ cần gọi tham số --retry-errors để hệ thống tự động tải lại đúng những mã vừa bị lỗi:

Shell
python -m vnstock_pipeline.cli run ohlcv --retry-errors

4. Quản trị cơ sở dữ liệu với vnstock pipeline qua CLI

Chúng tôi đã tích hợp các công cụ quản trị dữ liệu cần thiết nhất vào các câu lệnh CLI ngắn gọn:

  • Kiểm tra dữ liệu (Audit): Kiểm tra xem chuỗi dữ liệu có bị đứt gãy hay có mã nào lâu ngày chưa cập nhật không.

    Shell
    python -m vnstock_pipeline.cli storage audit --category ohlcv --stale-days 5
  • Dọn dẹp dữ liệu cũ (Cleanup): Tự động xoá bớt các file đã quá cũ (ví dụ: hơn 90 ngày) để giải phóng dung lượng cho máy.

    Shell
    python -m vnstock_pipeline.cli storage cleanup --days 90
  • Chuyển đổi định dạng hàng loạt: Đổi toàn bộ các file CSV hiện tại sang Parquet để giảm dung lượng lưu trữ nhanh chóng.

    Shell
    python -m vnstock_pipeline.cli storage set-format parquet -y

5. Tối ưu hoá các luồng dữ liệu chuyên biệt

Bên cạnh khâu lưu trữ, bản cập nhật này mang đến một loạt cải tiến cho các luồng xử lý:

  • Báo cáo tài chính: Có thể chọn lưu trữ với định dạng Excel để gom gọn cả 5 loại báo cáo (Cân đối kế toán, Kết quả kinh doanh, Lưu chuyển tiền tệ...) thành các sheet riêng biệt trong cùng một file Excel duy nhất (ACB.xlsx). Hệ thống có sẵn cơ chế tự động đọc và nối thêm số liệu kỳ mới mà không làm mất kỳ báo cáo cũ. Các loại dữ liệu khác có thể được tuỳ chỉnh để dùng định dạng tối ưu nhất cho nén dữ liệu lưu trữ như Parquet hay dữ liệu trung gian tích hợp với các ứng dụng khác như CSV cho Amibroker.

  • Dữ liệu tin tức: Tích hợp bộ lọc để nhận diện và loại bỏ bài viết trùng lặp thông minh, đảm bảo chỉ tải về các thông tin mới nhất.

  • Xuất dữ liệu cho Amibroker: Quét tự động toàn bộ dữ liệu nội bộ và xuất ra định dạng chuẩn CSV của Amibroker một cách đơn giản:

    Shell
    # Xuất dữ liệu định dạng OHLCV với giá đã điều chỉnh và chưa điều chỉnh, dữ liệu giao dịch nước ngoài/tự doanh
    python -m vnstock_pipeline.cli export amibroker --output ./AmibrokerData

6. Xếp hạng danh sách cổ phiếu tự động theo thanh khoản

Thay vì cắm đầu tải dữ liệu toàn bộ hơn 1700 mã trên thị trường một cách vô thức gây tốn thời gian, nhiều khi mã cần thì không tải được do lỗi quá giới hạn truy cập trong khi mã không có gía trị lại làm rác ổ cứng, vnstock_pipeline nay có sẵn thuật toán quét tự động để tự động sắp xếp thứ hạng cho các mã có thanh khoản tốt nhất.

Thuật toán này sẽ chấm điểm dựa trên khối lượng và giá trị giao dịch qua nhiều khung thời gian (5, 20, 50 phiên). Những mã thanh khoản kém sẽ bị tự động loại bỏ. Danh sách ưu tiên sẽ được lưu vào hệ thống (với tên watchlist là liquidity_auto) để làm đầu vào cho mọi tác vụ lấy dữ liệu khác:

Shell
python -m vnstock_pipeline.cli universe build-liquidity --days 50 --top 300

Lời kết

Vnstock Pipeline 2.3.0 là nỗ lực mang những tiêu chuẩn quản trị dữ liệu chuyên nghiệp đến với các nhà đầu tư cá nhân theo một cách dễ tiếp cận nhất. Việc có một cơ sở dữ liệu chứng khoán gọn gàng và chuẩn hóa sẽ là nền tảng vững chắc để bạn tiếp tục khai thác sức mạnh của AI và các thuật toán một cách tự tin hơn. Đặc biệt, nếu bạn đang sử dụng các chương trình như Antigravity/Claude Code/Codex để lập trình, hãy cập nhật tài liệu hướng dẫn Vnstock Pipeline dành cho AI Agent để tối ưu hóa quy trình tích hợp.

Bạn có thể cập nhật thư viện ngay hôm nay, trải nghiệm các luồng dữ liệu và cảm nhận sự ngăn nắp mà kiến trúc lưu trữ này mang lại.

Hướng dẫn cập nhật nhanh: Để cập nhật, bạn chỉ cần mở Terminal (Mac/Linux) hoặc PowerShell (Windows) và gõ lệnh vnstock-installer. Giao diện cài đặt sẽ hiện ra và tự động cài đè phiên bản mới nhất. Sau khi hoàn tất, bạn nhớ kích hoạt môi trường ảo và chạy lệnh pip show vnstock_pipeline để xác nhận phiên bản nhé.

Bình luận

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