Vnstock Logo

Giới thiệu

Mở rộng

Mục lục

Tài liệu này dành cho ai?

Dành cho nhà nghiên cứu dữ liệu, nhà đầu tư định lượng (quant), kỹ sư tài chính và lập trình viên muốn tự xây dựng công cụ phân tích định lượng trên dữ liệu chứng khoán Việt Nam. Nếu bạn đang tìm kiếm tài liệu của phiên bản cũ chỉ tính toán chỉ báo kỹ thuật, vui lòng xem Giới thiệu Vnstock TA.

Agent Guide Notebook minh hoạ

Khuyên dùng: Nên ưu tiên sử dụng Agent Guide để nạp môi trường cho AI Agent trên máy tính cục bộ. Tránh viết code thủ công hoặc dùng AI phiên bản web/Google Colab vì AI không có thông tin mới nhất về thư viện nên dễ viết sai cú pháp.



Tổng quan

vnstock_quant là thư viện tính toán định lượng chuyên sâu thuộc hệ sinh thái Vnstock thế hệ 5, được xây dựng với lõi biên dịch bằng Rust nhằm tăng tốc độ tính toán và độ an toàn bộ nhớ. Thư viện gộp và thay thế vnstock_ta, mở rộng không gian tính năng từ phân tích kỹ thuật sang phân tích cơ bản (FA), đo lường rủi ro - hiệu suất, quản lý danh mục và mô hình định giá.

Mọi thuật toán tính toán trong vnstock_quant chạy hoàn toàn trên máy tính cá nhân của bạn, nhận dữ liệu đầu vào là các bảng DataFrame chuẩn của pandas và trả về kết quả đã được làm sạch, dán nhãn chuẩn hóa.

Tuyên bố miễn trừ trách nhiệm (Disclaimer)

Các công cụ, công thức và mô hình tính toán trong vnstock_quant được cung cấp cho mục đích học tập, nghiên cứu và phân tích định lượng độc lập trên môi trường cá nhân của người dùng. Mọi kết quả là đầu ra mô hình dựa trên các giả định và dữ liệu do bạn tự cung cấp, không cấu thành khuyến nghị đầu tư, tư vấn tài chính hay lời mời chào mua bán chứng khoán.


Vnstock Quant là gì và không là gì

Để hiểu rõ vai trò của thư viện trong chuỗi xử lý thông tin định lượng, bảng đối chiếu sau đây làm rõ ranh giới trách nhiệm:

Đặc tínhVnstock Quant làVnstock Quant không phải là
Bản chấtCông cụ tính toán định lượng độc lập chạy trực tiếp trên máy của bạnNguồn cung cấp dữ liệu. Dữ liệu do bạn tự truy xuất từ thư viện vnstock hoặc tệp lưu trữ
Phương pháp luậnCông thức toán tài chính minh bạch, có kiểm định đối chiếu chuẩn quốc tế (TA-Lib C, LEAN, CFA)Hệ thống phát tín hiệu mua bán, chỉ báo chén thánh hay lời khuyên đầu tư
Phạm viCông cụ tính toán phục vụ nghiên cứu, đo lường rủi ro và tính lợi suất danh mục theo lịch tái cân bằng (có tính phí và thuế)Nền tảng đặt lệnh hay hệ thống kết nối tài khoản giao dịch của công ty chứng khoán
Hiệu năngLõi số học viết bằng Rust, nhả GIL của Python trong lúc tínhLớp bọc quanh thư viện tính toán của bên thứ ba

Kiến trúc: Lõi Rust và lớp Python mỏng

Khác với vnstock_ta phiên bản 1.x (vốn chỉ là lớp bọc mã nguồn Python của pandas-ta), vnstock_quant chuyển dịch hoàn toàn sang kiến trúc biên dịch mã máy:

  Dữ liệu người dùng (pandas DataFrame)
                 │
                 ▼
  ┌────────────────────────────────────────────────────────┐
  │  Giao diện Python mỏng (vnstock_quant)                 │
  │  • Nạp lười mô-đun (PEP 562)                           │
  │  • Kiểm tra kiểu và căn chỉnh ngày tháng (DatetimeIndex)│
  │  • Chuyển đổi Series / DataFrame sang vùng đệm nhị phân │
  └────────────────────────┬───────────────────────────────┘
                           │ (PyO3 FFI / Native Bridge)
                           ▼
  ┌────────────────────────────────────────────────────────┐
  │  Lõi tính toán Rust (_native)                          │
  │  • Kiểm tra quyền hạn theo cấp tài trợ (Entitlement)   │
  │  • Kiểm định tham số nghiêm ngặt, trả mã lỗi ổn định   │
  │  • Thuật toán tối ưu hóa vector, giải đa thức, solver  │
  │  • Nhả Global Interpreter Lock (GIL) khi tính toán lớn │
  └────────────────────────┬───────────────────────────────┘
                           │
                           ▼
  Trả về kết quả chuẩn hoá (pandas Series / DataFrame / Dict)

Kiến trúc này mang lại những ưu thế thiết thực cho người dùng:

  • Tốc độ: Tính đủ 58 chỉ báo kỹ thuật trên 5.000 nến nhanh hơn 25,9 lần so với thế hệ 1.x (từ 138,5 ms xuống 5,3 ms; số đo tham khảo, đo trên máy Apple M4 (10 nhân, 16 GB RAM), một luồng, ngày 06/10/2026).
  • Kết quả đồng nhất: Thuật toán không phụ thuộc thư viện C/Python khác trên máy của bạn, nên cùng đầu vào cho cùng kết quả trên macOS và Linux.
  • Nhả GIL khi tính: Lõi Rust nhả GIL của Python trong lúc tính. Phần dựng kết quả pandas vẫn giữ GIL, nên với chuỗi ngắn, chạy nhiều luồng bằng concurrent.futures.ThreadPoolExecutor.

5 trụ cột tính toán định lượng

vnstock_quant mở rộng không gian giải pháp thành 5 miền tính toán chuyên sâu:

Mô-đunTên namespaceSố lượng hàm / chỉ sốNội dung tính toán chínhTài liệu chuyên sâu
Chỉ báo kỹ thuậtvnstock_quant.ta58 chỉ báoXu hướng (Trend), động lượng (Momentum), biến động (Volatility), khối lượng (Volume), thống kê (Statistics). Khớp chuẩn TA-Lib C và LEANChỉ báo kỹ thuật
Chỉ số tài chínhvnstock_quant.fa99 chỉ sốTự tính chỉ số từ BCTC VAS chuẩn hóa: khả năng sinh lời, đòn bẩy, hiệu quả, dòng tiền CFA (FCFF/FCFE), ngân hàng (NIM, CIR, CASA, NPL), DuPont, Altman Z'', Piotroski F, Beneish MChỉ số tài chính
Đo lường rủi rovnstock_quant.risk33 thước đo + AmihudSharpe, Sortino, VaR/CVaR (lịch sử, chuẩn, Cornish-Fisher), Beta (OLS, Dimson, Down/Up), Alpha, Ulcer Index, thanh khoản AmihudĐo lường rủi ro & hiệu suất
Quản lý danh mụcvnstock_quant.portfolio38 hàmLợi suất nạp rút (TWR, MWR/IRR), tái cân bằng kèm chi phí Việt Nam (VN_COSTS), đóng góp rủi ro, tối ưu hóa (Min Variance, Max Sharpe, Risk Parity), làm tròn lô 100Quản lý danh mục đầu tư
Mô hình định giávnstock_quant.valuation8 mô hìnhChiết khấu cổ tức (Gordon, 2 giai đoạn), lợi suất và tăng trưởng ngầm định, P/E hợp lý theo các yếu tố cơ bảnMô hình định giá

Hỗ trợ AI Agent và Vibe Coding

vnstock_quant được tối ưu hoá cho kỷ nguyên Vibe Coding và tự động hóa qua AI Agent:

  • Tự mô tả qua JSON Schema: Các hàm tính toán cung cấp lược đồ tham số chuẩn mực để AI Agent tự động hiểu và sử dụng chính xác.
  • Hệ thống mã lỗi ổn định: Khi tham số không đúng, lỗi trả về mang mã cố định (ví dụ QUANT_INVALID_PARAMETER), giúp LLM tự nhận diện sai sót và điều chỉnh lời gọi lệnh tự động (self-healing loop).
  • Hỗ trợ qua bộ kỹ năng: Cả người dùng bản Cộng đồng và nhà tài trợ đều có thể dùng trợ lý AI để viết mã phân tích và tính toán định lượng.

Phân quyền theo cấp tài trợ

Thư viện được cấp quyền theo cơ chế kiểm tra bản quyền trực tiếp tại lõi máy tính:

Nhóm chức năngBản Cộng đồngCấp BronzeCấp SilverCấp Golden & Diamond
Chỉ báo kỹ thuật cơ bản (10 chỉ báo: SMA, EMA, RSI, MACD, Stoch, BBands, ATR, OBV, VWAP, Pivots)Dùng thử (30 lượt/ngày)Không giới hạnKhông giới hạnKhông giới hạn
Chỉ báo kỹ thuật đầy đủ (58 chỉ báo)KhôngKhôngKhông giới hạnKhông giới hạn
Chỉ số tài chính cơ bản (10 chỉ số: P/E, P/B, EPS, BVPS, ROE, ROA, GPM, NPM, D/E, CR)Dùng thử (30 lượt/ngày)Không giới hạnKhông giới hạnKhông giới hạn
Chỉ số tài chính nâng cao (65 chỉ số + 24 chỉ số mở rộng: CFA, DuPont, Altman, Piotroski, Beneish)KhôngKhông giới hạnKhông giới hạnKhông giới hạn
Đo lường rủi ro & hiệu suất (risk)KhôngKhông giới hạnKhông giới hạnKhông giới hạn
Quản lý danh mục & quỹ (portfolio)KhôngKhông giới hạnKhông giới hạnKhông giới hạn
Mô hình định giá (valuation)KhôngKhông giới hạnKhông giới hạnKhông giới hạn
Chính sách dùng thử của bản Cộng đồng

Người dùng bản Cộng đồng được cung cấp 30 phép tính thử nghiệm mỗi ngày (chỉ báo và chỉ số tài chính tính chung). Mỗi lần tải dữ liệu trực tiếp qua vnstock hỗ trợ tối đa 3 mã cổ phiếu. Lượt dùng thử tự động làm mới vào lúc 00:00 giờ Việt Nam mỗi ngày.


Đọc tiếp