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

一句话回答: 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」,周线月线直接取无需手动合成,传错会报错并列出合法值。取任意周期,只需改一个字符串。

参考

相关推荐
老歌老听老掉牙1 小时前
基于 Python 的顺次文本拼接:以 MCD 数控文件为例
python·数控·mcd
朝朝辞暮i1 小时前
VLA 系统学习第 7 课:loss.backward() 到底做了什么?——从计算图到反向传播
人工智能·python·深度学习·神经网络·vla
企业数字化笔记1 小时前
AI工具的文件和参数怎么设计?上传校验、配置版本与可复现任务
前端·人工智能
铁皮饭盒1 小时前
还是网页端, 46mb模型, 抠图功能升级了, 抠任意主体, 还是不要显卡, 不要python, 满意吗?
前端·javascript·后端
怕浪猫1 小时前
Agent 怎么做规划?这道面试题淘汰了 80% 的候选人
前端·面试·agent
外收内放1 小时前
Python基础语法练习题(53-54)
python·学习
聪明蛋子哟1 小时前
Python与Java双栈实战:手撸一个支持RAG与Tool Calling的高性能Agent框架
java·开发语言·python
麦壳饼1 小时前
架构深度解析:SonnetDB 的写入与查询路径
数据库·sonnetdb
databook2 小时前
什么是范数?用 NumPy 动手算一遍就明白了
python·数学·numpy