Giới thiệu
Mục lục
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.
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.
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ính | Vnstock Quant là | Vnstock Quant không phải là |
|---|---|---|
| Bản chất | Cô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ạn | Nguồ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ận | Cô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 vi | Cô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ăng | Lõi số học viết bằng Rust, nhả GIL của Python trong lúc tính | Lớ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ô-đun | Tên namespace | Số lượng hàm / chỉ số | Nội dung tính toán chính | Tài liệu chuyên sâu |
|---|---|---|---|---|
| Chỉ báo kỹ thuật | vnstock_quant.ta | 58 chỉ báo | Xu 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à LEAN | Chỉ báo kỹ thuật |
| Chỉ số tài chính | vnstock_quant.fa | 99 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 M | Chỉ số tài chính |
| Đo lường rủi ro | vnstock_quant.risk | 33 thước đo + Amihud | Sharpe, 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ục | vnstock_quant.portfolio | 38 hàm | Lợ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ô 100 | Quản lý danh mục đầu tư |
| Mô hình định giá | vnstock_quant.valuation | 8 mô hình | Chiế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ản | Mô 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ăng | Bản Cộng đồng | Cấp Bronze | Cấp Silver | Cấ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ạn | Không giới hạn | Không giới hạn |
| Chỉ báo kỹ thuật đầy đủ (58 chỉ báo) | Không | Không | Không giới hạn | Khô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ạn | Không giới hạn | Khô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ông | Không giới hạn | Không giới hạn | Không giới hạn |
Đo lường rủi ro & hiệu suất (risk) | Không | Không giới hạn | Không giới hạn | Không giới hạn |
Quản lý danh mục & quỹ (portfolio) | Không | Không giới hạn | Không giới hạn | Không giới hạn |
Mô hình định giá (valuation) | Không | Không giới hạn | Không giới hạn | Không giới hạn |
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
- Cài đặt và thiết lập — Cách cài đặt gói nhị phân dựng sẵn (binary wheels) và tra cứu cấp quyền.
- Chỉ báo kỹ thuật — Hướng dẫn tính toán 58 chỉ báo kỹ thuật với
vnstock_quant.ta. - Chỉ số tài chính — Khám phá 99 chỉ số tài chính BCTC VAS và mô hình dòng tiền CFA.
- Đo lường rủi ro & hiệu suất — Áp dụng 33 thước đo rủi ro và thanh khoản Amihud.
- Quản lý danh mục đầu tư — Đo lường TWR/MWR, mô phỏng chi phí Việt Nam và tối ưu danh mục.
- Mô hình định giá — Định giá chiết khấu cổ tức và xác định P/E hợp lý.
- Chuyển đổi từ vnstock_ta — Hướng dẫn di chuyển mã nguồn từ vnstock_ta sang vnstock_quant.
- Kiểm định chất lượng & hiệu năng — Báo cáo đối chiếu số học với TA-Lib C, LEAN, chuẩn CFA và số đo hiệu năng.
- Lịch sử phiên bản — Lịch sử cập nhật và các mốc phát hành của thư viện.