Lớp kiểu cũ và mô-đun theo nguồn
Mục lục
Trang này dành cho bạn đang có mã viết cho vnstock 4.x hoặc vnstock_data 3.x. Mỗi lớp kiểu cũ trong
thế hệ 5 chuyển lời gọi sang một hàm của giao diện hợp nhất. Bảng dưới mỗi lớp cho biết hàm cũ gọi tới
hàm mới nào, để bạn biết nó trả gì, cần cấp nào và khi nào nên chuyển. Mã mới nên gọi thẳng giao diện
hợp nhất (xem Kiến trúc thư viện).
Tóm tắt
| Tên | Import | Tình trạng |
|---|---|---|
Quote, Listing, Company, Finance, Trading | from vnstock import ... hoặc from vnstock.api import ... | Chạy, không có ngày ngừng |
TopStock | from vnstock import TopStock hoặc vnstock.api | Chạy tới hết 31/12/2026, có FutureWarning |
Fund | from vnstock import Fund | Chạy tới hết 06/04/2027, có FutureWarning |
vnstock.api.Market | from vnstock.api import Market | Chạy tới hết 31/12/2026, có FutureWarning |
vnstock.api.Macro | from vnstock.api import Macro | Đã ngừng: mọi hàm báo VNSTOCK_FEATURE_REMOVED |
vnstock.explorer.vci, .kbs, .mas, .asean, .cafef | from vnstock.explorer.vci import Quote | Chạy, có DeprecationWarning, không có ngày ngừng |
vnstock.explorer.misc | from vnstock.explorer.misc import vcb_exchange_rate | vcb_exchange_rate chạy; btmc_goldprice đã ngừng |
vnstock.explorer.msn | Còn tên, mọi hàm báo chưa hỗ trợ | |
vnstock.explorer.fmarket | Không còn | |
Vnstock, INDICES_INFO, register_user… của 4.x | Đã bỏ, báo lỗi kèm tên thay thế |
vnstock.api.Market khác vnstock.Market: cái đầu là lớp định giá P/E, P/B kiểu cũ của vnstock_data,
cái sau là lớp Market của giao diện hợp nhất. from vnstock import Market luôn là lớp mới.
Quy tắc chung
Cấp tài khoản. Lớp kiểu cũ dùng chung cấp quyền với hàm mới mà nó gọi tới. Cột "Cấp" trong các bảng
dưới theo đúng hàm mới đó, với nguồn vci hoặc kbs. Chọn nguồn vnd, mas, asean, cafef thì cần
cấp tài trợ ở mọi hàm. Mức cụ thể ở Cấp quyền và giới hạn.
Nguồn. Mỗi lớp chỉ nhận một số nguồn, ghi ở từng lớp. Nguồn không nằm trong danh sách thì nhận
ValueError ngay lúc tạo lớp. Nguồn đã ngừng (fmarket, mbk…) thì nhận UnsupportedError mã
VNSTOCK_FEATURE_REMOVED, kèm nguồn dùng thay:
`source='mbk'` đã ngừng hỗ trợ từ vnstock 5.0.0a3 và không còn trả dữ liệu. Dùng nguồn khác: source='vci'.Tên cột. Các lớp trong vnstock.api trả cột như bản vnstock_data 3.x đã trả, ví dụ organ_name,
officer_name, sàn viết HSX. Cột nào bản cũ có mà thế hệ 5 chưa có thì bị bỏ hẳn, không điền giá trị
đoán. Giao diện hợp nhất trả bộ cột chuẩn hoá, giống nhau giữa các nguồn.
Tham số truyền qua *args, **kwargs.
Quote: đối số theo vị trí được đọc theo thứ tự của bản cũ. Đối số đầu là ngày ("2026-10-01") thì theo thứ tựvnstock_data(start, end, interval, to_df, show_log, count_back, floating, length). Đối số đầu là mã thì theo thứ tự 4.x (symbol, start, end, interval). Tham số theo tên còn lại chuyển thẳng tới hàm mới, nên các tham số của hàm mới nhưlimit=dùng được. Tham số hàm mới không có thì bị bỏ qua, không báo lỗi.Company,Listing: tham số theo tên chuyển thẳng tới hàm mới,sourcelấy của lớp nếu bạn không ghi.Finance: đọcperiod,langtheo vị trí;dropnacủa 4.x đổi thànhdrop_empty;get_all,show_log,display_modebị bỏ qua.Trading: chỉ đọc tham số theo tên. Đối số theo vị trí bị bỏ qua, trừprice_board.- Hàm lớp kiểu cũ không khai báo nhưng mô-đun theo nguồn có thì vẫn gọi được: lớp chuyển lời gọi sang lớp
cùng tên trong
vnstock.explorer.<nguồn>. Ví dụListing(source="vci").search_symbol("FPT")chạyvnstock.explorer.vci.Listing().search_symbol("FPT").
Chưa hỗ trợ và đã ngừng là hai việc khác nhau. Hàm báo UnsupportedError mã
VNSTOCK_ROUTE_NOT_MIGRATED hoặc VNSTOCK_ROUTE_NOT_FROZEN là hàm thế hệ 5 chưa làm. Hàm báo
VNSTOCK_FEATURE_REMOVED là hàm đã gỡ có chủ đích và sẽ không quay lại.
Quote
Quote(source: str = "KBS", symbol: str = "", random_agent: bool = False, show_log: bool = False)Nguồn nhận: vci, kbs (mặc định), vnd, mas, asean. Mỗi hàm nhận symbol= để đổi mã cho riêng
lời gọi đó.
| Phương thức | Gọi tới | Cấp |
|---|---|---|
history(...) | Market().equity(symbol).ohlcv(...) | Mọi cấp |
intraday(...) | Market().equity(symbol).trades(...) | Mọi cấp |
price_depth(...) | Nguồn vci, kbs: Market().equity(symbol).volume_profile(), cột như bản cũ. Nguồn khác: Market().equity(symbol).order_book() | Tài trợ |
history giữ nghĩa cũ của length: một con số (90 hay "90") là số ngày lịch lùi lại từ end (mặc
định hôm nay), và bị bỏ qua khi có start. "3M" là ba tháng, "100b" là 100 nến. Trong hàm mới
ohlcv(), một con số là số nến. resolution của 4.x được đọc như interval.
from vnstock import Quote
df = Quote(symbol="FPT", source="vci").history(start="2026-10-01", end="2026-10-09") # kiểu vnstock_data
df = Quote(source="kbs").history("FPT", "2026-10-01", "2026-10-09") # kiểu 4.x
df = Quote(symbol="FPT", source="vci").history(length="3b") # 3 nến gần nhấtChạy ngày 10/10/2026, lời gọi đầu trả:
time open high low close volume
0 2026-10-01 07:00:00+07:00 63.0 63.1 62.6 62.7 3434926
1 2026-10-02 07:00:00+07:00 62.7 63.2 62.1 62.1 3199600
2 2026-10-05 07:00:00+07:00 62.2 62.8 61.9 61.9 2513400price_depth() gắn trạng thái phiên vào df.attrs["market_status"], như bản cũ. to_df=False không có
tác dụng ở lớp này: kết quả vẫn là DataFrame.
Listing
Listing(source: str | None = None, random_agent: bool = False, show_log: bool = False)Nguồn nhận: vci, kbs, vnd, cafef, asean, hoặc None. Không ghi nguồn thì các hàm đọc từ kbs,
như bản 4.x.
| Phương thức | Gọi tới | Trả về | Cấp |
|---|---|---|---|
all_symbols() | Reference().equity.list() | symbol, organ_name | Mọi cấp |
symbols_by_exchange() | Reference().equity.list_by_exchange() | Cột như bản cũ của nguồn đó, giữ mọi loại mã | Mọi cấp |
symbols_by_industries() | Reference().equity.list_by_industry() | Cột của nguồn | Mọi cấp |
industries_icb() | Reference().industry.list() | icb_name, en_icb_name, icb_code, level | Mọi cấp |
symbols_by_group(group="VN30") | Reference().equity.list_by_group(group) | Series tên symbol | Mọi cấp |
all_future_indices() | nhóm FU_INDEX | Series | Mọi cấp |
all_covered_warrant() | nhóm CW | Series | Mọi cấp |
all_bonds() | nhóm BOND | Series | Mọi cấp |
all_etf() | nhóm ETF | Series | Mọi cấp |
all_government_bonds() | nhóm FUND_BOND của vci | Series; nguồn khác báo NotImplementedError | Mọi cấp |
all_indices() | Reference().index.list() | 7 cột symbol, name, description, full_name, group, index_id, sector_id | Mọi cấp |
indices_by_group(group) | lọc all_indices() | HOSE, SECTOR, INVESTMENT, VNX hoặc tên đầy đủ; nhóm không có trả None | Mọi cấp |
disclosures() | Chưa hỗ trợ (VNSTOCK_ROUTE_NOT_MIGRATED) |
from vnstock import Listing
Listing().all_symbols().head(3) symbol organ_name
0 TN1 CTCP Rox Key Holdings
1 DDM CTCP Hàng Hải Đông Đô
2 CMT CTCP Công nghệ Mạng và Truyền thôngCompany
Company(source: str = "KBS", symbol: str | None = None, random_agent: bool = False, show_log: bool = False)Nguồn nhận: vci, kbs (mặc định), cafef. Cột trả về theo bản cũ của nguồn đó (officer_name,
share_holder, organ_name…), không theo bộ cột chuẩn hoá của Reference().company(symbol).
| Phương thức | Gọi tới | Cấp |
|---|---|---|
overview(lang="vi") | Reference().company(symbol).overview() | Mọi cấp |
profile() | Reference().company(symbol).info() | Mọi cấp |
shareholders(mode="detailed") | Reference().company(symbol).shareholders(); mode="summary" trả cơ cấu sở hữu | Mọi cấp; summary trên vci: Tài trợ |
officers() | Reference().company(symbol).officers() | Mọi cấp |
subsidiaries() | Reference().company(symbol).subsidiaries() | Mọi cấp |
affiliate() | Reference().company(symbol).affiliate() | Mọi cấp |
events() | Reference().company(symbol).events() | Mọi cấp |
ownership() | Reference().company(symbol).ownership() | Mọi cấp |
capital_history() | Reference().company(symbol).capital_history() | Mọi cấp |
insider_trading() | Reference().company(symbol).insider_trading() | Mọi cấp |
trading_stats(), ratio_summary() | Chưa hỗ trợ (VNSTOCK_ROUTE_NOT_FROZEN) | |
news(), article_detail() | Đã ngừng (VNSTOCK_FEATURE_REMOVED) |
from vnstock import Company
Company(source="vci", symbol="FPT").officers().head(3)Chạy ngày 10/10/2026 (rút gọn cột):
symbol officer_name officer_position officer_own_percent officer_own_quantity
0 FPT Trương Gia Bình Chủ tịch Hội đồng Quản trị 0.0689 117347966
1 FPT Bùi Quang Ngọc Phó Chủ tịch Hội đồng Quản trị 0.0148 25255715
2 FPT Đỗ Cao Bảo Thành viên Hội đồng Quản trị 0.0093 15868500Finance
Finance(source: str, symbol: str, period: str = "quarter", get_all: bool = False, show_log: bool = False)Nguồn nhận: vci, mas, kbs. source và symbol là bắt buộc. period: "quarter" (mặc định) hoặc
"year".
| Phương thức | Gọi tới | Cấp |
|---|---|---|
income_statement(period, lang) | Fundamental().equity(symbol).income_statement() | Mọi cấp |
balance_sheet(period, lang) | Fundamental().equity(symbol).balance_sheet() | Mọi cấp |
cash_flow(period, lang) | Fundamental().equity(symbol).cash_flow() | Mọi cấp |
ratio(period, lang) | Fundamental().equity(symbol).ratio() | Tài trợ |
annual_plan() | Kế hoạch kinh doanh năm, chỉ với source="mas"; nguồn khác báo UnsupportedError | Tài trợ |
note() | Chưa hỗ trợ (VNSTOCK_ROUTE_NOT_MIGRATED) |
Báo cáo trả dạng dài, mỗi dòng một chỉ tiêu một kỳ: period, id, name, order, level, unit, value. Ở cấp
Khách và Cộng đồng, báo cáo rút gọn chỉ gồm chỉ tiêu cấp 1 và giới hạn số kỳ.
from vnstock import Finance
df = Finance(source="vci", symbol="FPT").income_statement(period="year")Trading
Trading(source: str = "KBS", symbol: str = "", random_agent: bool = False, show_log: bool = False)Nguồn nhận: vci, kbs (mặc định), vnd, cafef, asean. symbol để trống thì mọi hàm (trừ
price_board) dùng "VCI", như bản cũ.
| Phương thức | Gọi tới | Cấp |
|---|---|---|
price_board(symbols_list) | Market().quote(symbols). Nguồn vci trả cột thô của nguồn với tiêu đề hai tầng; thêm get_unified=True để lấy cột chuẩn hoá | Mọi cấp |
foreign_trade() | Market().equity(symbol).foreign_flow() | Tài trợ |
prop_trade() | Market().equity(symbol).proprietary_flow() | Tài trợ |
trading_stats(), price_history(), order_stats() | Market().equity(symbol).session_stats() | Tài trợ |
matched_by_price() | Market().equity(symbol).volume_profile() | Tài trợ |
odd_lot(exchange="HOSE") | Market().odd_lot(...) | Tài trợ |
put_through(exchange="HOSE") | Market().put_through(...). Nguồn vci trả cả bảng thoả thuận của sàn; kbs chỉ giữ dòng của mã | Tài trợ |
insider_deal(), side_stats() | Chưa hỗ trợ (VNSTOCK_ROUTE_NOT_FROZEN) |
price_board() gắn trạng thái phiên vào df.attrs["market_status"].
from vnstock import Trading
board = Trading(source="kbs").price_board(["FPT", "VCB"])TopStock
TopStock(source: str = "vnd", **kwargs)Chỉ nhận source="vnd". Tạo lớp là có FutureWarning báo lớp sẽ ngừng hoạt động sau 31/12/2026. Dùng
Insights().ranking thay thế. Mọi hàm cần cấp Tài trợ.
| Phương thức | Gọi tới |
|---|---|
gainer(index="VNINDEX", limit=10) | Insights().ranking.gainer() |
loser(index="VNINDEX", limit=10) | Insights().ranking.loser() |
value(index="VNINDEX", limit=10) | Insights().ranking.value() |
volume(index="VNINDEX", limit=10) | Insights().ranking.volume() |
deal(index="VNINDEX", limit=10) | Insights().ranking.deal() |
foreign_buy(date=None, limit=10) | Insights().ranking.foreign_buy() |
foreign_sell(date=None, limit=10) | Insights().ranking.foreign_sell() |
Năm bảng giá trả 15 cột như bản cũ, có accumulated_value thay cho total_value và không có exchange.
Fund
Fund(symbol: str | None = None, random_agent: bool = False, **kwargs)Chỉ có ở gốc gói (from vnstock import Fund), không có trong vnstock.api. Mỗi hàm có FutureWarning
và chạy tới hết 06/04/2027. Cần cấp Tài trợ.
| Phương thức | Gọi tới |
|---|---|
listing(fund_type="") | Reference().fund.list(fund_type) |
filter(symbol="") | Reference().fund.list(symbol=...) |
top_holding(symbol) | Market().fund(symbol).holdings() |
industry_holding(symbol) | Market().fund(symbol).industry_allocation() |
nav_report(symbol) | Market().fund(symbol).history() |
asset_holding(symbol) | Market().fund(symbol).asset_allocation() |
Cột trả về, các cột bỏ trống và mã số fundId cũ xem ở Dữ liệu quỹ mở.
vnstock.api.Market
from vnstock.api import Market
Market(source: str = "vnd", **kwargs)Định giá chỉ số kiểu cũ. Chỉ nhận source="vnd"; index= chọn chỉ số (mặc định "VNINDEX"). Tạo lớp là
có FutureWarning: lớp chạy tới hết 31/12/2026. Dùng Analytics().valuation(index) thay thế. Cần cấp
Tài trợ.
| Phương thức | Gọi tới | Cột |
|---|---|---|
pe(duration="5Y") | Analytics().valuation(index).pe() | price_to_earnings |
pb(duration="5Y") | Analytics().valuation(index).pb() | price_to_book |
evaluation(duration="5Y") | Analytics().valuation(index).evaluation() | price_to_earnings, price_to_book |
Ngày nằm ở chỉ mục tên reportDate, như bản cũ. Hàm mới giữ ngày ở cột report_date.
price_to_earnings
reportDate
2025-10-10 00:00:00+07:00 15.727986
2025-10-13 00:00:00+07:00 15.893266
2025-10-14 00:00:00+07:00 15.867758vnstock.api.Macro
Đã ngừng. Lớp tạo được với mọi source, nhưng mọi hàm báo UnsupportedError mã VNSTOCK_FEATURE_REMOVED,
kèm hàm thay thế nếu chỉ số đó còn:
| Hàm cũ | Dùng thay |
|---|---|
gdp() | Macro().economy().gdp() |
cpi() | Macro().economy().cpi() |
import_export() | Macro().economy().import_export() |
fdi() | Macro().economy().fdi() |
money_supply() | Macro().economy().money_supply() |
exchange_rate() | Macro().currency().exchange_rate() |
industry_prod(), retail(), interest_rate(), population_labor() | Không còn |
`vnstock.api.Macro().gdp()` đã ngừng hỗ trợ từ vnstock 5.0.0a3 và không còn trả dữ liệu. Dùng vnstock.Macro().economy().gdp().Mô-đun theo nguồn: vnstock.explorer
Lối gọi của vnstock_data.explorer. Mỗi mô-đun ghim sẵn một nguồn, nên các lớp ở đây không nhận
source=. Import vnstock.explorer và tạo phần lớn các lớp báo DeprecationWarning, nêu lớp mới dùng
thay. Chưa có ngày ngừng.
Hàm history, intraday, price_depth và vài hàm khác nhận to_df=False để trả chuỗi JSON thay cho
DataFrame, như bản cũ. Các tham số chỉ để hiển thị hay phân trang của bản cũ (page, get_all,
floating, mode, filter_by…) phần lớn được nhận và bỏ qua; bảng dưới ghi rõ chỗ nào còn tác dụng.
vnstock.explorer.vci
| Lớp · phương thức | Gọi tới (source="vci") | Cấp |
|---|---|---|
Quote(symbol).history(start, end, interval="1D", count_back, length) | Market().equity(symbol).ohlcv(). Không có start thì lùi từ end theo length, rồi theo count_back nến, rồi một năm | Mọi cấp |
Quote(symbol).intraday(page_size=1000, last_time) | Market().equity(symbol).trades() | Mọi cấp |
Quote(symbol).price_depth() | Market().equity(symbol).volume_profile(), cột price, volume, buy_volume, sell_volume, undefined_volume | Tài trợ |
Quote(symbol).price_board(symbols_list) | Market().quote(symbols) | Mọi cấp |
Company(symbol).info(), .profile() | Reference().company(symbol).info() | Mọi cấp |
Company(symbol).overview(), .officers(), .shareholders(), .subsidiaries(), .affiliate(), .events() | Hàm cùng tên của Reference().company(symbol) | Mọi cấp |
Company(symbol).trading_stats(), .ratio_summary() | Chưa hỗ trợ | |
Company(symbol).reports(), .news(), .article_detail() | Đã ngừng | |
Finance(symbol, period).income_statement(), .balance_sheet(), .cash_flow() | Hàm cùng tên của Fundamental().equity(symbol) | Mọi cấp |
Finance(symbol, period).ratio() | Fundamental().equity(symbol).ratio() | Tài trợ |
Finance(symbol).note() | Chưa hỗ trợ | |
Listing().all_symbols() | Reference().equity.list() | Mọi cấp |
Listing().symbols_by_exchange() | Reference().equity.list_by_exchange(), giữ mọi loại mã | Mọi cấp |
Listing().symbols_by_industries() | Reference().equity.list_by_industry() | Mọi cấp |
Listing().industries_icb() | Reference().industry.list() | Mọi cấp |
Listing().symbols_by_group(group="VN30"), .all_future_indices(), .all_government_bonds(), .all_covered_warrant(), .all_bonds(), .all_etf() | Reference().equity.list_by_group(group) | Mọi cấp |
Listing().search_symbol(query) | Lọc all_symbols() theo mã và tên, không phân biệt hoa thường | Mọi cấp |
Listing().market_status() | Hiện báo VNSTOCK_CAPABILITY_UNAVAILABLE; dùng Reference().market.status() | |
Trading(symbol).price_board(symbols_list, board="stock") | Market().quote(symbols); board="odd_lot", "put_through" chuyển sang hai hàm dưới | Mọi cấp |
Trading(symbol).summary() | Market().equity(symbol).session_stats() | Tài trợ |
Trading(symbol).price_history() | Market().equity(symbol).trade_history(); mã chỉ số như VNINDEX thì Market().index(symbol).trade_history() | Tài trợ |
Trading(symbol).foreign_trade() | Market().equity(symbol).foreign_flow() | Tài trợ |
Trading(symbol).prop_trade() | Market().equity(symbol).proprietary_flow() | Tài trợ |
Trading(symbol).odd_lot(symbols_list, exchange="HOSE") | Market().equity(s).odd_lot() từng mã, hoặc cả sàn khi không truyền mã | Tài trợ |
Trading(symbol).put_through(exchange="HOSE") | Market().put_through() cả sàn | Tài trợ |
Trading(symbol).insider_deal() | Chưa hỗ trợ | |
Event().calendar(start, end, event_type, page, limit) | Hiện báo TypeError; dùng Reference().events.calendar(start, end) |
from vnstock.explorer.vci import Quote
df = Quote("FPT").history(start="2026-10-01", end="2026-10-09") # cùng bảng với Quote(source="vci") ở trênvnstock.explorer.kbs
| Lớp · phương thức | Gọi tới (source="kbs") | Cấp |
|---|---|---|
Quote(symbol).history(start, end, interval="1D", count_back, length) | Market().equity(symbol).ohlcv() | Mọi cấp |
Quote(symbol).intraday(page_size=1000) | Market().equity(symbol).trades() | Mọi cấp |
Quote(symbol).price_depth() | Market().equity(symbol).volume_profile(), cột price, buyVol, sellVol, unknownVol, totalVol như bản cũ | Tài trợ |
Quote(symbol).summary() | Chưa hỗ trợ | |
Company(symbol).overview(), .officers(), .shareholders(), .ownership(), .subsidiaries(), .affiliate(), .capital_history() | Hàm cùng tên của Reference().company(symbol) | Mọi cấp |
Company(symbol).events(page_size=10), .insider_trading(page_size=10) | Reference().company(symbol).events(), .insider_trading(), page_size thành limit | Mọi cấp |
Company(symbol).news(), .article_detail() | Đã ngừng | |
Finance(symbol, period).income_statement(), .balance_sheet(), .cash_flow() | Hàm cùng tên của Fundamental().equity(symbol) | Mọi cấp |
Finance(symbol, period).ratio() | Fundamental().equity(symbol).ratio() | Tài trợ |
Listing().all_symbols(), .symbols_by_exchange(), .symbols_by_group(group), .industries_icb() | Bảng tham chiếu của KBS, cột như bản cũ | Mọi cấp |
Listing().all_future_indices(), .all_covered_warrant(), .all_bonds(), .all_etf() | Nhóm FU_INDEX, CW, BOND, ETF | Mọi cấp |
Listing().industries(), .symbols_by_industries() | 25 ngành riêng của KBS (không phải ICB) | Mọi cấp |
Listing().all_government_bonds() | Hiện báo AttributeError; dùng vnstock.Listing(source="vci").all_government_bonds() | |
Listing().all_indices(), .indices_by_group(group) | Reference().index.list(), .list_by_group() | Mọi cấp |
Listing().get_supported_groups() | Chưa hỗ trợ | |
Trading(symbol).price_board(symbols_list, board="stock") | Market().quote(symbols); board="odd_lot", "put_through" chuyển sang hai hàm dưới | Mọi cấp |
Trading(symbol).price_history(limit=1000), .order_stats(limit=1000) | Market().equity(symbol).session_stats() | Tài trợ |
Trading(symbol).foreign_trade(top=10) | Market().equity(symbol).foreign_flow() | Tài trợ |
Trading(symbol).matched_by_price() | Market().equity(symbol).volume_profile() | Tài trợ |
Trading(symbol).odd_lot(symbols_list, exchange="HOSE") | Market().odd_lot() | Tài trợ |
Trading(symbol).put_through(exchange="HOSE") | Market().put_through() | Tài trợ |
Trading(symbol).index_summary() | Chưa hỗ trợ | |
KBSDerivatives().warrant_profile(symbol), .future_profile(symbol) | Hiện báo AttributeError; dùng Reference().warrant(symbol) và Reference().futures(symbol) |
vnstock.explorer.mas
Mọi hàm cần cấp Tài trợ.
| Lớp · phương thức | Gọi tới (source="mas") |
|---|---|
Quote(symbol).history(start, end, interval="1D", count_back, floating=2, length) | Market().equity(symbol).ohlcv(); giá làm tròn theo floating |
Quote(symbol).intraday(page_size=1000) | Market().equity(symbol).trades() |
Quote(symbol).price_depth() | Market().equity(symbol).order_book() |
Finance(symbol, period).income_statement(), .balance_sheet(), .cash_flow(), .ratio() | Hàm cùng tên của Fundamental().equity(symbol) |
Finance(symbol).annual_plan(period="year") | Kế hoạch kinh doanh năm; period khác "year" báo ValueError |
Market().status() | Hiện báo AttributeError; dùng Reference().market.status(source="mas") |
vnstock.explorer.asean
Mọi hàm cần cấp Tài trợ. Các lớp ở đây không báo DeprecationWarning khi tạo.
| Lớp · phương thức | Gọi tới (source="asean") |
|---|---|
Quote(symbol).history(start, end, length, interval="1D") | Market().equity(symbol).ohlcv(); không có start thì lùi length (mặc định 1Y) từ end |
Quote(symbol).intraday(page_size=1000) | Market().equity(symbol).trades() |
Quote(symbol).price_stream() | Market().equity(symbol).session_stats() |
Quote(symbol).symbols_info() | Lọc Reference().equity.list() theo mã |
Listing().all_symbols(mode="info") | Reference().equity.list(); mode="lookup" trả dict mã → tên |
Listing().symbols_by_industries(), .symbols_by_group(group), .symbols_by_exchange(exchange) | Hàm tương ứng của Reference().equity |
Listing().all_futures(), .all_bonds() | Lọc danh sách mã theo loại |
Trading().price_board(symbols_list) | Market().quote(symbols) |
Trading().order_book(symbol) | Market().equity(symbol).order_book() |
Trading().odd_lot(exchange), .put_through(exchange) | Market().odd_lot(), Market().put_through() cả sàn |
Trading().put_through_match(exchange) | Bảng thoả thuận đã khớp; chưa có hàm tương ứng ở giao diện hợp nhất |
Insight(symbol).stock_quote() | Market().equity(symbol).quote() |
Các hàm còn lại của nhóm này báo chưa hỗ trợ (VNSTOCK_ROUTE_NOT_MIGRATED): toàn bộ Macro, Market,
Sector, Commodity, Recommendation, Company; Insight trừ stock_quote(); Trading().index_summary(),
.index_chart(). Company(symbol).news() đã ngừng.
vnstock.explorer.cafef
Cần cấp Tài trợ.
| Phương thức | Trả về |
|---|---|
Listing().all_symbols() | Mã cổ phiếu niêm yết trên HOSE, HNX, UPCoM theo danh bạ của nguồn: symbol, org_name. Mã đã rời sàn có thể vẫn còn trong danh bạ |
Listing().industries() | Ngành riêng của nguồn (không phải ICB) |
Listing().symbols_by_industries() | Mỗi công ty kèm ngành của nguồn, mỗi cấp ngành một dòng |
Listing().disclosures() | Chưa hỗ trợ |
vnstock.explorer.misc
| Hàm | Tình trạng |
|---|---|
vcb_exchange_rate(date="2023-12-26") | Chạy, có DeprecationWarning. Gọi Retail().exchange_rate(date=date). Mọi cấp |
btmc_goldprice() | Đã ngừng (VNSTOCK_FEATURE_REMOVED) |
vnstock.explorer.msn
Quote(symbol_id).history(), Listing().search_symbol(), .search_symbol_id(), .info() vẫn import được
nhưng mọi lời gọi báo UnsupportedError mã VNSTOCK_ROUTE_NOT_MIGRATED. Nến của chỉ số thế giới, ngoại
hối, hàng hoá và tiền mã hoá nay ở Market().index(symbol, scope="global"), Market().forex(symbol),
Market().commodity(symbol), Market().crypto(symbol) (xem Tài sản quốc tế).
vnstock.explorer.fmarket
Không còn trong thế hệ 5; import sẽ lỗi. Quỹ mở dùng Reference().fund và Market().fund(symbol), xem
Dữ liệu quỹ mở.
Tên đã bỏ của bản 4.x
Các tên dưới đây có ở gốc gói vnstock 4.x và đã bỏ có chủ đích. Thư viện vẫn nhận ra tên để báo lỗi nói
dùng gì thay, thay cho lỗi "không có thuộc tính" khó hiểu. Viết from vnstock import X thì nhận
ImportError; viết vnstock.X thì nhận AttributeError, nên hasattr(vnstock, "X") vẫn chạy.
| Tên cũ | Dùng thay |
|---|---|
Vnstock() | Các lớp theo nhóm dữ liệu, ví dụ Market().equity("FPT").ohlcv() |
INDICES_INFO, INDICES_MAP | Reference().index.list(); nhóm chỉ số: Reference().index.groups() |
INDEX_GROUPS | Reference().index.groups(); mã trong nhóm: Reference().index.members("VN30") |
SECTOR_IDS | Reference().industry.list() |
EXCHANGES | Reference().equity.by_exchange() |
register_user() | Lệnh vnstock register, hoặc vnstock.login("<khoá>") trong notebook |
change_api_key() | Lệnh vnstock register (ghi đè khoá cũ), hoặc vnstock.login("<khoá mới>") |
check_status() | Lệnh vnstock status, hoặc vnstock.status() |
setup_agent(), agent_status(), enable_agent(), disable_agent(), remove_agent_files() | Không thay: thư viện không còn ghi tệp hướng dẫn cho trợ lý AI vào máy |
connector (kết nối FMP, DNSE) | Không thay |
Broker | Không thay: thư viện dùng cho nghiên cứu, không đặt lệnh |
df.viz | Vẽ bằng df.plot(), matplotlib hoặc plotly |
vnstock.bot | Thư viện của nền tảng nhắn tin (python-telegram-bot, slack_sdk) hoặc webhook của nền tảng |
from vnstock import INDICES_INFO
# ImportError: INDICES_INFO đã bỏ. Danh sách chỉ số: Reference().index.list(); nhóm chỉ số: Reference().index.groups().Thông báo theo ngôn ngữ bạn chọn bằng vnstock settings language (mặc định cả tiếng Việt lẫn tiếng Anh).
Thời hạn của tên cũ
| Tên | Chạy tới | Cảnh báo | Dùng thay |
|---|---|---|---|
vnstock.api.Market | hết 31/12/2026 | FutureWarning khi tạo lớp | Analytics().valuation(index) |
vnstock.api.TopStock, vnstock.TopStock | hết 31/12/2026 | FutureWarning khi tạo lớp | Insights().ranking |
Market().pe(), .pb(), .evaluation() | hết 31/12/2026 | FutureWarning | Analytics().valuation(index) |
Fund() và các hàm của nó | hết 06/04/2027 | FutureWarning mỗi lần gọi | Reference().fund, Market().fund(symbol) |
vnstock.explorer.* | chưa có ngày | DeprecationWarning | Giao diện hợp nhất |
Quote, Listing, Company, Finance, Trading | chưa có ngày | Không | Giao diện hợp nhất |
Nên chuyển sang tên mới trước ngày ghi trong cảnh báo. Muốn biết chỗ nào trong mã đang dùng tên cũ, chạy thử với cảnh báo thành lỗi:
python -W error::FutureWarning -W error::DeprecationWarning your_script.py