Mức hoàn thiện của bản 1.0.0rc1
Mục lục
Trang này viết cho vnstock_quant v1.0.0rc1, bản thử nghiệm. Tên hàm, tham số và cột dữ liệu có thể còn đổi trước ngày phát hành; khi cài, ghi rõ số phiên bản như ở trang Cài đặt. Bản đang phát hành chính thức là v0.5.0, xem tài liệu bản đó.
Trang này ghi kết quả chạy bản phát hành vnstock_quant 1.0.0rc1 ngày 06/11/2026: cài từ gói dựng sẵn vào môi trường sạch, cùng vnstock 6.0.0rc3 và vnstock-oapi 0.1.0rc2, tải dữ liệu thật bằng khoá nguồn. Nguyên tắc của bản này: tính năng chưa đủ chắc chắn thì tắt, hoặc chạy kèm cảnh báo nêu điều kiện, thay vì trả một con số trông như thật.
Các kết quả trong trang được đo tại một thời điểm, trên một nhóm mã. Dữ liệu của nguồn có thể đổi; hãy đối chiếu trên chính dữ liệu của bạn.
Tóm tắt theo nhóm hàm
| Nhóm | Trên dữ liệu thật | Điều kiện, giới hạn |
|---|---|---|
ta | Chạy: 58/58 chỉ báo trên chuỗi ngày từ 2019 | Không |
risk | Chạy: lợi suất mã và VNINDEX căn theo ngày chung | Chỉ số tham chiếu tải cùng nguồn với mã |
fa, chỉ số từ BCTC | Chạy trên cả bốn mẫu biểu (doanh nghiệp, ngân hàng, chứng khoán, bảo hiểm) | Chỉ số cần thuyết minh trả MISSING_INPUT; nguồn giới hạn tần suất |
fa, chỉ số định giá | Tắt mặc định | Cần số cổ phiếu và giá đóng cửa gốc; xem bên dưới |
prices.from_vnstock | Tắt (báo lỗi) | Nguồn trả giá đã điều chỉnh |
prices.adjust trên bảng giá gốc của bạn | Chạy | Không có trần, sàn thì chỉ kiểm bằng giá tham chiếu, có cảnh báo |
micro | Chạy trên khớp lệnh trong ngày | Có nguồn không gửi phiên ATO, ATC: có cảnh báo |
backtest | Chạy trên ohlcv() | Không khai corporate_actions với giá tải qua vnstock 6; biểu phí chưa xác minh và hồ sơ phái sinh có cảnh báo |
portfolio, valuation | Không đổi | Không dùng dữ liệu vnstock |
Chỉ số tài chính
So kết quả cùng công thức, cùng kỳ trên 19 mã thuộc cả bốn mẫu biểu, giữa dữ liệu tải qua thế hệ 5 và dữ liệu Open API chụp tháng 11/2026, chỉ tính các chỉ số năm không cần giá:
| Thước đo | Kết quả |
|---|---|
| Số điểm có giá trị ở cả hai bên | 4.819 |
| Khớp trong 1% | 98,05% |
| Có ở bản cũ, mất ở bản mới | 0 |
| Trống ở bản cũ, có ở bản mới | 196 |
Hai nhóm khác biệt lớn nhất đến từ dữ liệu đầu vào, không phải từ công thức:
- Bao phủ lãi vay bằng tiền (
RT_CF_INTEREST_COVERAGE) của mẫu biểu doanh nghiệp: dữ liệu mới có thuế thu nhập doanh nghiệp đã nộp ở nhiều kỳ mà dữ liệu cũ ghi 0. - Thanh toán hiện thời (
RT_LQD_CR) của doanh nghiệp bảo hiểm: các nguồn phân loại nợ ngắn hạn và dài hạn khác nhau, dù tổng nợ phải trả như nhau.
Taxonomy rút gọn. Khi báo cáo chỉ có chỉ tiêu cấp 1, dòng chi tiết vắng mặt được coi là chưa biết, không phải 0. Trước khi chặn, 368 trong 1.248 điểm đo được vẫn có số nhưng lệch trên 1%; sau khi chặn, không còn điểm nào sai mà không báo, đổi lại 595 trong 1.460 điểm trả MISSING_INPUT.
Tần suất. Một mã với period="both" cần khoảng 54 lần gọi, mất khoảng 90 giây. Tải mã thứ hai ngay sau đó đã bị nguồn từ chối (VNSTOCK_SOURCE_RATE_LIMITED); nghỉ vài phút giữa các mã thì tải được cả bốn mẫu biểu.
Chỉ số định giá
Hai đầu vào chưa đủ khi tải qua vnstock 6:
- Số cổ phiếu theo ngày: Open API không có. Định giá trả
MISSING_MARKETtrừ khi bạn truyềntotal_shares, hoặc bậtestimate_shares=True. Đo cách ước tính trên 64 mã với giá gốc đã lưu: 86,5% điểm khớp trong 1%, 95,5% trong 5%, nhưng ở phiên mới nhất 19/64 mã lệch trên 5%, nặng nhất 50%. - Giá đóng cửa gốc: các nguồn hiện có trả giá đã điều chỉnh cho mọi phiên trước sự kiện quyền gần nhất. Với FPT từ 01/01/2023, 922 trên 956 phiên có giá đóng cửa lẻ bước giá 10 đồng. Thư viện bỏ các phiên đó khỏi định giá và cảnh báo; định giá quá khứ vì vậy trống, chỉ các phiên sau sự kiện gần nhất có số.
Muốn có định giá quá khứ, đưa bảng giá đóng cửa gốc cùng total_shares qua fa.Dataset.from_frames.
Giá điều chỉnh
Trên dữ liệu thật, mọi sự kiện quyền trong khoảng của FPT, HPG, VNM từ 2023 đều lệch giá tham chiếu khi điều chỉnh lại bảng đã điều chỉnh, tức là sự kiện bị tính hai lần. Thư viện nay nhận ra bảng như vậy và báo lỗi QUANT_INPUT_DATA. Khoảng ngày sau sự kiện gần nhất vẫn chạy, và cho đúng kết quả của ohlcv().
Với bảng giá gốc không có trần, sàn, đo trên 72 mã lịch sử dài: trong 805 sự kiện có ở cả hai cách kiểm, 7 sự kiện lệch trên 0,1%, 3 sự kiện lệch trên 1% (đều có quyền mua); 13 sự kiện danh sách thiếu không được phát hiện; 11/72 mã có hệ số tích luỹ lệch trên 2%. Thư viện không tự suy sự kiện thiếu trong trường hợp này: nếu suy, riêng giá tham chiếu tạo ra 1.736 sự kiện không có thật trên 72 mã.
Backtest
- Biểu phí: 11 trên 15 biểu phí tham khảo chưa xác minh (
verified=False); dùng chúng thì kết quả có cảnh báo. - Phái sinh: hồ sơ
vn_futureschưa mô phỏng thuế phái sinh, phí vị thế, phí quản lý ký quỹ, gọi ký quỹ, tất toán bắt buộc và đáo hạn; kết quả có cảnh báo. - Cổ tức tiền và cổ phiếu thưởng cùng ngày: ở bản 0.5, thứ tự khai làm tài sản cuối lệch khoảng 0,9 triệu trên 150 triệu đồng; bản 1.0 luôn tính cổ tức trên số cổ phiếu trước khi thưởng.
- Sự kiện thiếu ngày niêm yết: lịch sự kiện thường không có ngày niêm yết cổ phiếu thưởng; engine cảnh báo và coi cổ phiếu mới bán được ngay từ ngày GDKHQ.
Bản dựng và môi trường
| Hạng mục | Tình trạng |
|---|---|
| Kiểm thử | 172 bài kiểm của lõi Rust và 1.503 bài kiểm của lớp Python đạt |
| macOS arm64, macOS x86_64, Linux aarch64, Linux x86_64 | Cài vào môi trường sạch, nhập thư viện và chạy bản Cộng đồng: đạt |
| Windows x86_64 | Đã dựng và qua bước kiểm tra rò rỉ; chưa chạy thử trên máy Windows thật |
| Nguồn cần mã OTP | Chưa chạy thử |
| Thời hạn | Bản thử nghiệm dùng được 30 ngày kể từ ngày dựng (06/11/2026) |
Đọc tiếp
- Chuyển từ bản 0.5 — Mã cũ cần sửa gì.
- Chỉ số tài chính — Điều kiện để có chỉ số định giá.
- Giá điều chỉnh — Dùng
prices.adjustvới bảng giá gốc của bạn. - Đối chiếu kết quả và tốc độ — Mốc đối chiếu của lõi tính toán.
