Cài đặt và thiết lập
Mục lục
Nội dung trang này giữ nguyên từ bản v0.5.0, chưa viết riêng cho free: ví dụ chạy được nếu tên hàm không đổi. Bản gốc: /docs/vnstock_quant/bat-dau/cai-dat-va-thiet-lap.
vnstock_quant có gói cài đặt dựng sẵn cho Python 3.10 trở lên. Bạn cài bằng pip; không cần tự biên dịch phần lõi Rust.
Cài đặt gói
Cài trong cùng môi trường Python với vnstock: ~/.venv trên macOS và Linux, $HOME\.venv trên Windows. Trên Google Colab hoặc GitHub Codespaces, dùng môi trường đang chạy. Xem Cài đặt vnstock nếu bạn cần tạo môi trường hoặc vẫn còn bản 4.x. Các lệnh dưới đây giả định môi trường đã được kích hoạt.
# Cài đặt thư viện tính toán vnstock_quant
pip install -U --extra-index-url https://vnstocks.com/api/packages vnstock_quant
# Hoặc cài đặt kèm luôn thư viện vnstock để tự động tải dữ liệu trực tiếp
pip install -U --extra-index-url https://vnstocks.com/api/packages "vnstock_quant[vnstock]"Thêm --extra-index-url https://vnstocks.com/api/packages để pip tìm được thư viện trong kho phát hành của Vnstock. Nếu máy đã có vnstock thế hệ 5 và bạn đã chạy vnstock register, bạn cũng có thể cài bằng vnstock install vnstock_quant.
Yêu cầu môi trường
- Hệ điều hành: macOS 10.12 trở lên trên chip Intel (x86_64), macOS 11 trở lên trên chip Apple Silicon (arm64); Linux x86_64 và aarch64 dùng glibc 2.17 trở lên (chuẩn manylinux2014).
- Phiên bản Python: Python 3.10 trở lên (một bản dựng dùng chung cho mọi phiên bản từ 3.10).
- Thư viện nền tảng:
numpy>=1.24,pandas>=2.0(tự động cài đặt khi chạy pip).
Kiểm tra trạng thái cấp quyền và bản phát hành
Sau khi cài, gọi vq.entitlement() để xem cấp quyền và nhóm hàm bạn có thể dùng. Việc kiểm tra này chạy trên máy và không trừ lượt tính:
import vnstock_quant as vq
# Kiểm tra cấp quyền sử dụng, tính năng mở khoá và số lượt dùng thử còn lại
status = vq.entitlement()
print(status)Ví dụ kết quả với tài khoản gói Diamond:
{'tier': 'diamond', 'active': True,
'features': ['ta_basic', 'ta', 'fa_basic', 'fa', 'fa_advanced', 'risk', 'portfolio',
'bt_basic', 'bt', 'bt_portfolio', 'bt_optimize'],
'policy_version': 'quant_entitlement_v3', 'trial': None,
'backtest': {'budget': 'vnstock_bt', 'trial': None,
'quota': {'portfolio_symbols': 400, 'sweep_tasks': 50000, 'monte_carlo_paths': 100000}},
'error': None,
'release': {'package': 'vnstock_quant', 'version': '0.5.0', 'pre_release': False,
'build_date': '2026-10-27', 'expires_at': '2027-10-27T15:19:01+00:00', 'days_left': 365,
'policy_issued_at': '2026-10-26T08:23:25.699+00:00',
'offline_deadline': '2027-10-31T00:00:00+00:00', 'warning': None, 'error': None}}Kết quả gồm:
tier: Cấp quyền sử dụng hiện tại nhận diện được trên máy (guestkhi chưa đăng nhập,free,bronze,silver,golden,diamond). LàNonekhi không kiểm tra được quyền; lý do nằm ởerror.active:Truekhi quyền sử dụng đang còn hiệu lực.features: Danh sách các nhóm tính năng đang được phép sử dụng (ta_basic,ta,fa_basic,fa,fa_advanced,risk,portfolio; mô hình định giá dùng chung quyềnportfolio;bt_basic,bt,bt_portfolio,bt_optimizecủa mô-đun backtest). Ý nghĩa từng nhóm và cấp mở: Quyền dùng và hạn mức.policy_version: Phiên bản bộ quy tắc cấp quyền mà bản cài này áp dụng.trial: Với bản Cộng đồng, từ điển này cho biết tổng số lượt dùng thử trong ngày (daily), số lượt đã dùng (used), số lượt còn lại (remaining), số mã tối đa mỗi lần tải (max_symbols) và thời điểm làm mới (resets_at). Với gói quyền sử dụng không giới hạn lượt, giá trị làNone.backtest: Phần riêng của mô-đun backtest:trial(lượt backtest trong ngày, tách khỏitrialở trên),quota(quy mô một lần chạy theo cấp) vàbudget(tên dòng ngân sách trên máy chủ). Xem Cấp quyền và xử lý lỗi.error:Nonekhi kiểm tra quyền thành công; nếu không, là bộ(code, kind, message, action)mô tả lỗi.release: Thông tin hạn dùng của bản đang cài:package,version: tên gói và phiên bản.pre_release: có phải bản thử không.build_date,expires_at,days_left: ngày dựng, ngày hết hạn và số ngày còn lại.policy_issued_at: thời điểm phát hành của chính sách vòng đời mà máy chủ gửi về và đang áp dụng;Nonekhi chưa đọc được chính sách nào và hạn dùng được tính theo ngày dựng.offline_deadline: sau thời điểm này, bản cài không đọc được chính sách nào từ máy chủ sẽ ngừng chạy.warning: thông báo về hạn dùng khi gần tớiexpires_at,Nonekhi chưa tới lúc thông báo.error: lý do bản phát hành không được chạy (đã hết hạn hoặc đã bị tắt),Nonekhi bình thường.
Nếu cần biết thông tin bản dựng của phần lõi, gọi:
# Xem thông tin biên dịch lõi Rust
info = vq.build_info()
print(info)
# {'version': '0.5.0', 'test_entitlement': False, 'ta_methods': 58, 'fa_ratios': 100,
# 'fa_registry': 'fa_v1', 'risk_measures': 33, 'portfolio_functions': 38, 'micro_functions': 5,
# 'backtest_tools': 10}Đọc tiếp
- Quyền dùng và hạn mức — Nhóm tính năng nào mở ở cấp nào, lượt dùng thử và quy mô mỗi lần chạy.
- Quy ước dữ liệu và lỗi — Dạng dữ liệu đầu vào, cây ngoại lệ, mã lỗi và quy ước phương pháp luận.
- Tải dữ liệu bằng vnstock — Điểm vào tải dữ liệu cho từng nhóm hàm.
- Chỉ báo kỹ thuật — Bắt đầu tính toán với 58 chỉ báo kỹ thuật.
