Mức hoàn thiện
Thử nghiệmBản thử nghiệmCập nhật
Mục lục
Bản thử nghiệm, chưa phát hành chính thức
Trang này viết cho vnstock_pipeline v6.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à v3.1.1, xem tài liệu bản đó.
Trang này ghi trạng thái của bản 6.0.0.dev0 tại ngày 04/11/2026. Mỗi dòng ghi ngày kiểm gần nhất trên máy thật. Đây
là quan sát tại thời điểm kiểm, không phải cam kết về dữ liệu hay về thời gian phản hồi của nguồn.
Cách đọc cột "Trạng thái":
- Có: tính năng đã có trong mã, có kiểm thử tự động, và đã chạy với dữ liệu thật.
- Có, chờ kiểm trong phiên: đã có trong mã và kiểm thử, nhưng chưa gặp dữ liệu thật vì nguồn chỉ gửi vào đầu phiên, phiên ATO, ATC, hoặc vì chưa có lượt chạy sau lần cập nhật gần nhất.
- Chưa có: chưa có trong bản này.
Tổng quan
| Phần | Trạng thái | Kiểm gần nhất | Ghi chú |
|---|---|---|---|
| Tài khoản, giấy phép, thời hạn bản phát hành, đo lượt dùng | Có | 03/11/2026 | Dùng chung lần đăng nhập với các thư viện Vnstock khác; không trừ hạn mức |
Cấu hình pipeline.toml, đọc tệp bản 3.x | Có | 04/11/2026 | |
| Lưu trữ: bố cục chung, luật gộp, nguồn gốc trong tệp, mục lục | Có | 04/11/2026 | Khoá mục lục cho nhiều tiến trình; gộp tệp phần stream khi hết phiên |
| Tác vụ nạp: nến, khớp lệnh, bảng giá, sổ lệnh, chỉ số, khối ngoại, thống kê phiên, thoả thuận, tham chiếu, doanh nghiệp | Có | 03/11/2026 | Chạy thật với dnse, ssi, tcbs, fhsc |
| Tải nối tiếp, phát hiện lịch sử bị điều chỉnh, nguồn dự phòng | Có | 03/11/2026 | |
Chất lượng: kiểm nội dung, cấu trúc chuẩn, cách ly, store audit | Có | 04/11/2026 | Tự xoá tệp cách ly theo quarantine_retention_days: chưa có |
| Xuất CSV, Parquet, Excel, AmiBroker | Có | 04/11/2026 | Tệp AmiBroker theo bố cục bản 3.x |
Chuyển dữ liệu bản 3.x (migrate-legacy) | Có | 03/11/2026 | Không xoá tệp cũ |
| Dữ liệu trong phiên, 14 loại sự kiện chuẩn, dựng nến | Có | 04/11/2026 | Chi tiết theo nguồn ở mục dưới |
| Dòng lệnh in JSON cho script và trợ lý AI | Có | 04/11/2026 | |
| Bản dựng sẵn | Có cho macOS Apple Silicon | 04/11/2026 | Bản cho Windows và Linux chưa dựng |
Dữ liệu trong phiên theo nguồn
| Nguồn | Trạng thái | Kiểm gần nhất | Kênh đã gặp dữ liệu thật | Kênh chờ kiểm trong phiên |
|---|---|---|---|---|
dnse | Có | 04/11/2026, trong giờ giao dịch và phiên ATC | tick, tick_extra, top_price, market_index, market_index_influence, foreign, ohlc, ohlc_closed, session, expected_price | estimated_market_index (nguồn không phát trong phiên ATC 04/11/2026), security_definition (đầu phiên) |
ssi | Có | 04/11/2026, trong giờ giao dịch và phiên ATC | trade, quote, snapshot, status, foreign, index, ohlcv, odd_lot, giá khớp dự kiến | Chỉ số dự kiến (nguồn không phát trong phiên ATC 04/11/2026) |
tcbs | Có | 04/11/2026, trong giờ giao dịch | bid, offer, match, match_history, history_1m, foreign, session_stats, index, put_through (thoả thuận đã khớp), derivative_match, derivative_bid, derivative_offer, derivative_stats, derivative_foreign, supply_demand_1m, supply_demand_15m | base_price (chỉ đầu phiên), put_through phần chào mua bán (ít khi có) |
binance | Có | 04/11/2026 | trade, agg_trade, kline, book_ticker, ticker, mini_ticker, ticker_window, depth, diff_depth, avg_price, all_mini_ticker, all_ticker_window | block_trade (chỉ khi có giao dịch khối), reference_price |
Kênh "chờ kiểm" được viết theo tài liệu và bộ công cụ chính thức của nguồn, đã có kiểm thử với dữ liệu mẫu. Dữ liệu thật
có thể khác tài liệu; khi đó thông điệp không giải mã được sẽ được đếm ở decode_errors chứ không làm dừng phiên.
Kết quả đối chiếu (kiểm thử nội bộ)
| Ngày | Đối chiếu | Kết quả |
|---|---|---|
| 04/11/2026 | Lõi Rust và đường Python tham chiếu, trên toàn bộ dữ liệu thật đã ghi của bốn nguồn (khoảng 625.000 sự kiện) | Sự kiện giống hệt nhau, không sự kiện nào sai hợp đồng |
| 04/11/2026 | Nến 1 phút pipeline dựng từ dnse và từ ssi, 5–6 mã cổ phiếu và phái sinh, hai lần ghi sáng và chiều | Trùng tuyệt đối 74/74 phút trọn (mở, cao, thấp, đóng, khối lượng, giá trị) |
| 04/11/2026 | Lệnh khớp kênh trade của ssi với lệnh khớp của dnse | Cùng số lệnh (phái sinh 2.780/2.780, FPT 209/209) và cùng tổng cộng dồn sau mỗi lệnh |
| 04/11/2026 | Chỉ số và khối ngoại của dnse và ssi | Trùng giá trị và khối lượng qua 120 lần cập nhật chỉ số (sáng); 4/4 chỉ số trùng mọi giá trị (chiều) |
| 04/11/2026 | Nến tự dựng và nến ohlc_closed của dnse | 27/28 nến trùng; phút còn lại nến của nguồn ít hơn 100 cổ phiếu |
| 04/11/2026 | Ba phiên dnse, ssi, binance chạy cùng lúc, ghi chung một thư mục gốc | Không lỗi giải mã, mục lục đủ mục |
| 04/11/2026 | Lệnh khớp kênh match_history và history_1m của tcbs với lệnh khớp của dnse | Sáng: FPT trùng 106/106 lệnh (giây, giá, khối lượng; history_1m cả bên chủ động). Chiều: bốn mã, 1.321 lệnh trong 4 phút, trùng cả số lệnh lẫn tổng khối lượng |
| 04/11/2026 | Khối ngoại, chỉ số, mua bán chủ động theo phút của tcbs và dnse | Khối ngoại trùng tuyệt đối kể cả room; chuỗi giá trị chỉ số trùng; mua bán chủ động của phút trọn trùng hoặc lệch 100 cổ phiếu |
| 04/11/2026 | Nến 1 phút dựng từ tcbs và từ dnse | 20/20 phút trọn trùng mở, thấp, đóng, khối lượng; giá trị nến cổ phiếu trùng tuyệt đối; phái sinh lệch đỉnh 0,1 điểm ở 1 phút |
| 04/11/2026 | Bốn phiên stream run (ba tcbs, một dnse) chạy cùng lúc 5 phút, ghi chung một thư mục gốc | Không lỗi giải mã; mỗi phân vùng gộp còn một tệp; mục lục đúng số dòng |
| 03/11/2026 | Nến 1 phút tự dựng từ binance và nến kline_1m của Binance | Trùng tuyệt đối ở 4/4 phút trọn |
| 04/11/2026 | Giá khớp dự kiến của dnse và ssi trong phiên ATC | Giá cuối của cả hai nguồn bằng giá ATC thật ở 5/5 mã |
| 04/11/2026 | Nến 1 phút dnse và ssi qua phiên ATC | Trùng tuyệt đối 25/25 phút, gồm nến ATC |
| 04/11/2026 | Nến 1 phút nạp sau phiên (run ohlcv --interval 1m) với nến dựng từ stream | Trùng tuyệt đối ở mọi phút chung |
Giới hạn đã biết
- Truy cập nguồn tuỳ mạng của bạn. Phiên chỉ kết nối được tới một nguồn khi mạng bạn đang dùng (mạng công ty, tường lửa, bộ lọc của nhà mạng) không chặn cổng dữ liệu của nguồn đó. Bị chặn thì phiên dừng và báo lỗi; pipeline không đổi đường mạng hay cách kết nối để vượt qua.
ssi:- Giờ trong thông điệp chỉ tới giây; các lệnh trong cùng một giây có thể đến lệch thứ tự. Pipeline xếp lại theo tổng cộng dồn của nguồn, nên nến không bị ảnh hưởng.
- Nguồn không phát lô lẻ của mã sàn HNX; bảng lô lẻ chỉ có mã HOSE.
tcbs:- Kênh
match, bảng giá và phái sinh mang giờ nhận. Kênhmatchcòn gửi lặp: khoảng 39% thông điệp không làm tổng tăng, và được đánhreplay = true. Cần từng lệnh có giờ khớp thì dùnghistory_1m(cổ phiếu) hoặcmatch_history. - Kênh
match_historychỉ nhận một mã mỗi phiên. - Ngoài giờ giao dịch, nguồn không gửi gì, kể cả khi vừa đăng ký.
- Phiên đăng nhập cần Smart OTP mỗi 24 giờ, nên không hợp với lịch chạy hoàn toàn tự động.
- Kênh
- Nến của nguồn có thể lệch nhẹ so với tổng khớp lệnh của chính nguồn đó. Pipeline lưu cả hai, không sửa nến của nguồn.
- Một nguồn mỗi tác vụ. Tác vụ nạp lấy dữ liệu của một nguồn cho mỗi mã (nguồn đầu tiên trả lời). Pipeline chưa tự ghép hay chọn giữa nhiều nguồn trong cùng một phiên stream.
- Nến dựng trong phiên chỉ có các khung
1m,3m,5m,15m,30m,1H,1D.
Chưa có ở bản này
| Tính năng bản 3.x | Ở thế hệ 6 | Lý do, cách thay |
|---|---|---|
Báo cáo tài chính (run financial) | Chưa có | Open API mà bản này kết nối chưa có dữ liệu này |
Tin tức (run news) | Chưa có | Như trên |
Sự kiện doanh nghiệp (run events) | Gộp vào run reference (phần events_calendar) | |
Cập nhật AmiBroker trong phiên (live_amibroker), nạp qua OLE | Chưa có | Xuất tệp ASCII rồi nhập bằng Import ASCII |
Truy vấn tệp bằng SQL (query) | Chưa có | Đọc bằng Store().read rồi lọc bằng pandas, hoặc mở tệp Parquet bằng DuckDB |
Dọn dữ liệu cũ (storage cleanup) | Chưa có | Xoá thư mục ngày cũ dưới market/trades/, stream/…/date=…, rồi store catalog --rebuild |
Lưu CSV, bố cục nested, đổi định dạng (set-format, set-layout) | Không mang sang | Thế hệ 6 chỉ lưu Parquet theo một bố cục; cần CSV thì dùng export csv |
Tải bù mã lỗi (--retry-errors) | Thay bằng cách khác | Chạy lại cùng lệnh: mã đã mới được bỏ qua, chỉ mã còn thiếu được tải lại; nguồn dự phòng tự thử trong lượt chạy |
Khung streaming tự mang cấu hình kết nối (run_profile, ProfileClient, tệp hồ sơ TOML) | Thay bằng kênh khai sẵn | Kênh của từng nguồn đã khai sẵn trong phần kết nối; một lệnh stream run thay cho tệp hồ sơ |
| Mẫu stream Binance | Đóng gói sẵn | stream run binance …, đủ các họ kênh của mẫu cũ |
Stream của fhsc, fmp | Chưa có | Bản này chưa có kênh stream cho các nguồn này |
Lịch sử phiên bản
6.0.0.dev0 (bản xem trước, chưa phát hành)
- Viết lại toàn bộ trên dữ liệu bạn lấy bằng khoá của mình, qua
vnstock6 vàvnstock-oapi. - Lưu trữ:
- một bố cục chung cho dữ liệu nạp theo lịch, dữ liệu tham chiếu và dữ liệu trong phiên;
- nguồn gốc trong từng tệp;
- mục lục có khoá cho nhiều tiến trình.
- Tác vụ nạp: chín tác vụ trên các nguồn có khoá, tải nối tiếp, nguồn dự phòng theo bộ dữ liệu.
- Dữ liệu trong phiên:
- bốn nguồn (
dnse,tcbs,ssi,binance); - 14 loại sự kiện chuẩn với ba tầng cột;
- nến dựng trong lõi Rust;
- ghi lại và chạy lại phiên.
- bốn nguồn (
- Giữ từ bản 3.x: kiểm chất lượng, cách ly, tệp AmiBroker, nhóm thanh khoản, danh sách mã đặt tên, lệnh tra cứu tệp.
- Tài khoản: dùng chung lần đăng nhập với bản 3.x, không trừ hạn mức mỗi lượt chạy.
