Vnstock Logo

Lệnh vnstock-quant

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_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, dùng lệnh tại trang Cài đặt để chọn đúng dòng phiên bản. Bản đang phát hành chính thức là v0.5.0, xem tài liệu bản đó.

Nguồn của bạn

Chọn nguồn bạn có khoá, mã trên trang sẽ điền theo. Chưa chọn thì mã giữ chỗ trống <nguồn>. Nguồn xếp theo bảng chữ cái, không phải khuyến nghị.

vnstock_quant cài kèm lệnh vnstock-quant để làm quen với thư viện và kiểm tra máy mà không phải viết mã: xem cấp quyền và hạn dùng, xem nguồn nào đã có khoá, chọn nguồn, tra danh mục hàm, chạy ví dụ, gọi thử công cụ JSON. Các phép tính vẫn chạy bằng chính thư viện trên máy bạn, với cùng bước kiểm tra quyền như khi gọi hàm Python.

Có từ bản 1.0.0rc2

Lệnh vnstock-quant có từ bản 1.0.0rc2. Ở bản 1.0.0rc1, dùng các hàm Python tương ứng: vq.entitlement(), vq.build_info(), catalog(), schema(), call() của từng nhóm hàm.


Mở giao diện tương tác

Gõ vnstock-quant không kèm lệnh nào trong terminal (hoặc python -m vnstock_quant):

Text
╭─ vnstock-quant 1.0.0rc2 ───────────────────────────╮
│ vnstock 6.0.0rc3 · cấp quyền free                  │
│ Hạn dùng của bản cài: còn 29 ngày (đến 2026-12-06) │
│ Nguồn có khoá: chưa có                             │
│                                                    │
│ Tiếp theo: onboard  làm quen từng bước             │
│                                                    │
│ help  xem lệnh     exit  thoát                     │
╰────────────────────────────────────────────────────╯
vnstock-quant ❯

Gõ tên lệnh, có hoặc không có dấu /; phím Tab gợi ý tên lệnh (trên macOS và Linux); gõ sai tên thì giao diện gợi ý lệnh gần nhất. Một lệnh lỗi không đóng giao diện. Gõ exit để thoát.

Làm quen từng bước

Gõ onboard trong giao diện để đi qua năm bước:

  1. Kiểm tra máy: phiên bản, cấp quyền, nhóm hàm được mở, hạn dùng của bản cài.
  2. Khoá của nguồn dữ liệu: nếu máy chưa có khoá nào, giao diện hỏi rồi chạy vnstock keys set <nguồn>. Khoá được gõ vào ô nhập của chính lệnh vnstock, không đi qua vnstock_quant. Không có khoá vẫn tính được trên bảng pandas của bạn.
  3. Chọn nguồn mặc định: bảng cho biết từng loại dữ liệu đọc được từ nguồn nào và nguồn nào đã có khoá. Bạn nêu một hay nhiều nguồn theo thứ tự ưu tiên, hoặc nhấn Enter để bỏ qua và truyền source= mỗi lần gọi.
  4. Chạy thử một ví dụ chỉ báo kỹ thuật trên bảng giá tự sinh, không cần mạng.
  5. Đọc tiếp: đường dẫn tới tài liệu cài đặt, mức hoàn thiện và chuyển đổi từ bản 0.5.

Bước 3 ghi quy tắc vào tệp sources.json trong thư mục trạng thái của vnstock (mặc định ~/.vnstock), giống như gọi vnstock.sources.use. Gõ sources clear để bỏ quy tắc.


Các lệnh

Mọi lệnh chạy được trong giao diện hoặc gõ thẳng sau vnstock-quant. Thêm --json để script và trợ lý AI đọc kết quả.

NhómLệnhViệc làm
Bắt đầuonboardTrong giao diện: làm quen từng bước. Gõ thẳng hoặc có --json: trạng thái máy, quy tắc khi dùng, việc nên làm tiếp
statusPhiên bản, cấp quyền, hạn dùng của bản cài, nguồn có khoá, dữ liệu cần cho từng nhóm hàm
doctor [--live]Máy này đã sẵn sàng chưa, kèm cách sửa; --live gọi thử dữ liệu thật qua vnstock 6
Dữ liệusources [use <nguồn>… | clear]Nguồn đọc được từng loại dữ liệu; chọn hoặc bỏ nguồn mặc định
Tính toáncatalog [nhóm] [tên]Danh mục hàm của ta, fa, risk, micro, portfolio, backtest; nêu tên để xem chi tiết
example [chủ đề] [--run]In ví dụ cho từng nhóm hàm; --run chạy luôn
Gọi bằng JSONtools [tên]15 công cụ backtest và 38 hàm danh mục; nêu tên để xem tham số
call <tên> [tham_số=giá_trị …]Gọi thử một công cụ; giá trị được đọc như JSON khi được
Cài đặttelemetry [on | off]Xem, bật, tắt việc đếm lượt dùng trên máy này
docs [chủ đề]Đường dẫn tài liệu trên vnstocks.com

Lệnh tài khoản và khoá nguồn thuộc lệnh vnstock: vnstock login, vnstock keys set <nguồn>, vnstock auth, vnstock update. Gõ chúng trong giao diện của vnstock-quant thì giao diện chạy lệnh vnstock tương ứng; gõ vnstock-quant keys … ngoài giao diện thì lệnh chỉ đường sang vnstock.


Kiểm tra máy

Shell
vnstock-quant doctor
Text
[OK  ] Python 3.11.14 (cần >= 3.10)
[OK  ] Lõi tính toán vnstock_quant 1.0.0rc2 nạp được
[OK  ] Hạn dùng của bản cài: còn 29 ngày (đến 2026-12-06)
[OK  ] Cấp quyền free: mở ta_basic, fa_basic, bt_basic
[OK  ] vnstock 6.0.0rc3, vnstock-oapi 0.1.0rc2
[WARN] Nguồn có khoá: chưa có
[INFO] Cất khoá trong terminal: vnstock keys set <nguồn>. Xem: vnstock-quant sources
...
[OK  ] Phép tính thử SMA trên dữ liệu tự sinh chạy được (tính một lượt ở bản Cộng đồng)
[INFO] Thêm --live để gọi thử dữ liệu thật qua vnstock 6

Môi trường sẵn sàng.

doctor kiểm tra phiên bản Python, lõi tính toán, hạn dùng của bản cài, cấp quyền, bản vnstock (phải là thế hệ 6), nguồn có khoá và nguồn đọc được từng loại dữ liệu, rồi chạy một phép tính thử. Với --live, lệnh tải nến của một mã qua nguồn có khoá đọc được nến cổ phiếu để thử cả đường tải dữ liệu. Lệnh trả mã thoát 1 khi có mục FAIL, nên dùng được trong script.

status cho cùng thông tin dưới dạng tóm tắt; status --json trả nguyên các trường, gồm cả phần release của vq.entitlement().


Chọn nguồn

Shell
vnstock-quant sources                                  # nguồn đọc được từng loại dữ liệu, nguồn nào có khoá
vnstock-quant sources use <nguồn A> <nguồn B>          # mọi loại dữ liệu, A trước, B dự phòng
vnstock-quant sources use <nguồn C> --route "fundamental.equity.*"
vnstock-quant sources clear                            # bỏ mọi quy tắc

Mỗi loại dữ liệu có danh sách nguồn đọc được riêng. Một quy tắc chỉ có một nguồn sẽ không có nguồn mặc định cho các loại dữ liệu nguồn đó không đọc được, ví dụ báo cáo tài chính hay lịch sự kiện quyền. Nêu nhiều nguồn theo thứ tự ưu tiên thì vnstock dùng nguồn đầu tiên đọc được từng loại. Sau khi chọn, lệnh in lại bảng kèm nguồn mặc định của từng loại dữ liệu để bạn kiểm tra. Chi tiết quy tắc: Chọn nguồn.


Danh mục hàm và ví dụ

Shell
vnstock-quant catalog                  # số hàm của từng nhóm
vnstock-quant catalog ta               # 58 chỉ báo
vnstock-quant catalog fa RT_PRT_ROE    # cách tính, đơn vị, mẫu biểu, cấp mở
vnstock-quant example                  # các chủ đề ví dụ
vnstock-quant example backtest --run   # in mã rồi chạy
Chủ đềNội dungCần mạng
taChỉ báo kỹ thuật trên bảng giá của bạnKhông
riskRủi ro và hiệu suất của chuỗi lợi suấtKhông
portfolioLợi suất tài khoản có nạp rútKhông
valuationChiết khấu cổ tức, lợi suất ngầm địnhKhông
backtestChạy thử chiến lược theo luật thị trường Việt NamKhông
microNến theo thời gian từ dữ liệu khớp lệnhKhông
pricesĐiều chỉnh bảng giá gốc theo sự kiện quyềnKhông
jsonGọi công cụ bằng JSON, như trợ lý AI gọiKhông
dataTải nến qua vnstock 6 rồi tính chỉ báoCó, cần khoá nguồn
faTải BCTC qua vnstock 6 rồi tính chỉ sốCó, cần khoá nguồn

Ví dụ không cần mạng dùng dữ liệu tự sinh; mã in ra chép được vào notebook rồi thay bằng bảng của bạn. Với hai ví dụ cần mạng, --run dùng nguồn mặc định bạn đã chọn, hoặc nguồn có khoá đầu tiên đọc được loại dữ liệu đó. Chạy ví dụ tính lượt như gọi hàm: ở bản Cộng đồng, mỗi phép tính trừ vào 30 lượt mỗi ngày, và ví dụ của nhóm hàm cấp của bạn chưa mở sẽ báo lỗi cấp quyền kèm cách nâng cấp.


Công cụ JSON

Shell
vnstock-quant tools                    # 15 công cụ backtest, 38 hàm danh mục
vnstock-quant tools twr                # tham số, dấu * là bắt buộc
vnstock-quant call list_profiles       # hồ sơ thị trường; công cụ list_* không tính lượt
vnstock-quant call twr 'dates=[0,152,366]' 'values=[100e6,112e6,150e6]' 'flows=[0,30e6,0]'

Đặt tham số có dấu ngoặc vuông trong dấu nháy, vì zsh và bash đọc [...] như mẫu tên tệp. call đi qua cùng backtest.call và portfolio.call của thư viện, nên kết quả và mã lỗi giống hệt lời gọi JSON từ Python hay từ máy chủ MCP. Quy ước của lời gọi JSON: Gọi bằng JSON và MCP.


Cho trợ lý AI

Shell
vnstock-quant onboard --json

Kết quả gồm giới thiệu ngắn về thư viện, trạng thái máy (phiên bản, cấp quyền, nhóm hàm được mở, nguồn có khoá, hạn dùng), các quy tắc khi dùng, việc nên làm tiếp và danh sách lệnh. Các quy tắc gồm: lấy số bằng hàm của thư viện thay vì từ trí nhớ; không xin, không đọc, không ghi khoá của nguồn; không tự chọn nguồn thay người dùng; không dùng giá tải qua vnstock 6 làm giá gốc; không tự điền số cổ phiếu cho chỉ số định giá; kết quả không phải khuyến nghị đầu tư. Các lệnh khác có --json cũng trả cùng dữ liệu với bản chữ.

Lệnh chỉ đọc xem nguồn nào đã có khoá; nó không in, không đọc và không gửi khoá đi đâu.


Đếm lượt dùng

Shell
vnstock-quant telemetry        # trạng thái
vnstock-quant telemetry off    # tắt trên máy này cho mọi thư viện vnstock

Việc đếm chỉ chạy khi tài khoản của bạn đã bật trên vnstocks.com, và không gửi mã chứng khoán, số liệu, đường dẫn hay nội dung lỗi. Chi tiết: Quyền dùng và hạn mức.


Đọc tiếp