Vnstock Logo

Lớp kiểu cũ và mô-đun theo nguồn

Cộng đồng

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ênImportTình trạng
Quote, Listing, Company, Finance, Tradingfrom vnstock import ... hoặc from vnstock.api import ...Chạy, không có ngày ngừng
TopStockfrom vnstock import TopStock hoặc vnstock.apiChạy tới hết 31/12/2026, có FutureWarning
Fundfrom vnstock import FundChạy tới hết 06/04/2027, có FutureWarning
vnstock.api.Marketfrom vnstock.api import MarketChạy tới hết 31/12/2026, có FutureWarning
vnstock.api.Macrofrom vnstock.api import MacroĐã ngừng: mọi hàm báo VNSTOCK_FEATURE_REMOVED
vnstock.explorer.vci, .kbs, .mas, .asean, .cafeffrom vnstock.explorer.vci import QuoteChạy, có DeprecationWarning, không có ngày ngừng
vnstock.explorer.miscfrom vnstock.explorer.misc import vcb_exchange_ratevcb_exchange_rate chạy; btmc_goldprice đã ngừng
vnstock.explorer.msnCòn tên, mọi hàm báo chưa hỗ trợ
vnstock.explorer.fmarketKhô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:

Text
`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, source lấy của lớp nếu bạn không ghi.
  • Finance: đọc period, lang theo vị trí; dropna của 4.x đổi thành drop_empty; get_all, show_log, display_mode bị 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ạy vnstock.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

Python
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ứcGọi tớiCấ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.

Python
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ất

Chạy ngày 10/10/2026, lời gọi đầu trả:

Text
                       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  2513400

price_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

Python
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ứcGọi tớiTrả vềCấp
all_symbols()Reference().equity.list()symbol, organ_nameMọ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ồnMọi cấp
industries_icb()Reference().industry.list()icb_name, en_icb_name, icb_code, levelMọi cấp
symbols_by_group(group="VN30")Reference().equity.list_by_group(group)Series tên symbolMọi cấp
all_future_indices()nhóm FU_INDEXSeriesMọi cấp
all_covered_warrant()nhóm CWSeriesMọi cấp
all_bonds()nhóm BONDSeriesMọi cấp
all_etf()nhóm ETFSeriesMọi cấp
all_government_bonds()nhóm FUND_BOND của vciSeries; nguồn khác báo NotImplementedErrorMọi cấp
all_indices()Reference().index.list()7 cột symbol, name, description, full_name, group, index_id, sector_idMọ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ả NoneMọi cấp
disclosures()Chưa hỗ trợ (VNSTOCK_ROUTE_NOT_MIGRATED)
Python
from vnstock import Listing

Listing().all_symbols().head(3)
Text
  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ông

Company

Python
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ứcGọi tớiCấ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ữuMọ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)
Python
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):

Text
  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              15868500

Finance

Python
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ứcGọi tớiCấ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 UnsupportedErrorTà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ỳ.

Python
from vnstock import Finance

df = Finance(source="vci", symbol="FPT").income_statement(period="year")

Trading

Python
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ứcGọi tớiCấ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"].

Python
from vnstock import Trading

board = Trading(source="kbs").price_board(["FPT", "VCB"])

TopStock

Python
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ứcGọ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

Python
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ứcGọ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

Python
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ứcGọi tớiCộ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.

Text
                           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.867758

vnstock.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
Text
`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ứcGọ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ămMọ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_volumeTà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ườngMọ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ướiMọ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ànTà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)
Python
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ên

vnstock.explorer.kbs

Lớp · phương thứcGọ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 limitMọ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, ETFMọ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ướiMọ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ứcGọ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ứcGọ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ứcTrả 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àmTì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_MAPReference().index.list(); nhóm chỉ số: Reference().index.groups()
INDEX_GROUPSReference().index.groups(); mã trong nhóm: Reference().index.members("VN30")
SECTOR_IDSReference().industry.list()
EXCHANGESReference().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
BrokerKhông thay: thư viện dùng cho nghiên cứu, không đặt lệnh
df.vizVẽ bằng df.plot(), matplotlib hoặc plotly
vnstock.botThư 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
Python
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ênChạy tớiCảnh báoDùng thay
vnstock.api.Markethết 31/12/2026FutureWarning khi tạo lớpAnalytics().valuation(index)
vnstock.api.TopStock, vnstock.TopStockhết 31/12/2026FutureWarning khi tạo lớpInsights().ranking
Market().pe(), .pb(), .evaluation()hết 31/12/2026FutureWarningAnalytics().valuation(index)
Fund() và các hàm của nóhết 06/04/2027FutureWarning mỗi lần gọiReference().fund, Market().fund(symbol)
vnstock.explorer.*chưa có ngàyDeprecationWarningGiao diện hợp nhất
Quote, Listing, Company, Finance, Tradingchưa có ngàyKhôngGiao 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:

Shell
python -W error::FutureWarning -W error::DeprecationWarning your_script.py