Vnstock Logo

Mức hoàn thiện

Thử nghiệm

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ầnTrạng tháiKiểm gần nhấtGhi chú
Tài khoản, giấy phép, thời hạn bản phát hành, đo lượt dùngCó03/11/2026Dù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.xCó04/11/2026
Lưu trữ: bố cục chung, luật gộp, nguồn gốc trong tệp, mục lụcCó04/11/2026Khoá 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ệpCó03/11/2026Chạ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òngCó03/11/2026
Chất lượng: kiểm nội dung, cấu trúc chuẩn, cách ly, store auditCó04/11/2026Tự xoá tệp cách ly theo quarantine_retention_days: chưa có
Xuất CSV, Parquet, Excel, AmiBrokerCó04/11/2026Tệp AmiBroker theo bố cục bản 3.x
Chuyển dữ liệu bản 3.x (migrate-legacy)Có03/11/2026Không xoá tệp cũ
Dữ liệu trong phiên, 14 loại sự kiện chuẩn, dựng nếnCó04/11/2026Chi tiết theo nguồn ở mục dưới
Dòng lệnh in JSON cho script và trợ lý AICó04/11/2026
Bản dựng sẵnCó cho macOS Apple Silicon04/11/2026Bản cho Windows và Linux chưa dựng

Dữ liệu trong phiên theo nguồn

NguồnTrạng tháiKiểm gần nhấtKênh đã gặp dữ liệu thậtKênh chờ kiểm trong phiên
dnseCó04/11/2026, trong giờ giao dịch và phiên ATCtick, tick_extra, top_price, market_index, market_index_influence, foreign, ohlc, ohlc_closed, session, expected_priceestimated_market_index (nguồn không phát trong phiên ATC 04/11/2026), security_definition (đầu phiên)
ssiCó04/11/2026, trong giờ giao dịch và phiên ATCtrade, quote, snapshot, status, foreign, index, ohlcv, odd_lot, giá khớp dự kiếnChỉ số dự kiến (nguồn không phát trong phiên ATC 04/11/2026)
tcbsCó04/11/2026, trong giờ giao dịchbid, 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_15mbase_price (chỉ đầu phiên), put_through phần chào mua bán (ít khi có)
binanceCó04/11/2026trade, agg_trade, kline, book_ticker, ticker, mini_ticker, ticker_window, depth, diff_depth, avg_price, all_mini_ticker, all_ticker_windowblock_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ếuKết quả
04/11/2026Lõ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/2026Nế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ềuTrùng tuyệt đối 74/74 phút trọn (mở, cao, thấp, đóng, khối lượng, giá trị)
04/11/2026Lệnh khớp kênh trade của ssi với lệnh khớp của dnseCù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/2026Chỉ số và khối ngoại của dnse và ssiTrù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/2026Nến tự dựng và nến ohlc_closed của dnse27/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/2026Ba phiên dnse, ssi, binance chạy cùng lúc, ghi chung một thư mục gốcKhông lỗi giải mã, mục lục đủ mục
04/11/2026Lệnh khớp kênh match_history và history_1m của tcbs với lệnh khớp của dnseSá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/2026Khối ngoại, chỉ số, mua bán chủ động theo phút của tcbs và dnseKhố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/2026Nến 1 phút dựng từ tcbs và từ dnse20/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/2026Bố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ốcKhô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/2026Nến 1 phút tự dựng từ binance và nến kline_1m của BinanceTrùng tuyệt đối ở 4/4 phút trọn
04/11/2026Giá khớp dự kiến của dnse và ssi trong phiên ATCGiá cuối của cả hai nguồn bằng giá ATC thật ở 5/5 mã
04/11/2026Nến 1 phút dnse và ssi qua phiên ATCTrùng tuyệt đối 25/25 phút, gồm nến ATC
04/11/2026Nến 1 phút nạp sau phiên (run ohlcv --interval 1m) với nến dựng từ streamTrù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ênh match còn gửi lặp: khoảng 39% thông điệp không làm tổng tăng, và được đánh replay = true. Cần từng lệnh có giờ khớp thì dùng history_1m (cổ phiếu) hoặc match_history.
    • Kênh match_history chỉ 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.
  • 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ệ 6Lý 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 OLEChư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 sangThế 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ácChạ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ẵnKê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ẵnstream run binance …, đủ các họ kênh của mẫu cũ
Stream của fhsc, fmpChư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 vnstock 6 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.
  • 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.