跳轉到

盤中、分K與逐筆明細

所屬章節:Data 表格查詢 全部以 2026-08-21 盤中 12:40 實際執行結果為準(台股交易時段 09:00–13:30) 23 張表都實跑過,形狀與欄位是真實輸出

先選對工具

api.MSMP 只到前一交易日。要當下的資料有三條路,用途不同:

要什麼 用 特性
盤中的歷史過程(分K、逐筆、分價量) api.Data.get(...) 本頁這 23 張 一次性、拿整段

非交易時段呼叫這些表拿到的是最後一個交易日的資料,不會報錯。

用途界線:哪些能回測、哪些只能看今天

這 23 張表分兩類,用途完全不同。

「盤中即時」類 「歷史分K」類
有哪些 取得即時分K*、取得今日即時成交明細*、取得零股成交明細、分價量(current)、批次取得*、漲跌家數(盤中) 等大盤概況、即時周轉率排行 取得歷史1分K(指定起訖日)、取得歷史1分K(指定日期前5天)、取得歷史3/5分K(指定當日)、取得歷史分K(指定日期前)
涵蓋範圍 只有當天 約 4 年(實測 2022-08-22 起、968 個交易日)
適合 最新一日的篩選與觀察 回測、盤中行為研究
不適合 回測——只有一天,沒有樣本 —

實測 取得歷史1分K(指定起訖日) 的回溯能力(2330):

20260801~20260820   3,721 列    14 個交易日
20260501~20260820  20,284 列    77 個交易日
20250801~20260820  67,629 列   255 個交易日
20220801~20260820 257,192 列   968 個交易日   ← 實際從 2022-08-22 開始

跟日頻一樣是約 1000 個交易日的窗。api.bt.Tools.get_stock_ohlc() 底層讀的就是這張表 (抓 1 分 K 再聚合成你要的 freq),所以要做分K回測直接用它,見 backtest-data.md。

盤中即時類拿來當「最新一日的篩選條件」是對的用法—— 例如「現在漲幅前 20 且內盤外盤比失衡的」「盤中預估量爆的」。 但它只有今天這一份,不能拿去回測,也沒辦法驗證這個條件過去有沒有效。 要驗證就得換成歷史分K 或日頻資料。


一、盤中大盤概況(5 張,都不用參數)

表名 形狀 欄位
漲跌家數(盤中) (12, 2) 分級、家數
漲跌列表(盤中) (12, 2) 分級、股票列表(該級距的代號 list)
漲跌家數分鐘歷史(盤中) (220, 13) hhmm + 12 個級距欄
粗產業多(盤中) (47, 8) 市場別、名稱、漲跌、漲跌幅、淨比、淨流、總市值、市值漲跌幅
粗產業空(盤中) (60, 8) 同上

12 個級距固定是:-8% -6% -4% -2% -1% -0% +0% +1% +2% +4% +6% +8%。

input

api.Data.get('漲跌家數(盤中)')

output(12:40 實測)

 分級  家數
-8%   8
-6%   8
-4%  41
-2% 133
-1% 233
-0% 478
+0% 646
+1% 190
+2% 126
+4%  39
+6%   7
+8%  33

-0% / +0% 是「跌但不到 1%」與「漲但不到 1%」,不是平盤。 漲跌列表(盤中) 是同一份分級但給代號清單:

-8%: ['7750', '6715', '4139', '6492', '5701', '2067', '3259', '3026']...

漲跌家數分鐘歷史(盤中) 把上面那張表逐分鐘記錄下來(220 列 = 開盤到現在的分鐘數), 可以看出資金是往上還往下跑。

產業資金流

市場別    名稱     漲跌    漲跌幅     淨比     淨流            總市值  市值漲跌幅
TSE    航運 6.1900 6.4200 20.91% 72.10億 2041211534150 3.6100
TSE IC-製造 9.7800 0.4200 12.18% 41.71億 64036106221650 0.8300

淨比 / 淨流 是字串(帶 % 與「億」),不是數值——要運算得自己剝掉單位。 粗產業多 47 列、粗產業空 60 列,兩張分開(不是同一張的正負兩半)。


二、個股分K(8 張)

參數規則不一致,這是最容易錯的地方:

表名 參數 形狀(2330)
取得即時分K(最後交易日) symbol, minutes (45, 11)
取得即時分K-含興櫃 symbol (220, 10)
取得歷史分K(指定日期前) symbol, yyyyMMdd, minutes (18, 11)
取得歷史3分K(指定當日) symbol, yyyyMMdd (90, 9)
取得歷史5分K(指定當日) symbol, yyyyMMdd (54, 9)
取得歷史1分K(指定起訖日) symbol, startDate, endDate (798, 8)
取得歷史1分K(指定日期前5天) symbol, yyyyMMdd (1330, 8)
取得歷史分K(含加權/櫃買指數) symbol, minutes (999, 11)

minutes 可選 1 / 3 / 5 / 15 / 30 / 60。漏傳會拋 ValueError 並印出正確用法:

ValueError: 參數輸入錯誤,正確用法:
  Data.get('取得即時分K(最後交易日)', '2330', 1)  # minutes 可選: [1, 3, 5, 15, 30, 60]

欄位

三種欄位組合:

最精簡(8 欄)  日期 hhmm 開盤價 最高價 最低價 收盤價 成交量 datetime
帶均線(9 欄)  上面 + MA3 或 MA5(固定當日均線,跟表名的分鐘數對應)
帶累計(11 欄) 上面 + 日成交金額(千) 日成交量 日平均價

日成交金額(千) / 日成交量 / 日平均價 是「當日累計到這一根為止」, 不是這根的量。這根的量在 成交量。

input

api.Data.get('取得即時分K(最後交易日)', '2330', 5).tail(2)

output(12:41 實測)

           日期  hhmm  開盤價  最高價  最低價  收盤價  成交量  日成交金額(千)  日成交量      日平均價            datetime
43 2026-08-21  1240 2400 2400 2395 2400   77  22503500  9430 2386.3700 2026-08-21 12:40:00
44 2026-08-21  1245 2400 2400 2395 2400   17  22544265  9447 2386.3900 2026-08-21 12:45:00

K 棒用結束時間標記,最後一根是還在形成中的。 實測:間隔 25 秒取兩次,

12:43:35  最後一根 1245 量=69   倒數第二根 1240 量=77
12:44:00  最後一根 1245 量=78   倒數第二根 1240 量=77

最後一根(1245,涵蓋 12:40–12:45)的量從 69 漲到 78, 倒數第二根維持 77 不動——最後一根還在累加。 它的 收盤價 就是當下最新價。做訊號時要丟掉最後一根,否則會用到未完成的 bar。

時間欄有兩套

分K表同時給 日期 + hhmm(4 位字串)和組合好的 datetime。 直接用 datetime 就好,不用自己拼:

df = api.Data.get('取得歷史1分K(指定起訖日)', '2330', '20260818', '20260820')
df = df.set_index('datetime')          # 已經是 datetime64

只有 取得即時分K-含興櫃 這張沒有 datetime 欄(10 欄版),要自己組。


三、逐筆明細與五檔(5 張)

表名 參數 形狀 說明
取得今日即時成交明細(含五檔報價) symbol (2906, 28) 當日逐筆,每筆都帶當下五檔
取得今日即時成交明細(貼標大戶/散戶) symbol (2906, 29) 同上多一欄 類型
取得最新一筆成交明細(含五檔報價) symbol (1, 28) 只要最新一筆時用這張,省流量
取得零股成交明細 symbol (2494, 8) 量的單位是股
取得個股盤中內外盤-含興櫃 symbol (1, 4) 內外盤累計量

28 欄的結構

成交價 成交量 總成交量 開盤價 datetime 最佳買價 最佳賣價 成交序號
買_1價 買_1量 … 買_5價 買_5量        ← 注意順序:檔案裡是 買_5 到 買_1
賣_1價 賣_1量 … 賣_5價 賣_5量

買_1 是最佳買價(最高的買價),賣_1 是最佳賣價。實測驗證:

最佳買價 2395.0 == 買_1價 2395.0
最佳賣價 2400.0 == 賣_1價 2400.0
買檔價格由高到低: [2395, 2390, 2385, 2380, 2375]
賣檔價格由低到高: [2400, 2405, 2410, 2415, 2420]

所以 最佳買價 / 最佳賣價 兩欄是 買_1價 / 賣_1價 的別名,取哪個都一樣。

input

d = api.Data.get('取得最新一筆成交明細(含五檔報價)', '2330')
d[['成交價', '成交量', '總成交量', 'datetime', '買_1價', '買_1量', '賣_1價', '賣_1量']]

output(12:41 實測)

 成交價  成交量  總成交量                datetime  買_1價  買_1量  賣_1價  賣_1量
2400    1  9454 2026-08-21 12:41:12.357  2395   109  2400  1085

datetime 有毫秒。成交量 是這一筆(1 張),總成交量 是當日累計(9454 張)。

內外盤的欄名是簡體「内」

api.Data.get('取得個股盤中內外盤-含興櫃', '2330')
股票代號  交易所   内盤   外盤
2330 TWSE 2786 4784

欄名是 内盤 不是 內盤(簡體「内」)。用 df['內盤'] 會 KeyError。 批次版 批次取得個股盤中內外盤-含興櫃與權證 也一樣。


四、分價量(2 張)

表名 參數 形狀
分價量 symbol (715, 5)
取得指定日期前幾天的分價量歷史資料 symbol, endDate, days (21, 4)

分價量 一次給五種累計區間,用 類型 欄區分:

類型值:current / pre2Sum / pre4Sum / pre9Sum / pre19Sum

呼叫時會印一行說明:

current: 當日累計分價量   pre{N}Sum: 前{N}日累計分價量(不含今日)
d = api.Data.get('分價量', '2330')
today = d[d['類型'] == 'current']            # 只要當日
last20 = d[d['類型'] == 'pre19Sum']          # 前 19 日(不含今日)

output(當日部分)

股票代號         日期      類型   價格  成交量
2330 2026-08-21 current 2400 1037
2330 2026-08-21 current 2395 2652
2330 2026-08-21 current 2390 1357

五、批次盤中(4 張,傳 List[symbol])

表名 形狀(2 檔) 欄位重點
批次取得個股盤中行情 (2, 11) 開盤價/最高價/最低價/收盤價/平盤價/成交量/日平均價/成交金額(千)
批次取得個股盤中行情-含興櫃(tick含試搓) (2, 16) 多了 漲停價/跌停價/datetime/成交價/總量/買1價量/賣1價量
批次取得個股盤中內外盤-含興櫃與權證 (2, 3) 内盤/外盤
批次取得盤中預估量 (2, 3) datetime、成交量(收盤預估量)

output(12:41 實測)

股票代號  交易所   平盤價  漲停價  跌停價            datetime  開盤價  最高價  最低價    成交價  成交量   總量  買1量  買1價   賣1價  賣1量
2330 TWSE  2375 2610 2140 2026-08-21 12:41:46 2375 2400 2365   2395    1 9465  107 2395  2400 1077
2317 TWSE 246.5  271  222 2026-08-21 12:41:48  245  247  243  245.5    1 16642  167  245 245.5  446

含興櫃那張的五檔只有第一檔(買1價 / 賣1價),要完整五檔用逐筆明細那張。 欄名也不同:這裡是 買1量 沒有底線,逐筆明細是 買_1量 有底線。

批次取得盤中預估量 給的是收盤預估量,不是當下累計量:

股票代號            datetime        成交量
2330 2026-08-21 12:41:01 12054.3720
2317 2026-08-21 12:41:01 21176.4960

12:41 時 2330 當下累計 9465 張,預估收盤 12054 張。


六、其他即時

表名 參數 形狀 說明
即時周轉率排行 無 (200, 2) 股票代號、周轉率%,只給前 200 名
收盤20日周轉率 無 (2728, 5) 全市場
個股上個交易日成交均張(成交量/成交筆數) symbol (1, 2) 判斷散戶/法人參與度
即時周轉率排行 前3:
股票代號    周轉率%
3441 98.7300
8039 23.0300
4939 21.7900

注意

  • 最後一根 K 棒還在形成中,做訊號要丟掉它。K 棒用結束時間標記。
  • 日成交金額(千) / 日成交量 是當日累計,不是那一根的量。
  • 內外盤的欄名是簡體 内盤,df['內盤'] 會 KeyError。
  • 五檔欄名兩套:逐筆明細是 買_1量(有底線),批次含興櫃是 買1量(沒底線)。
  • 零股的量單位是股,整股是張。
  • 淨比 / 淨流 是字串(帶 % 與「億」),要運算得先剝單位。
  • 分K 的 minutes 只接受 1/3/5/15/30/60,漏傳會 ValueError 並印出正確用法。
  • 盤中即時類只有今天,適合做最新一日的篩選,不能回測。要回測用 取得歷史1分K(指定起訖日)(4 年)或日頻資料。
  • 非交易時段呼叫這些表拿到最後一個交易日的資料,不會報錯—— 要確認是不是今天的,看回傳的 日期 或 datetime 欄。

相關頁