Vnstock Logo

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

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, ghi rõ số phiên bản như ở trang Cài đặt. Bản đang phát hành chính thức là v0.5.0, xem tài liệu bản đó.

vnstock_quant không truy xuất dữ liệu: bạn đưa bảng pandas vào, hoặc gọi một điểm vào tải dữ liệu qua vnstock 6. vnstock 6 đọc Open API của nguồn bằng khoá của chính bạn; dữ liệu đi thẳng từ nguồn tới máy bạn. Phần tính toán sau đó chạy trên máy.

Trước khi tải: cất khoá của nguồn và chọn nguồn, xem Cài đặt và thiết lập.


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

Cần gìGọiLoại dữ liệu của vnstockTình trạng
Nến cho chỉ báo kỹ thuậtta.from_vnstock(symbol, start, end, interval="1D", source=None)market.equity.ohlcvChạy
Lợi suất của mã và chỉ số tham chiếurisk.from_vnstock(symbol, benchmark="VNINDEX", start, end, source=None)market.equity.ohlcv, market.index.ohlcvChạy; chỉ số tham chiếu tải cùng nguồn với mã
Báo cáo tài chính cho chỉ số tài chínhfa.Dataset.load(symbols, period="both", source=None, price_source=None, estimate_shares=False)fundamental.equity.*, market.equity.daily_statsChạy; định giá tắt mặc định, xem Chỉ số tài chính
Giá đã điều chỉnh theo sự kiện quyềnprices.from_vnstock(symbol, start, end, source=None, events_source=None)market.equity.daily_stats, reference.events.calendarTạm tắt, xem Giá điều chỉnh
Nến cho backtestMarket().equity(symbol).ohlcv(start, end, source=...) của vnstockmarket.equity.ohlcvChạy; giá đã điều chỉnh, không khai corporate_actions
Dữ liệu khớp lệnh cho vi cấu trúcMarket().equity(symbol).trades(source=...) của vnstockmarket.equity.tradesChạy; có nguồn không gửi phiên ATO, ATC

Mỗi loại dữ liệu có danh sách nguồn đọc được riêng, và danh sách này đổi theo bản vnstock. Tra ngay trên máy:

Python
import vnstock

for route in ("market.equity.ohlcv", "fundamental.equity.income_statement",
              "market.equity.daily_stats", "market.equity.trades", "reference.events.calendar"):
    print(route, vnstock.sources.readers(route))
Python
from vnstock_quant import fa, risk, ta

ind = ta.from_vnstock("HPG", start="2024-01-01", end="2024-12-31", source="<nguồn giá>")
rsi = ind.rsi(length=14)

data = risk.from_vnstock("FPT", benchmark="VNINDEX", start="2022-01-01", source="<nguồn giá>")
beta = risk.beta(data["returns"], data["benchmark"])

ds = fa.Dataset.load("FPT", source="<nguồn BCTC>", price_source="<nguồn giá>")
roe = fa.ratios(ds, ids=["RT_PRT_ROE"])

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

Python
import vnstock
from vnstock_quant import backtest as bt, micro

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

ticks = vnstock.Market().equity("FPT").trades(source="<nguồn khớp lệnh>", compat="v6", floating=None)
m1 = micro.bars(ticks, by="time", size="1min")

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

Chủ đềChi tiết
Không có nguồn mặc địnhThiếu source= và chưa đặt quy tắc thì gặp VNSTOCK_INPUT_SOURCE. Chọn nguồn không đọc được loại dữ liệu đó thì gặp VNSTOCK_ROUTE_UNSUPPORTED, kèm tên nguồn đọc được.
Hồ sơ cộtCác điểm vào của vnstock_quant luôn đọc hồ sơ v5 và floating=None (giữ nguyên độ chính xác của giá), bất kể vnstock.compat đang đặt gì. Bảng bạn tự tải thì hồ sơ nào cũng đưa vào được.
Đơn vị giáohlcv() trả giá theo nghìn đồng; trade_history() hồ sơ v5 trả đồng. backtest.run có price_unit="auto", prices.adjust có unit="auto".
Giá đã điều chỉnhĐo ngày 06/11/2026: cả ohlcv() lẫn trade_history() của các nguồn hiện có trả giá đã điều chỉnh cho mọi phiên trước sự kiện quyền gần nhất. Dùng thẳng cho ta, risk, portfolio, backtest. Không dùng làm giá gốc: prices từ chối, fa bỏ khỏi định giá.
Chuỗi dàirisk.from_vnstock và các hàm tải chuỗi dài của thư viện tự tải theo cửa sổ ba năm; với ohlcv() bạn tự chia khoảng ngày nếu nguồn giới hạn số phiên mỗi lần gọi.
Không có số cổ phiếu theo ngàyOpen API không có cột total_shares, market_cap. Định giá cần bạn tự đưa số cổ phiếu, hoặc bật estimate_shares=True.
Không có thuyết minh BCTCChỉ số ngân hàng cần dòng NT_* trả MISSING_INPUT.
Tần suất gọiKhông có hạn mức lượt gọi; mỗi nguồn tự giới hạn tần suất. Tải báo cáo tài chính nhiều mã liền nhau có thể gặp VNSTOCK_SOURCE_RATE_LIMITED. Xem Tần suất gọi của nguồn.
Bảng thử nghiệmvnstock 6 đánh dấu BCTC, giá theo phiên và lịch sự kiện qua Open API là thử nghiệm. vnstock_quant nhắc một lần mỗi tiến trình; hãy đối chiếu với báo cáo gốc hoặc thông báo của sở trước khi dùng cho quyết định.

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