🚀 AI 一键生成 joinquant 策略代码
立即体验
👉 AI 生成代码 👈

JoinQuant 平台 get_price 默认的 volume 是前复权数据吗?

joinquant | 发布时间: 2026/6/24
以下内容由 EasyQuant 生成。

问题描述

默认getprice 的volume也是前复权?

默认
close当然是前复权
money没有复权的意义。
那么,volume是前复权?

解决方案

是的,默认情况下 get_price 返回的 volume(成交量)也是前复权后的数据

详细解释

在 JoinQuant 平台中,get_price 函数有一个 fq(复权)参数,其默认值为 'pre'(前复权)。根据官方 API 文档的说明:

fq: 复权选项(对股票/基金的价格字段、成交量字段及factor字段生效) :

  • 'pre', 前复权,默认是前复权
  • None, 不复权, 返回实际价格
  • 'post', 后复权

此外,文档在数据获取的小提示中也明确指出:

“天、分钟、tick行情里成交量单位是股,复权数据中成交量也是复权后的成交量;”

为什么成交量也需要复权?

当股票发生送股、转增股等情况时,股票的总股本会增加,股价会相应降低。为了保持历史数据在图表和策略计算中的连续性,不仅价格需要复权,成交量也需要进行相应的复权处理(通常是按比例放大),这样才能真实反映历史交易的活跃程度,避免因为股本变动导致成交量在图表上出现突兀的断层。

正如您所说,money(成交额)是实际发生的交易金额,不受拆分合并的影响,因此不需要复权。

如何获取真实的(不复权)成交量?

如果您在策略或研究中需要获取历史上真实的、未经过复权处理的成交量(即当时实际成交的股数),您只需要在调用 get_price 时,将 fq 参数显式设置为 None 即可:

# 获取不复权的真实成交量和价格
df_real = get_price('000001.XSHE', start_date='2023-01-01', end_date='2023-12-31', fq=None, fields=['close', 'volume', 'money'])

总结

  • close, open, high, low:默认前复权。
  • volume:默认前复权。
  • money:实际成交额,无复权概念。