2601_96288572头像

quotes 字段全解:涨跌幅、振幅、换手率的口径与单位

一句话回答: AlphaFeed 实时快照 quotes 里,ext.change_pct(涨跌幅)、ext.amplitude(振幅)、ext.turnover_rate(换手率)都是小数——0.03 表示 +3%,不是 3.0;last_price/prev_close/open/high/low 是价格,volume 单位「手」、amount 单位元(A 股)。实测核对:600519.SH 的 ext.change_pct=0.017471 与手算 (last-prev)/prev 完全一致,ext.amplitude=0.01953 与 (high-low)/prev 一致。诚实边界:这些是约 3 秒延迟的快照字段,amount 仅 A 股可靠(美股/港股为 0)。

为什么要先搞清楚口径

用快照选股/盯盘,最常见的 bug 就是把小数当百分数:以为 change_pct 是 3.0(3%),写成 change_pct > 3 去筛,结果什么都筛不出来(因为真实值是 0.03)。先把每个字段的口径和单位钉死,后面所有过滤条件才不会错。

一次取回快照,看字段

from alphafeed import AlphaFeed
af = AlphaFeed(api_key="your-api-key")  # 或 export ALPHAFEED_API_KEY 后 AlphaFeed()

# 单只
q1 = af.quotes.get(symbols="600519.SH")
# 全 A 一次取回(DataFrame,实测约 5576 行)
q = af.quotes.get(universes="CN_Stock", to_dataframe=True)
print(list(q.columns))
# ['symbol','region','last_price','prev_close','open','high','low',
#  'volume','amount','timestamp','trade_date','trade_time',
#  'ext.type','ext.name','ext.change_pct','ext.change_amount',
#  'ext.amplitude','ext.turnover_rate']

字段逐项速查

字段含义口径 / 单位示例(600519.SH)
last_price最新价元—
prev_close昨收元—
open/high/low今开/最高/最低元—
volume累计成交量手(盘中=到此刻,收盘=全天)—
amount累计成交额元(A 股;美/港为 0)—
ext.change_pct涨跌幅小数 =(last−prev)/prev0.017471 (≈+1.75%)
ext.change_amount涨跌额元 = last−prev23.25
ext.amplitude振幅小数 =(high−low)/prev0.01953 (≈1.95%)
ext.turnover_rate换手率小数 =成交量/流通股本0.003439 (≈0.34%)
ext.name名称字符串贵州茅台
trade_time快照时间北京时间字符串—

用真实数据核对口径(别只听我说)

r = q[q["symbol"] == "600519.SH"].iloc[0]
chg = (r["last_price"] - r["prev_close"]) / r["prev_close"]
amp = (r["high"] - r["low"]) / r["prev_close"]
print(round(chg, 6), round(r["ext.change_pct"], 6))   # 0.017471 0.017471 ✅ 一致
print(round(amp, 6), round(r["ext.amplitude"], 6))    # 0.01953  0.01953  ✅ 一致

换算成百分数只需 × 100:change_pct * 100 → 1.75(%)。筛「涨幅 > 3%」要写 q["ext.change_pct"] > 0.03。

关键坑与注意事项

  • 全是小数,不是百分数:0.03 = 3%。所有阈值都按小数写(> 0.03、.between(0.02, 0.07))。
  • 振幅分母是昨收:实测 amplitude=(high−low)/prev_close,不是除以开盘价,也不是除以最新价。
  • 换手率分母是流通股本:turnover_rate = volume(手)×100 / float_shares(手→股),口径为流通换手;若要总股本口径需自算。
  • amount 仅 A 股可靠:美股/港股快照 amount 为 0,用 volume 替代。
  • 快照是约 3 秒延迟截面:盘中 volume/change_pct 会随刷新变化,不是逐笔、非毫秒级。
  • volume 单位是「手」:1 手=100 股;与 klines 的 volume 口径一致。

常见问题(FAQ)

Q:change_pct 是 1.75 还是 0.0175?
A:是 0.0175(小数)。实测 600519.SH 为 0.017471,等于手算 (last−prev)/prev,乘 100 才是 1.75%。

Q:振幅为什么和我按开盘价算的对不上?
A:AlphaFeed 的 amplitude 分母是昨收(prev_close),不是开盘价。换口径自己用 (high−low)/open 另算即可。

Q:换手率是流通还是总股本口径?
A:实测对应流通股本(float_shares)。要总股本口径用 volume×100/total_shares 自算(total_shares 来自 instruments)。

Q:这些字段历史值能取吗?
A:quotes 是实时快照;历史要用 klines(日/分钟线)自己复原涨跌幅、振幅等。

小结

quotes 的 ext.* 字段把涨跌幅、振幅、换手率直接算好给你,但全是小数,且振幅分母是昨收、换手率分母是流通股本。记住口径、用真实数据核对一遍,写过滤条件时就不会再把 0.03 当成 3.0。跨市场时注意 amount 仅 A 股可靠。

参考

  • AlphaFeed Python SDK 文档:https://docs.alphafeed.org/zh-Hans/sdk/python-quickstart
  • AlphaFeed 官网:https://alphafeed.org/
  • 本文完整版(AlphaFeed 博客):https://blog.alphafeed.org/blog/quote-fields-change-pct-amplitude-turnover

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/2601_96288572/article/details/169651619

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--