Vnstock Logo

Tải dữ liệu bằng vnstock

Mở rộng

Mục lục

vnstock_quant không truy xuất dữ liệu: bạn đưa bảng pandas vào. Khi đã cài vnstock thế hệ 5 cùng môi trường, mỗi nhóm hàm có một điểm vào tải dữ liệu đúng dạng cần dùng. Dữ liệu tải qua vnstock tính vào hạn mức chung của tài khoản theo quy tắc của vnstock; phần tính toán sau đó chạy trên máy và không tốn hạn mức.

Shell
pip install -U --extra-index-url https://vnstocks.com/api/packages "vnstock_quant[vnstock]"

Thiếu vnstock thế hệ 5 thì các điểm vào dưới đây báo DependencyError với lệnh cài trong action.


Điểm vào theo nhóm hàm

Cần gìGọiTrả vềMức
Nến cho chỉ báo kỹ thuậtta.from_vnstock(symbol, start, end, interval="1D")Indicator đã nạp nến, tính ngay đượcỔn định
Lợi suất của mã và chỉ số tham chiếurisk.from_vnstock(symbol, benchmark="VNINDEX", start)DataFrame hai cột returns, benchmark, căn theo ngày chungThử nghiệm
Báo cáo tài chính, giá và số cổ phiếu cho chỉ số tài chínhfa.Dataset.load(symbols, period="both")Dataset cho fa.ratios()Thử nghiệm
Giá đã điều chỉnh theo sự kiện quyềnprices.from_vnstock(symbol, start)OHLCV đơn vị đồng, bảng hệ số trong attrs["factors"]Thử nghiệm
Nến cho backtestMarket().equity(symbol).ohlcv(start, end) của vnstockBảng nến đưa thẳng vào backtest.run()Thử nghiệm
Dữ liệu khớp lệnh cho vi cấu trúcMarket().equity(symbol).trades(limit=1000) của vnstockBảng tick cho micro.bars()Thử nghiệm

Cột Mức là mức ổn định của nhóm hàm nhận dữ liệu đó: nhóm thử nghiệm còn có thể đổi tên hàm, tham số và cấu trúc kết quả giữa các bản phát hành. Xem mức độ ổn định của từng nhóm hàm.

Python
from vnstock_quant import fa, prices, risk, ta

ind = ta.from_vnstock("HPG", start="2024-01-01", end="2024-12-31")
rsi = ind.rsi(length=14)

data = risk.from_vnstock("FPT", benchmark="VNINDEX", start="2022-01-01")
beta = risk.beta(data["returns"], data["benchmark"])

ds = fa.Dataset.load(["FPT", "VCB"])
roe = fa.ratios(ds, ids=["RT_PRT_ROE"])

bars = prices.from_vnstock("FPT", start="2019-01-01")     # giá đã điều chỉnh, đơn vị đồng

Backtest và vi cấu trúc nhận bảng thô của vnstock:

Python
from vnstock import Market
from vnstock_quant import backtest as bt, micro

df = Market().equity("FPT").ohlcv(start="2021-01-01", end="2026-09-30")
res = bt.run(df, entries=df["close"] > df["close"].rolling(200).mean(), exits=df["close"] < df["close"].rolling(50).mean())

ticks = Market().equity("FPT").trades(limit=1000)
m1 = micro.bars(ticks, by="time", size="1min")

Điều cần biết trước khi tải

Chủ đềChi tiết
Đơn vị giáohlcv() trả giá tính bằng nghìn đồng; trade_history() và prices.from_vnstock trả đồng. backtest.run có price_unit="auto" để nhận ra; prices.adjust có unit="auto". Trong một phiên làm việc hãy giữ một đơn vị.
Chuỗi dàivnstock trả tối đa 1.000 phiên hoặc 1.000 lệnh mỗi lần gọi. risk.from_vnstock và prices.from_vnstock tự tải theo cửa sổ ba năm; với ohlcv() bạn tự chia khoảng ngày.
Số mã mỗi lần tải báo cáo tài chínhCộng đồng 3, Bronze 100, Silver 400, Golden và Diamond toàn thị trường; vượt thì TierRequiredError với mã QUANT_SCOPE_LIMIT.
Giá chưa điều chỉnh cho chỉ số định giáCần cấp quyền sử dụng của vnstock. Bản Cộng đồng gọi Dataset.load(..., prices=False); P/E, P/B khi đó báo MISSING_MARKET ở cột reason.
Dữ liệu đã điều chỉnh hay chưaohlcv() là giá đã điều chỉnh theo nguồn; trade_history() là giá thô kèm giá tham chiếu, trần, sàn. Muốn kiểm từng sự kiện quyền thì đi đường prices.
Hạn mức chungMỗi lần tải là lượt gọi của vnstock; Dataset.load() tải nhiều bảng cho mỗi mã. Xem mức còn lại ở trang tài khoản.

Khi làm việc lặp lại trên cùng dữ liệu, lưu bảng ra đĩa hoặc để vnstock_pipeline lưu vào kho rồi đọc lại; vnstock_quant nhận DataFrame từ bất kỳ nguồn nào bạn đã chuẩn bị.


Đọc tiếp