AlphaFeed Blog

AlphaFeed K 线的 OHLCV 字段怎么理解?open/high/low/close/volume/amount 含义与单位

入门与取数 · 代码验证于 2026-09-25

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

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

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

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

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

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

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:

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 决定

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 取值含义OHLCvolume/amount
none不复权(原始价)原始成交价原始
forward前复权以最新价为基准回溯调整不变
backward后复权以最早价为基准向后调整不变

第 4 步:常见派生计算

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))

关键坑与注意事项

常见问题(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) 自检均价,行情计算就不会出错。

相关链接:


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