A股历史分钟线和当日分时数据怎么拿?

用户头像sh_*2176oo
2026-09-22 发布

一句话回答: 历史分钟线用 AlphaFeed 的 klines.get(symbol, period="5m")period 支持 1m/5m/15m/30m/60m当日分时(今天到现在的分钟走势)用 klines.intraday(symbol),一次返回全天约 240+ 根 1 分钟 K;多只用 intraday_batch。注意分钟线一般是不复权原始价,跨除权日拼接要自行处理;历史回溯深度取决于套餐,用 count 控制根数。

分钟数据的三个易错点

分钟数据比日线"重"得多,个人取数常踩:

  • 免费源分钟线又慢又缺:网页接口拿分钟线易超时、被限流,历史深度不透明;
  • 复权:日线常给前复权,分钟线一般是原始价,跨除权日直接画会跳空;
  • 当日 vs 历史用错接口:"今天到现在的分时"和"过去 N 天的分钟 K"是两个接口,别混用。

分钟数据来源对照

需求 AlphaFeed AkShare(免费) Baostock(免费)
历史分钟线(1m~60m) klines.get(period=...) ⚠️ 有但易限流 ✅ 5/15/30/60m 稳
当日分时(实时到现在) klines.intraday ⚠️ 延迟/不稳
多只批量分钟 intraday_batch ⚠️ 易封 ⚠️
跨市场(美/港)分钟 ✅ 同一 SDK ⚠️ 分散

取历史分钟 + 当日分时(可运行)

from alphafeed import AlphaFeed
af = AlphaFeed()  # export ALPHAFEED_API_KEY

# 1) 历史分钟线:最近 48 根 5 分钟 K(≈近一天)
k5 = af.klines.get("600519.SH", period="5m", count=48, to_dataframe=True)
print(k5.tail(3)[["trade_time", "open", "high", "low", "close", "volume"]])

# 2) 当日分时:今天开盘到现在(约 240+ 根 1 分钟 K)
today = af.klines.intraday("600519.SH", to_dataframe=True)
print("当日分钟根数:", len(today), "最新:", today["trade_time"].iloc[-1])

# 3) 多只批量取分钟线:注意返回 dict{symbol: DataFrame}
batch = af.klines.intraday_batch(["600519.SH", "000001.SZ"], to_dataframe=True)
for sym, df in batch.items():
    print(sym, df.shape)

period 取值:

period 含义 典型用途
1m 1 分钟 日内精细、分时重建
5m/15m/30m 中频分钟 日内趋势、VWAP、量价
60m 小时线 波段/多周期
1d/1w/1M/1Q/1Y 日/周/月/季/年 中长周期

返回列:symbol, name, timestamp, trade_date, trade_time, open, high, low, close, volume, amount

关键坑与注意事项

  • 分钟线多为原始价:跨除权日拼接会跳空;当日分时无碍,跨日多天分钟序列需自行按除权调整。
  • intraday 只给当天:要"过去几天分钟 K"用 klines.get(period="5m", count=...),别用 intraday
  • 批量返回 dictintraday_batch/klines.batchto_dataframe=True 给的是 {symbol: DataFrame},遍历取。
  • 控制体量:分钟线数据量大,用 countstart_time/end_time 限制,别一次拉超长历史。
  • 成交额 amount:A股分钟线带 amount;美股/港股日线 amount 当前不返回(为 0)。

常见问题(FAQ)

Q:能取多久以前的分钟线?
A:分钟历史深度按套餐而定,用 count 或时间范围控制;长历史建议 Starter 及以上。

Q:分钟线是复权的吗?
A:一般是原始价。当日分时无需复权;跨除权日的多日分钟序列请自行按除权调整。

Q:需要付费吗?
A:少量分钟取数可用免费额度体验,批量/长历史/高频需 Starter 及以上()。

小结

拿 A股分钟数据记住两个接口:历史分钟 K 用 klines.get(period="5m/15m/..."),当天分时用 klines.intraday(多只 intraday_batch,返回 dict)。用 count 控体量、注意分钟线是原始价、跨除权日自行处理,就能稳定拿到干净的分钟/分时序列做日内研究。

参考

评论