Vnstock Logo

Cấu trúc dữ liệu quỹ mở

Cộng đồng

Mục lục

Trang này liệt kê đúng những gì mỗi hàm quỹ mở trả về: tên cột theo thứ tự, kiểu dữ liệu trong pandas, đơn vị, và khi nào một cột có thể trống. Cách gọi hàm và ví dụ nằm ở Dữ liệu quỹ mở.

Quy ước chung

Kiểu ghi ở đâyKiểu trong pandasGhi chú
stringstringTrống là <NA>
numberfloat64Trống là NaN
booleanboolean
datetimedatetime64[ns, Asia/Ho_Chi_Minh]Trống là NaT
datedatetime64[ns, Asia/Ho_Chi_Minh], giờ 00:00Ngày lịch, gắn múi giờ Việt Nam để so sánh được với cột datetime
  • Thứ tự cột cố định như bảng dưới. Index là RangeIndex bắt đầu từ 0.
  • Bảng rỗng vẫn có đủ cột và đúng kiểu. Mã của bạn không cần kiểm tra cột có tồn tại không.
  • Cột phần trăm ghi theo thang 0–100: 11.46 nghĩa là 11,46%.
  • Mọi số tiền tính bằng đồng.
  • Cột "Bắt buộc" luôn có giá trị ở mọi dòng.
  • Mỗi bảng mang df.attrs gồm ít nhất source (nguồn trả lời) và length (số dòng); bảng của một quỹ có thêm symbol.

Reference().fund

list()

Một dòng cho mỗi quỹ. Thư viện ghi tên tuyến là reference.fund.list.

CộtKiểuBắt buộcÝ nghĩa
tickerstring✅Mã chứng chỉ quỹ, chữ hoa
organ_namestringTên đầy đủ của quỹ. CafeF để trống; DigiInvest có
organ_short_namestringCông ty quản lý quỹ. CafeF ghi tên đầy đủ công ty, DigiInvest ghi tên ngắn
fund_typestring✅equity_fund, bond_fund, balanced_fund
management_feenumberPhí quản lý, % mỗi năm. CafeF để trống
inception_datedateNgày thành lập quỹ. CafeF để trống
navnumberNAV mới nhất trên một chứng chỉ quỹ, đồng
nav_update_atdatetimeNgày của NAV mới nhất

profile()

Đúng một dòng. Chỉ có từ CafeF.

CộtKiểuBắt buộcÝ nghĩa
tickerstring✅Mã chứng chỉ quỹ
organ_short_namestringCông ty quản lý quỹ
descriptionstringMô tả chiến lược, do quỹ viết
inception_datedateNgày thành lập, theo CafeF
total_assetsnumberTổng tài sản, đồng
min_investmentnumberSố tiền đầu tư tối thiểu, đồng
trading_frequencystringNgày giao dịch chứng chỉ quỹ, nguyên văn, ví dụ "Từ thứ 2 đến thứ 6"
transfer_agentstringCác đại lý phân phối, chuyển nhượng, nguyên văn
benchmarkstringChỉ số tham chiếu, ví dụ "VN Index"
navnumberNAV mới nhất, đồng
nav_update_atdatetimeNgày của NAV mới nhất
websitestringTrang của quỹ

fee_structure()

Mỗi bậc phí một dòng. Chỉ có từ CafeF.

CộtKiểuBắt buộcÝ nghĩa
fee_typestring✅purchase (mua), redemption (bán lại), switching (chuyển đổi), other
basisstringCăn cứ chia bậc, ví dụ holding_period (thời gian nắm giữ), transaction_value (giá trị giao dịch)
rangestring✅Nhãn bậc đúng như quỹ công bố, ví dụ "< 12 Tháng", "12-24 Tháng"
feenumberMức phí của bậc
unitstringĐơn vị của fee, thường là %

range giữ nguyên chữ thay vì tách thành cận dưới, cận trên, vì nguồn ghi cùng một mã đơn vị cho bậc tính theo tháng ở quỹ này và theo năm ở quỹ khác.

reports()

Mỗi tài liệu một dòng. Chỉ có từ CafeF.

CộtKiểuBắt buộcÝ nghĩa
report_typestringLoại tài liệu, ví dụ prospectus (bản cáo bạch), regulation (điều lệ)
titlestring✅Tên tài liệu
periodstringKỳ hoặc ngày ghi trên tài liệu, nguyên văn, ví dụ "T1/2025", "13/05/2024"
urlstring✅Đường dẫn tới tệp

Market().fund(symbol)

history(), ohlcv()

Mỗi kỳ công bố NAV một dòng, cũ nhất trước.

CộtKiểuBắt buộcÝ nghĩa
timedatetime✅Ngày định giá NAV
navnumber✅NAV trên một chứng chỉ quỹ, đồng. DigiInvest làm tròn tới đồng

performance()

Ba dòng: ytd, 3y, 5y. Chỉ có từ CafeF.

CộtKiểuBắt buộcÝ nghĩa
periodstring✅ytd (từ đầu năm), 3y, 5y
period_labelstringNhãn kỳ như nguồn ghi, ví dụ "Từ đầu 2026"
nav_startnumberNAV đầu kỳ, đồng
nav_endnumberNAV cuối kỳ, đồng
return_percentnumberLợi nhuận của kỳ, %
annualizedbooleanTrue khi return_percent là lợi nhuận kép bình quân mỗi năm (kỳ 3y, 5y)

dividends()

Mỗi lần chia một dòng, mới nhất trước. Chỉ có từ DigiInvest.

CộtKiểuBắt buộcÝ nghĩa
datedate✅Ngày chia
amountnumber✅Tiền mặt trên một chứng chỉ quỹ, đồng

holdings()

Tối đa mười dòng theo báo cáo danh mục tháng gần nhất. Chỉ có từ CafeF.

CộtKiểuBắt buộcÝ nghĩa
update_atdatetime✅Ngày cuối của tháng báo cáo
tickerstring✅Mã cổ phiếu hoặc trái phiếu, chữ hoa
industrystringNgành của mã, có thể trống
net_asset_percentnumber✅Tỷ trọng trên tài sản ròng của quỹ, %
asset_typestringequity hoặc bond, suy từ mã: mã có chữ số là trái phiếu

industry_allocation()

Mỗi ngành một dòng. Chỉ có từ CafeF.

CộtKiểuBắt buộcÝ nghĩa
industrystring✅Tên ngành theo cách phân loại của nguồn
net_asset_percentnumber✅Tỷ trọng trên tài sản ròng, %

asset_allocation()

Mỗi loại tài sản một dòng. Chỉ có từ CafeF.

CộtKiểuBắt buộcÝ nghĩa
asset_typestring✅equity, bond, cash_and_equivalents, others
asset_percentnumber✅Tỷ trọng, %

Bộ cột của tên hàm cũ

Các tên cũ trả đúng bộ cột của bản 4.x và vnstock_data cho tới hết ngày 06/04/2027. Ngày ở đây là chuỗi YYYY-MM-DD, không phải datetime. Giá trị lấy từ cùng bảng chuẩn ở trên, chỉ đổi tên cột, nhãn và định dạng ngày.

Lịch sử NAV

Fund().nav_report(), Reference().fund.nav_report(), Market().fund(sym).nav()

CộtKiểuLấy từ
datechuỗi YYYY-MM-DDtime
nav_per_unitnumbernav
short_namechuỗiMã quỹ bạn truyền vào, chữ hoa

Nắm giữ

Fund().top_holding(), Reference().fund.top_holding()

CộtKiểuLấy từ
stock_codestringticker
industrystringindustry
net_asset_percentnumbernet_asset_percent
type_assetchuỗiasset_type: equity → STOCK, bond → BOND
update_atchuỗi YYYY-MM-DDupdate_at
fundIdInt64, luôn trốngMã nội bộ của Fmarket, không còn tồn tại. Ở Reference().fund cột này tên fundid, như vnstock_data từng trả

Bảng nắm giữ cũ không có short_name, giữ đúng như bản đã phát hành.

Theo ngành

Fund().industry_holding(), Reference().fund.industry_holding()

CộtKiểuLấy từ
industrystringindustry
net_asset_percentnumbernet_asset_percent
short_namechuỗiMã quỹ bạn truyền vào

Theo loại tài sản

Fund().asset_holding(), Reference().fund.asset_holding()

CộtKiểuLấy từ
asset_percentnumberasset_percent
asset_typechuỗiasset_type: equity → "Cổ phiếu", bond → "Trái phiếu", cash_and_equivalents → "Tiền và tương đương tiền", others → "Khác"
short_namechuỗiMã quỹ bạn truyền vào

Danh mục quỹ

Fund().listing() trả 21 cột theo thứ tự cũ:

CộtKiểuLấy từ
short_namestringticker
namestringorgan_name (CafeF để trống)
fund_typechuỗifund_type: equity_fund → "Quỹ cổ phiếu", bond_fund → "Quỹ trái phiếu", balanced_fund → "Quỹ cân bằng"
fund_owner_namestringorgan_short_name
management_feenumbermanagement_fee (CafeF để trống)
inception_datechuỗi YYYY-MM-DDinception_date (CafeF để trống)
navnumbernav
nav_change_previous, nav_change_last_year, nav_change_inception, nav_change_1m, nav_change_3m, nav_change_6m, nav_change_12m, nav_change_24m, nav_change_36m, nav_change_36m_annualizednumber, luôn NaNKhông nguồn nào còn công bố. Dùng performance() hoặc tự tính từ history()
nav_update_atchuỗi YYYY-MM-DDnav_update_at
fund_id_fmarketInt64, luôn trốngMã nội bộ của Fmarket
fund_codestring, luôn trốngKhông nguồn nào còn công bố
vsd_fee_idstring, luôn trốngKhông nguồn nào còn công bố

Tìm quỹ theo mã

Fund().filter(symbol) trả hai cột id và shortName. Cả hai đều là mã quỹ (chuỗi), vì nguồn mới không có mã số nội bộ. Bản cũ trả id là số nguyên của Fmarket.