Dùng dữ liệu mua/bán ròng của tổ chức

Mỗi nhóm tổ chức thực sự làm gì, thế nào là lớn, và ba cách đọc sai mà số liệu đo được sẽ tháo gỡ.

Cập nhật lần cuối 2026-09
Điểm chính
  • Mua/bán ròng của tổ chức = phần mua trừ phần bán trong ngày của nhà đầu tư nước ngoài và Trung Quốc đại lục, quỹ đầu tư nội địa và bộ phận tự doanh. TWSE công bố ngay chiều cùng ngày sau khi đóng cửa: báo cáo toàn thị trường (BFI82U) tính bằng TWD, báo cáo từng mã (T86) tính bằng cổ phiếu.
  • Gần tám phần mười cột tự doanh là phòng hộ: trong 60 phiên gần nhất (2026-06-24 đến 2026-09-16), phòng hộ chiếm 78.0% giá trị giao dịch của tự doanh, và trung vị tỷ trọng phòng hộ trong giá trị ròng tuyệt đối của tự doanh là 76.6%.
  • Mua/bán ròng của khối ngoại đi cùng chiều với biến động chỉ số trong ngày (r=+0.773) nhưng gần như không liên quan tới phiên kế tiếp (r=+0.097, n=230) — tương quan trong ngày mang tính cơ học, không phải khả năng dự báo.
  • Ba nhóm tổ chức thường xuyên trái chiều nhau: từ 2025-09-17 đến 2026-09-16, khối ngoại và quỹ đầu tư nội địa chỉ cùng chiều trong 47.5% số phiên, và cả ba cùng chiều chỉ 32.6% (n=242).
  • Thế nào là lớn? Từ 2025-09-17 đến 2026-09-16, trung vị giá trị tuyệt đối mua/bán ròng một phiên của khối ngoại là 262 và phải vượt 757 mới vào nhóm 10% dẫn đầu (đơn vị: 100M TWD, n=242).

Chỉ số tăng đúng phiên khối ngoại mua vào, và bạn nghĩ mình đã tìm ra tín hiệu. Nhưng lệnh mua của họ chính là một phần khối lượng phiên đó — biến động giá và lượng mua ròng là cùng một sự kiện được đếm hai lần. Bài này nói về định nghĩa chính thức của mua/bán ròng tổ chức, biên độ thực tế của nó, và ba chỗ hay bị đọc sai nhất, tất cả bằng số liệu đo được.

Mua/bán ròng của tổ chức là gì?

Mua/bán ròng của tổ chức là bộ số liệu Sở Giao dịch Chứng khoán Đài Loan công bố mỗi phiên: giá trị (hoặc số cổ phiếu) mua trừ giá trị (hoặc số cổ phiếu) bán trong ngày của ba nhóm tổ chức — nhà đầu tư nước ngoài và Trung Quốc đại lục, quỹ đầu tư nội địa, và bộ phận tự doanh. Giá trị dương nghĩa là nhóm đó mua ròng, giá trị âm nghĩa là bán ròng.

TWSE định nghĩa ba nhóm theo họ là ai, không theo họ làm gì (nguyên văn chú thích báo cáo, lấy ngày 2026-09-17):

Tổ chứcĐịnh nghĩa của TWSE (nguyên văn)
Tự doanh"Tự doanh là tài khoản tự doanh của công ty chứng khoán."
Quỹ đầu tư nội địa"Quỹ đầu tư nội địa là các quỹ tín thác đầu tư chứng khoán trong nước."
Nhà đầu tư nước ngoài và Trung Quốc đại lục"Nhà đầu tư nước ngoài và Trung Quốc đại lục là các nhà đầu tư đăng ký theo Quy định quản lý đầu tư chứng khoán của Hoa kiều và người nước ngoài, và Quy định quản lý đầu tư chứng khoán và giao dịch phái sinh tại Đài Loan của nhà đầu tư khu vực Trung Quốc đại lục."

Hai báo cáo, hai đơn vị

Báo cáo thống kê giá trị giao dịch của tổ chức toàn thị trường (BFI82U) trả về 6 dòng, tính bằng TWD; báo cáo mua/bán ròng theo mã hằng ngày (T86) công bố từng mã niêm yết và tính bằng cổ phiếu (một lần gọi thực tế ngày 2026-09-15 trả về 15,840 mã). Một trong 6 dòng của BFI82U là tự doanh nước ngoài đứng riêng; trong chuỗi dữ liệu của Blave, dòng này bằng 0 mỗi ngày kể từ 2024-08-16.

Lưu ý: BFI82U và T86 đều chỉ bao phủ thị trường niêm yết (sàn chính TWSE). Khi truyền thông nói "hôm nay khối ngoại mua ròng XXX," thường chính là con số này; dòng tiền tổ chức trên sàn OTC nằm ở một báo cáo riêng của TPEx.

Con số này có bị chỉnh lại sau đó không?

Không. TWSE nói rõ trong chú thích báo cáo:

"Thống kê này bao gồm giao dịch thường, lô lẻ, giao dịch giá cố định sau giờ và giao dịch thỏa thuận khối, không bao gồm đấu giá và đấu thầu."
"Thông tin này được tổng hợp từ dữ liệu khớp lệnh gốc trong ngày và không được lập lại theo dữ liệu đã điều chỉnh do công ty chứng khoán báo sai sổ hoặc sửa tài khoản."

Nói cách khác, mua/bán ròng của tổ chức là một ảnh chụp các giao dịch gốc, và không được chỉnh lại về sau vì sửa sổ sách. Điều này ngược hẳn với dư nợ ký quỹ — các tổ chức cấp tín dụng đứng sau dư nợ ký quỹ vẫn còn điều chỉnh sổ sách vào ngày hôm sau, và TWSE nói rõ phải dùng "dư nợ ngày trước" (xem Dùng dữ liệu dư nợ ký quỹ). Cả hai đều là dữ liệu dòng tiền, nhưng tính chất dữ liệu khác nhau, nên nghiên cứu không được xử lý chúng giống nhau.

Công bố vào chiều cùng ngày sau khi đóng cửa. Các trang chính thức của TWSE không cam kết một mốc giờ cố định, nên bài này không nêu giờ phút cụ thể.

Thế nào là lớn? Biên độ từ 2025-09-17 đến 2026-09-16

Phân phối giá trị ròng theo phiên, đơn vị 100M TWD. Cửa sổ 2025-09-17 đến 2026-09-16, n=242, lấy từ chuỗi dữ liệu tổ chức của Blave (thị trường niêm yết):

Tổ chức p05p25 Trung vị p75p95 Trung bình Phiên mua ròng
Khối ngoại−892.6−377.0−52.3+165.2+603.3−86.243.8%
Quỹ đầu tư nội địa−77.0−20.0+14.6+71.0+160.9+27.659.9%
Tự doanh−301.1−104.9−14.3+60.5+153.3−34.647.1%
Tổng−1,077.3−380.7−45.4+227.0+683.8−93.146.3%

Để trả lời "con số hôm nay có lớn không," các mức giá trị tuyệt đối hữu ích hơn là dấu (cùng cửa sổ, n=242):

Tổ chức (100M TWD) Trung vị tuyệt đối p80p90p99 Lớn nhất kỳ
Khối ngoại2625457571,3401,883
Quỹ đầu tư nội địa4288135267383
Tự doanh75156206548822

Mức ròng một phiên của khối ngoại quanh 260 (100M TWD) là chuyện thường ngày; phải vượt 757 mới lọt vào nhóm 10% dẫn đầu của cửa sổ này. Quỹ đầu tư nội địa nhỏ hơn một bậc, trung vị chỉ 42 — đo cả ba nhóm bằng cùng một thước thì một cú lớn của quỹ nội địa trông như không có gì.

Điểm mấu chốt: cột tự doanh không phải là "tự doanh đang lạc quan"

Phần lớn người đọc dữ liệu tổ chức coi giá trị ròng của tự doanh là nhận định xu hướng từ bộ phận tự doanh của công ty chứng khoán. Nhưng TWSE tách tự doanh thành hai cột công bố riêng, "tự doanh" và "phòng hộ," và cột thứ hai lớn hơn cột thứ nhất rất nhiều.

Đo trong 60 phiên gần nhất (lấy trực tiếp TWSE BFI82U theo từng ngày, 2026-06-24 đến 2026-09-16, n=60):

Quan sátGiá trị
Tỷ trọng phòng hộ trong giá trị giao dịch tự doanh (mua + bán)78.0%
Ròng phòng hộ trên giá trị ròng tuyệt đối của tự doanh (trung vị theo ngày)76.6%
Giá trị giao dịch phòng hộ bình quân ngày so với tự doanh769 so với 218 (100M TWD)
Giá trị ròng bình quân trong kỳPhòng hộ −81.1/ngày, tự doanh −8.3/ngày (100M TWD)
Số phiên cùng chiều / tương quan theo ngày73.3% / r=0.716

Nói cách khác, gần tám phần mười quy mô của phần "tự doanh mua ròng" bạn nhìn thấy đến từ cột phòng hộ. Gộp lại thì phòng hộ chi phối con số nhưng không quyết định hoàn toàn (r=0.716) — muốn đọc xu hướng của tự doanh thì tối thiểu phải tách hai cột ra xem riêng.

Lưu ý: TWSE chỉ công bố phòng hộ và tự doanh tách riêng; cơ quan này không hề định nghĩa trong bất kỳ chú thích báo cáo nào về nguyên nhân phát sinh các vị thế phòng hộ. Cách giải thích phổ biến rằng "phòng hộ = tạo lập thị trường chứng quyền" không có văn bản chính thức nào mà chúng tôi tìm được, nên bài này không viết như vậy. Thứ bạn chắc chắn được là tỷ lệ quy mô, không phải động cơ đằng sau nó.

Khối ngoại + quỹ nội địa + tự doanh có bằng "Tổng" không?

Không. Cộng ba cột foreign, investment_trustdealer lại, kết quả sẽ không khớp với "tổng tổ chức" trên báo — và bạn không hề tính sai.

Tổng chính thức của TWSE là tổng của bốn khoản: nhà đầu tư nước ngoài và Trung Quốc đại lục (không gồm tự doanh nước ngoài) + quỹ đầu tư nội địa + tự doanh (tự doanh) + tự doanh (phòng hộ); cột tự doanh nước ngoài không được tính vào tổng chính thức. Nhưng API của Blave lại gộp tự doanh nước ngoài vào cột dealer, nên tổng ba cột = tổng chính thức + giá trị ròng của tự doanh nước ngoài ngày hôm đó.

Lấy toàn thị trường ngày 2019-06-03 làm ví dụ (dữ liệu gốc FinMind, đơn vị TWD):

Khoản mụcGiá trị ròngTính vào tổng chính thức
Nhà đầu tư nước ngoài và Trung Quốc đại lục+4,256,940,836
Quỹ đầu tư nội địa−470,794,770
Tự doanh (tự doanh)+234,212,750
Tự doanh (phòng hộ)−634,731,645
Tự doanh nước ngoài−1,635,530Không
Tổng chính thức+3,385,627,171Tổng bốn khoản trên

Bốn khoản trên cộng lại khớp chính xác với tổng chính thức; thứ bị loại ra là khoản −1,635,530 của tự doanh nước ngoài — và nó nằm bên trong cột dealer của API Blave. Trong giai đoạn 2018–2024 có tổng cộng 1,553 phiên mà tổng ba cột không khớp tổng chính thức; từ 2024-08-16 cột này luôn bằng 0, nên chênh lệch gần đây bằng không, nhưng chênh lệch trong giai đoạn lịch sử là có thật.

Vậy nên, để khớp với báo chí hoặc số liệu công bố chính thức, hãy đọc thẳng cột total thay vì tự cộng ba cộttotal chính là tổng chính thức, không phải kết quả cộng các cột. Nếu chỉ làm dữ liệu gần đây thì hai cách cho kết quả như nhau; nếu khoảng thời gian kéo về trước 2024, hoặc bạn muốn tách riêng tự doanh nước ngoài, hãy quay lại báo cáo gốc BFI82U, ở đó nó là một dòng độc lập và API Blave không có cột tương ứng.

Lưu ý: đây là khoảng cách giữa định nghĩa của Blave và định nghĩa chính thức, không phải lỗi của nguồn dữ liệu. FinMind công bố tự doanh nước ngoài như một trường riêng và tổng của họ cũng loại trừ trường này, trùng khớp với TWSE; gộp vào dealer là quy ước riêng của Blave. Khi dùng dữ liệu này cho nghiên cứu kéo về trước 2024, bạn phải tự tính phần chênh lệch đó vào.

Khối ngoại mua ròng thì mai có tăng không?

Tương quan cao trong ngày, gần như tung đồng xu vào phiên kế tiếp. Đây là điều đáng mang về nhất từ bài này.

Cửa sổ 2025-09-17 đến 2026-09-16, tương quan giữa mua/bán ròng và lợi suất chỉ số TAIEX, n=230 (mẫu tương quan ít hơn 12 phiên so với con số 242 ở bảng biên độ, do dữ liệu chỉ số thiếu 12 phiên; đừng trộn lẫn hai cỡ mẫu):

Chuỗir với lợi suất chỉ số cùng phiênr với lợi suất chỉ số phiên kế tiếp
Khối ngoại+0.773+0.097
Quỹ đầu tư nội địa+0.119+0.004
Tự doanh+0.716+0.003
Tổng+0.824+0.079

Tương quan cùng phiên mang tính cơ học: lệnh mua của tổ chức chính là một phần khối lượng phiên đó, nên giá tăng và tổ chức mua ròng là hai cách ghi lại cùng một sự kiện. Câu hỏi đáng đặt ra là về phiên kế tiếp, và ở đó tương quan chỉ còn +0.097.

Tỷ lệ thắng cũng nói điều tương tự: sau một phiên khối ngoại mua ròng, chỉ số tăng ở phiên kế tiếp 59.0% số lần (n=100), sau phiên bán ròng là 52.7% (n=129), so với nền toàn mẫu 55.5%. Khoảng cách là có thật, nhưng kéo mẫu ra 5 năm (n=1,200) thì nó thu hẹp còn 56.4% so với 54.4% (nền 55.3%). Và lợi suất bình quân phiên kế tiếp thực ra lại cao hơn sau các phiên bán ròng — +0.286% sau khi bán so với +0.256% sau khi mua. Tỷ lệ thắng nhỉnh hơn, lợi suất bình quân kém hơn: hai thứ triệt tiêu nhau.

Nên đọc ba nhóm riêng, hay đọc "Tổng"?

Đọc riêng. Trong cùng cửa sổ (2025-09-17 đến 2026-09-16, n=242) ba nhóm hiếm khi cùng chiều:

Quan sátGiá trị
Số phiên khối ngoại và quỹ nội địa cùng chiều47.5%
Số phiên khối ngoại và tự doanh cùng chiều75.2%
Số phiên cả ba cùng chiều32.6%
Số phiên "Tổng" ngược chiều khối ngoại9.9%
Tỷ trọng khối ngoại trong giá trị ròng tuyệt đối của tổ chức (trung vị)67.4%
Tỷ trọng khối ngoại trong giá trị giao dịch của tổ chức (mua + bán)83.7%

"Tổ chức đang mua ròng" không phải là một thứ duy nhất trong dữ liệu — cả ba chỉ cùng chiều trong một phần ba số phiên. Và "Tổng" về cơ bản là cái bóng của khối ngoại: họ chiếm 83.7% giá trị giao dịch của tổ chức, và chỉ 9.9% số phiên là tổng đi ngược chiều họ. Bạn tưởng mình đang đọc đồng thuận của ba nhóm; chín trên mười lần bạn chỉ đang đọc một nhóm.

Đưa nó vào chiến lược thế nào

1. Lấy dữ liệu: toàn thị trường và từng mã là hai lớp khác nhau

Lớp toàn thị trường tính bằng tiền, lớp từng mã tính bằng cổ phiếu, và tên trường cũng khác nhau — trộn lẫn là tính ra thứ sai.

from lib.data import fetch_twmarket_institutional, fetch_twstock_institutional

# Toàn thị trường: đơn vị TWD, các trường foreign / investment_trust / dealer / total, từ 2004-04-07
mkt = fetch_twmarket_institutional('2025-09-17', '2026-09-16', headers)

# Từng mã: đơn vị cổ phiếu, mua và bán ở hai cột riêng; lib trả thẳng foreign_net
df = fetch_twstock_institutional('2330', '2025-09-17', '2026-09-16', headers)
foreign_net = df['foreign_net']   # số cổ phiếu khối ngoại mua − số bán

Lớp từng mã còn cho bạn các trường tách riêng: tự doanh (dealer_self_*) và phòng hộ (dealer_hedge_*) nằm riêng, nên phán đoán "bóc phòng hộ ra" ở phần trên là làm được ở lớp từng mã.

2. Dùng như một điều kiện, không phải một tín hiệu

Cách dùng thực tế là biến "hôm nay tổ chức có động thái lớn không" thành một điều kiện kiểm chứng được, đặt trước tín hiệu chính của bạn, thay vì vào lệnh và thoát lệnh trực tiếp bằng nó.

# các mức lấy từ phân vị giá trị tuyệt đối mua/bán ròng một phiên của khối ngoại, 2025-09-17 đến 2026-09-16: p50 262, p90 757 (100M TWD, n=242)
BIG = 75_700_000_000          # TWD; đây là mức của dữ liệu, không phải tham số đã backtest

big_buy = mkt['foreign'] > BIG
signal = primary.copy()        # primary là tín hiệu chính của bạn
signal[~big_buy] = 0.0         # không mở lệnh mua vào những phiên khối ngoại không mua mạnh

Nói cho rõ: ngưỡng này là một mức phân phối, không phải tham số đã được backtest kiểm chứng. Nó trả lời "con số hôm nay đứng thứ mấy trong lịch sử," không trả lời "làm vậy có lãi không" — chỉ backtest trả lời được vế sau, và phải tránh cái bẫy chỉnh tham số lặp đi lặp lại trên cùng một đoạn dữ liệu (xem Cách tránh overfitting).

3. Tự đọc file chính thức? Kiểm tra thứ tự trường trước

Lưu ý: mảng T86 trả về có một cái bẫy thứ tự: 自營商買賣超股數 (tổng của tự doanh) đứng trước ba cột "tự doanh" (chỉ số 11), trong khi nhóm tự doanh mới là mua → bán → ròng (chỉ số 12 / 13 / 14). Giả định theo trực giác "tự doanh trước, rồi phòng hộ, rồi tổng" sẽ làm lệch cả nhóm. Hãy phân tích theo tên trường, không theo vị trí.

Chọn tham số và khung thời gian

Dữ liệu tổ chức chỉ có theo ngày, nên không có khung thời gian để chỉnh; thứ bạn chọn được là đọc lớp nào và trong bao nhiêu ngày.

Cách lấyPhù hợp choCần lưu ý
Giá trị ròng một phiên toàn thị trườngĐo sức mạnh dòng tiền ở cấp độ chỉ sốChỉ thị trường niêm yết; "Tổng" có 83.7% là cái bóng của khối ngoại, đừng đọc như đồng thuận
Chuỗi phiên liên tiếp toàn thị trườngMô tả trạng thái kiểu "mua ròng liên tiếp mấy phiên"Từ 2025-09-17 đến 2026-09-16: 49 chuỗi mua ròng, bình quân 2.16 phiên, dài nhất 6 phiên; 50 chuỗi bán ròng, bình quân 2.72 phiên, dài nhất 13 phiên (n=242) — chuỗi mua ròng năm phiên hiếm hơn bạn tưởng
Giá trị ròng một phiên theo mãĐiều kiện dòng tiền theo mã, bộ lọc chọn cổ phiếuĐơn vị là cổ phiếu; mã niêm yết lấy từ T86, OTC lấy từ TPEx, cả hai đều có
Các trường tách riêng theo mãKhi bạn cần bóc phòng hộ ra khỏi con số tự doanhChỉ lớp từng mã mới giữ các trường tách riêng

Các ví dụ ở đây dùng giá trị ròng một phiên toàn thị trường vì một lý do đơn giản: toàn bộ phép đo biên độ và tương quan đều thực hiện ở lớp đó, nên các ngưỡng mới khớp. Chuyển sang lớp từng mã thì phải tính lại các mức từ phân phối của chính mã đó.

Một nhắc nhở thành thật: mua/bán ròng của tổ chức là dữ liệu tham khảo, không phải tín hiệu giao dịch. Mọi con số ở đây đều ghi rõ cửa sổ và cỡ mẫu, và mẫu nói thẳng: tương quan giữa mua/bán ròng của khối ngoại với lợi suất chỉ số phiên kế tiếp là +0.097 (n=230), còn trên 5 năm là +0.053 (n=1,200) — gần bằng không. Mọi phát biểu dịch thẳng "tổ chức đã mua ròng" thành "mai sẽ tăng" đều không đứng vững trên dữ liệu này. Muốn xây chiến lược từ nó, hãy dùng như một điều kiện, một bộ lọc, rồi backtest (cách đọc báo cáo backtest, xem Cách đọc một backtest).

Đã rõ định nghĩa rồi thì bước tiếp theo là biến nó thành một điều kiện bạn kiểm chứng được: bảo Blave Agent kéo dữ liệu này về, viết thành bộ lọc và backtest cho bạn xem — lớp dữ liệu và các trường đã nối sẵn, bạn chỉ cần nói muốn kiểm chứng điều gì. Bạn cũng có thể xem thẳng biểu đồ toàn thị trường và theo mã trong Studio: dòng tiền tổ chức toàn thị trường, dòng tiền theo mã.