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

JoinQuant 聚宽 get_price 获取指数成交额不匹配?skip_paused 参数解析

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

问题描述

关于get_price中的参数,skip_paused的使用

现在使用如下语句想获取创业板指数的成交金额:
x = get_price('399006.XSHE', start_date='2020-03-06', end_date='2020-03-07', frequency='daily', fields= 'money',skip_paused=True)

得到的结果为:
money
2020-03-06 6.288269e+10

这个数据和实际成交金额是不匹配的,这是因为重复计算了停牌股的成交金额吗?

解决方案

您好!您遇到的数据不匹配问题,并不是因为 skip_paused 参数重复计算了停牌股的成交金额。这里主要存在两个常见的误区:指数定义的混淆数据单位的理解

下面为您详细解析:

1. skip_paused 参数对指数无效

在 JoinQuant 的 get_price 函数中,skip_paused 参数的作用是:是否跳过不交易日期(包括停牌、未上市或者退市后的日期)。如果不跳过,停牌时会使用停牌前的数据填充。

但是,这个参数主要是针对个股的。对于股票指数(如创业板指 399006.XSHE)而言,指数本身是由交易所统一计算并发布的,只要市场开市,指数就会有行情数据,不存在“指数停牌”的概念。因此,无论 skip_paused 设置为 True 还是 False,获取到的指数行情数据都是一样的,交易所发布的指数成交额是多少,接口返回的就是多少,不会去底层重新累加成分股。

2. 数据不匹配的真正原因

原因一:混淆了“创业板指”与“创业板整个市场”

您使用的代码是 399006.XSHE,这是创业板指(创业板指数)。

  • 创业板指(399006.XSHE):仅仅包含了创业板市场中市值大、流动性好的 100 只代表性股票。您获取到的 6.288269e+10(约 628.8 亿元)正是这 100 只成分股在当天的成交金额之和。
  • 创业板综指(399102.XSHE):如果您想看的是整个创业板市场所有股票的总成交金额,您应该获取的是创业板综合指数。

如果您去行情软件上对比,请确认您看的是“创业板指”的成交额,还是整个“创业板”板块的总成交额。

原因二:数据单位是“元”

get_price 返回的 money 字段,其单位是元(RMB)
您得到的结果 6.288269e+10,科学计数法转换过来就是 62,882,690,000 元,即 628.82 亿元。您可以核对一下同花顺或东方财富等软件上 2020-03-06 这一天“创业板指(399006)”的成交额,应该是完全一致的。

总结与建议代码

如果您确实需要获取整个创业板市场的成交金额,请将代码修改为获取创业板综指(399102.XSHE)

# 获取整个创业板市场(创业板综指)的成交金额
x = get_price('399102.XSHE', start_date='2020-03-06', end_date='2020-03-07', frequency='daily', fields='money')

# 打印结果,并转换为“亿元”方便阅读
print(x / 1e8)

希望这个解答能帮您理清思路!