同花顺api每秒获取次数是全盘数据吗?还是个股数据

企业微信

同花顺API每秒限制针对什么数据

同花顺API的每秒获取次数限制针对的是个股数据,不是全盘数据。每次调用接口通常返回单只股票或期货合约的实时行情、历史数据或财务数据。同花顺官方接口如 real-time quotehistory 类,设计上以单标的为请求单位。即使用户传入股票列表,底层也会拆分为多个单标的请求,每个请求计入每秒配额。全盘数据指所有A股或所有期货合约的行情快照,单次请求返回数千条记录。同花顺公开API没有直接提供全盘数据接口,获取全盘数据需要自行轮询所有标的。

接口频率限制的具体表现

同花顺个人版API免费账户每秒限制约1-5次请求,VIP账户可提升到10-20次。每次请求只能查询一只股票或一只期货合约。若想获取全盘A股数据,约5000只股票,按每秒5次请求计算,需要1000秒完成一轮。全盘行情刷新频率远低于此,实时交易中不可行。同花顺的Level-1行情接口对个股限制明确,全盘数据只能通过组合批量请求,每次请求包含多只股票时,实际内部仍按个股计数。

全盘数据获取的可行路径

真正获取全盘数据的方式包括:

同花顺api每秒获取次数是全盘数据吗?还是个股数据

  1. 使用同花顺全推行情接口(如 THS_Realtime 的批量模式),该接口单次可返回多只股票,但每秒调用次数限制更严格,通常1-2次。

  2. 通过同花顺数据中心购买Level-2全推数据,该服务不按每秒次数计费,按订阅标的数量收费。

  3. 使用第三方数据源如Tushare、AkShare等,它们聚合了全盘数据,但更新频率和实时性不如同花顺原生API。

期货场景下,同花顺API对单个期货合约的每秒请求限制与股票类似,但期货交易所(上期所、大商所、郑商所)有独立的限流规则。全盘期货数据包括所有活跃合约,约100-200个主力合约,每秒请求5次时,一轮耗时20-40秒,适合中低频策略。

期货API频率限制的特别之处

期货行情API通常区分快照和逐笔。同花顺期货接口每秒获取次数限制针对每个合约的请求。全盘期货数据可以通过订阅多个合约实现,但受限于API总频率。部分期货公司提供CTP接口,其每秒查询次数限制为1次,但全推模式不限制。同花顺的期货API在日内高频场景下,建议使用 subscribe 模式而非 poll 模式,后者每次轮询一只合约,前者推送所有订阅合约。

代码演示:轮询个股与批量请求的差异

以下Python代码展示同花顺API单只股票请求与批量请求的频率消耗。假设使用 ths_api 库。


import time

from ths_api import THSClient

client = THSClient(token='your_token')

# 单只股票请求,每秒最多5次

start = time.time()

for i in range(5):

    quote = client.get_realtime_quote('600519.SH')

    time.sleep(0.2)

elapsed = time.time() - start

print(f'5次个股请求耗时: {elapsed:.2f}秒')  # 约1秒,达到频率上限

# 批量请求10只股票,但内部按10次计数

stocks = ['600519.SH', '000858.SZ', '601318.SH', '600036.SH', '000333.SZ',

          '600900.SH', '601166.SH', '000651.SZ', '600276.SH', '300059.SZ']

start = time.time()

for code in stocks:

    quote = client.get_realtime_quote(code)

    time.sleep(0.2)  # 必须延迟,否则触发限流

elapsed = time.time() - start

print(f'10只个股请求耗时: {elapsed:.2f}秒')  # 约2秒

# 全盘5000只股票,按每秒5次计算

print(f'全盘轮询耗时: {5000/5:.0f}秒')

期货场景下,轮询100个主力合约,每秒5次,需要20秒完成一轮。若使用 subscribe 推送模式,每秒可接收数百条更新,不受请求次数限制。

如何判断API限制类型

查看同花顺API文档中的 rate limit 说明。若写“per request per second”或“per symbol per second”,则限制针对个股。若写“per batch”或“per push”,则针对全盘。实测方法:连续请求同一只股票10次,记录耗时;再请求10只不同股票各1次,记录耗时。前者触发限流更快,说明限制按个股计数。全盘数据请求通常需要特殊权限,普通API密钥无法调用。

期货交易中的频率规划

期货日内策略需要高频数据。同花顺API每秒获取次数限制为个股或单合约时,建议使用多线程或异步请求,但总频率不能超过账户上限。全盘期货数据获取可借助 THS_History 批量下载历史分钟线,实时全盘则依赖全推接口。对于套利策略,同时监控20个合约,每秒请求5次,每个合约每秒0.25次,完全可行。对于趋势策略,全盘扫描100个合约,每秒5次,20秒一轮,适合1分钟以上K线周期。

常见误解与正确用法

误解一:同花顺API每秒获取次数是全盘数据。事实是每次请求只返回一只股票,全盘需要多次请求。误解二:修改 page_size 参数可一次获取多只股票。事实是多数接口不支持分页批量,仅历史数据接口支持。误解三:期货与股票共享频率限额。事实是期货有独立限流,但同花顺账户总频率统一。正确用法:将全盘数据拆分为多个个股请求,使用异步IO并发控制,避免瞬时超限。对于期货,优先使用订阅推送,减少轮询次数。

转载请注明出处:https://www.lianghuajiaoyi.top/wenzhang/tonghuashun-API-meimiao-huoqu-cishu-502.html