首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AlphaFeed K 线的 OHLCV 字段怎么理解?(含单位)

AlphaFeed K 线的 OHLCV 字段怎么理解?(含单位)

原创
作者头像
用户7083614
发布于 2026-10-12 15:00:59
发布于 2026-10-12 15:00:59
230
举报

一句话回答: AlphaFeed 的 K 线核心行情字段是 open(开盘)、high(最高)、low(最低)、close(收盘)、volume(成交量,单位「手」,1 手 = 100 股)、amount(成交额,单位「元」)。价格是否复权取决于取数时的 adjust 参数;用 amount / (volume × 100) 可估算当根的成交均价。

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

字段单位不搞清就会算错:把 volume 当成「股」去乘价格,会和 amount 差 100 倍;把未复权价当复权价做回测,收益全错。A 股 volume 习惯以「手」计(1 手 100 股),amount 以「元」计——先确认单位,再算市值、均价、换手才不会出错。

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

第 1 步:看清 K 线返回哪些字段

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

af = AlphaFeed()  # 读取 ALPHAFEED_API_KEY

df = af.klines.get("600519.SH", period="1d", count=3,
                   adjust="forward", to_dataframe=True)
print(list(df.columns))
# ['symbol','name','timestamp','trade_date','trade_time','open','high','low','close','volume','amount']
print(df[["open", "high", "low", "close", "volume", "amount"]].tail(2).to_string(index=False))

字段含义与单位:

字段

含义

单位

open

开盘价

元(是否复权看 adjust)

high

最高价

元

low

最低价

元

close

收盘价

元

volume

成交量

手(1 手 = 100 股)

amount

成交额

元

第 2 步:用 amount 和 volume 估算成交均价

因为 volume 是「手」,换算成「股」要乘 100:

代码语言:python
复制
row = df.iloc[-1]
avg_price = row["amount"] / (row["volume"] * 100)   # 成交额 / 成交股数
print(f"当日成交均价 ≈ {avg_price:.2f} 元")
# 实测该值落在当日 low~high 之间,验证单位关系正确

核对:amount ≈ close × volume × 100(因 volume 以手计)。若你误用 close × volume,会小 100 倍。

第 3 步:价格是否复权由 adjust 决定

代码语言:python
复制
raw = af.klines.get("600519.SH", period="1d", count=1, adjust="none", to_dataframe=True)
fwd = af.klines.get("600519.SH", period="1d", count=1, adjust="forward", to_dataframe=True)
print("未复权 close:", raw["close"].iloc[-1])
print("前复权 close:", fwd["close"].iloc[-1])
# 有分红送转历史的票,两者会不同;OHLC 都随 adjust 变,volume/amount 不受复权影响

adjust 取值

含义

OHLC

volume/amount

none

不复权(原始价)

原始成交价

原始

forward

前复权

以最新价为基准回溯调整

不变

backward

后复权

以最早价为基准向后调整

不变

第 4 步:常见派生计算

代码语言:python
复制
df["range_pct"] = (df["high"] - df["low"]) / df["close"].shift() * 100  # 当日振幅%
df["chg_pct"] = df["close"].pct_change() * 100                          # 日涨跌幅%
df["turnover_yi"] = df["amount"] / 1e8                                  # 成交额(亿元)
print(df[["trade_date", "chg_pct", "range_pct", "turnover_yi"]].tail(3).to_string(index=False))

关键坑与注意事项

  • volume 是「手」不是「股」:算成交股数、市值占比时记得 ×100,否则和 amount 对不上。
  • amount 单位是「元」:换算成「亿元」除以 1e8,别和「万元」混。
  • OHLC 随 adjust 变、volume/amount 不变:复权只调价格序列,不改成交量与成交额。
  • 做回测统一用前复权价:跨越除权日时未复权价会跳空,收益失真。
  • 停牌日:停牌时 volume/amount 可能为 0,做量能指标要判空跳过。
  • 分钟线的 amount/volume 是该分钟段的:不是累计值,聚合到日要自行求和核对。

常见问题(FAQ)

Q:volume 到底是手还是股?

A:手。A 股 1 手 = 100 股。要成交股数就 volume × 100;amount ≈ close × volume × 100 可自检。

Q:amount 是元还是万元?

A:元。换算成亿元除以 1e8,换算成万元除以 1e4。

Q:close 是复权价吗?

A:取决于 adjust。none 是原始价,forward/backward 是复权价;做指标/回测建议用 forward。

Q:怎么算成交均价(VWAP 近似)?

A:amount / (volume × 100) 即当根成交均价;分时 VWAP 见「日内分时 VWAP」一文。

Q:需要付费吗?

A:K 线取数有免费额度;批量与全市场取数需 Starter 及以上。字段解析是本地处理,不涉及付费。详见定价页。

小结

AlphaFeed K 线的行情字段就是标准 OHLCV 加成交额:价格看 open/high/low/close(是否复权由 adjust 决定),volume 单位是「手」(×100 得股数),amount 单位是「元」。记住「volume 是手、amount 是元、复权只影响 OHLC」,用 amount/(volume×100) 自检均价,行情计算就不会出错。

参考

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

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

目录
  • 为什么会有这个问题 / 传统做法的痛点
  • 分步骤解决(每步配可运行代码)
    • 第 1 步:看清 K 线返回哪些字段
    • 第 2 步:用 amount 和 volume 估算成交均价
    • 第 3 步:价格是否复权由 adjust 决定
    • 第 4 步:常见派生计算
  • 关键坑与注意事项
  • 常见问题(FAQ)
  • 小结
  • 参考
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档