AlphaFeed Blog

A股历史分钟线和当日分时数据怎么拿?(1m/5m/15m + Python 代码)

行情数据 · 代码验证于 2026-09-20

A股历史分钟线和当日分时数据怎么拿?(1m/5m/15m + Python 代码)

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

分钟数据的三个易错点

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

分钟数据来源对照

需求AlphaFeedAkShare(免费)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含义典型用途
1m1 分钟日内精细、分时重建
5m/15m/30m中频分钟日内趋势、VWAP、量价
60m小时线波段/多周期
1d/1w/1M/1Q/1Y日/周/月/季/年中长周期

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

关键坑与注意事项

常见问题(FAQ)

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

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

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

小结

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

相关链接:


免责声明:本文仅为技术与数据接口使用示例,代码与策略仅供学习研究,不构成投资建议。市场有风险,历史数据不代表未来表现。