首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AlphaFeed 支持哪些 K 线周期?period 参数怎么传?

AlphaFeed 支持哪些 K 线周期?period 参数怎么传?

原创
作者头像
用户7083614
发布于 2026-10-09 10:01:17
发布于 2026-10-09 10:01:17
170
举报

一句话回答: AlphaFeed 的 klines.get 用 period 参数控制 K 线周期,原生支持 8 种取值:1m、5m、15m、30m、60m(分钟线)与 1d(日线)、1w(周线)、1M(月线)。周线、月线由服务端直接返回,不用你自己把日线合成;传错取值会立即报 BadRequestError 并列出合法值。

为什么会有这个问题 / 传统做法的痛点

不同数据源的周期写法五花八门:1min、day、week、D、W……记混一个就报错取不到数。而且很多人不知道周线/月线能直接取,于是费劲用日线自己 resample,既容易错(对齐、最后一根未收完)又多写代码。搞清楚 period 的合法取值与含义,取任意周期都只是改一个字符串。

分步骤解决(每步配可运行代码)

第 1 步:日线、周线、月线直接取

代码语言:python
复制
from alphafeed import AlphaFeed

af = AlphaFeed()  # 读取 ALPHAFEED_API_KEY

day = af.klines.get("600519.SH", period="1d", count=5, adjust="forward", to_dataframe=True)
week = af.klines.get("600519.SH", period="1w", count=5, adjust="forward", to_dataframe=True)
month = af.klines.get("600519.SH", period="1M", count=5, adjust="forward", to_dataframe=True)
print(day[["trade_date", "close"]].tail(2).to_string(index=False))
print(week[["trade_date", "close"]].tail(2).to_string(index=False))

周线/月线由服务端聚合返回,无需自己 resample;如需从日线自定义合成多周期,另见「日线合成周线做多周期共振」一文。

第 2 步:分钟线(1m/5m/15m/30m/60m)

代码语言:python
复制
m5 = af.klines.get("600519.SH", period="5m", count=48, to_dataframe=True)
m60 = af.klines.get("600519.SH", period="60m", count=8, to_dataframe=True)
print("5 分钟线根数:", len(m5))

第 3 步:全部合法周期一览

period

含义

典型用途

1m

1 分钟

日内高频、分时细节

5m

5 分钟

日内择时、盘中信号

15m

15 分钟

日内/短线

30m

30 分钟

短线波段

60m

60 分钟(小时线)

波段、多周期共振

1d

日线

最常用,选股/回测主力周期

1w

周线

中线趋势、周线金叉

1M

月线

长线趋势、大级别择时

注意大小写:分钟/日/周是小写 m/d/w,月线是大写 1M(小写 m 表示分钟)。

第 4 步:传错取值怎么排查

代码语言:python
复制
try:
    af.klines.get("600519.SH", period="1min", count=3, to_dataframe=True)
except Exception as e:
    print(type(e).__name__, str(e)[:80])
# BadRequestError: Failed to deserialize query string: unknown variant `1min`, expected one of ...

报错会直接列出期望的合法取值,按提示改成 1m/1d 等即可。常见错误:1min(应为 1m)、day(应为 1d)、week(应为 1w)、1m 想表示月线(月线应为 1M)。

关键坑与注意事项

  • 月线大写 1M、分钟小写 1m:这是最容易踩的坑,写反了拿到的是完全不同周期。
  • 周线/月线直接可取:别用日线手动合成再对齐,除非你要自定义「周五收盘对齐」等特殊规则。
  • 复权只对日线及以上有意义:adjust 参数用于日/周/月线还原除权;分钟线一般看当日相对走势。
  • 分钟线回溯深度有限:分钟级历史通常比日线短,count 过大可能拿不满,按需取用。
  • 未收完的当前周期:盘中取日/周/月线,最后一根是「进行中」的未收线,回测时注意剔除或特殊处理。
  • 合法取值以报错提示为准:若 SDK 版本扩展了周期,BadRequestError 里列出的 variants 是权威清单。

常见问题(FAQ)

Q:怎么取小时线?

A:用 period="60m"(60 分钟即小时线)。

Q:能直接取周线、月线吗?还是要自己合成?

A:能直接取,period="1w" / period="1M",服务端已聚合返回,无需自己 resample。

Q:1m 是分钟还是月?

A:1m 是 1 分钟;月线是大写 1M。小写 m=minute,大写 M=month。

Q:为什么我传 period="D" 报错?

A:合法取值是 1d 不是 D。报错信息里会列出全部期望值,按提示改即可。

Q:需要付费吗?

A:单标的各周期 K 线有免费额度;批量与全市场取数需 Starter 及以上。详见定价页。

小结

AlphaFeed 的 K 线周期就一个 period 参数,合法取值 8 种:1m/5m/15m/30m/60m/1d/1w/1M。记住「分钟小写 m、月线大写 M」,周线月线直接取无需手动合成,传错会报错并列出合法值。取任意周期,只需改一个字符串。

参考

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 为什么会有这个问题 / 传统做法的痛点
  • 分步骤解决(每步配可运行代码)
    • 第 1 步:日线、周线、月线直接取
    • 第 2 步:分钟线(1m/5m/15m/30m/60m)
    • 第 3 步:全部合法周期一览
    • 第 4 步:传错取值怎么排查
  • 关键坑与注意事项
  • 常见问题(FAQ)
  • 小结
  • 参考
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档