市场数据接口主要分为实时行情接口和延时行情接口两种。它们最根本的区别在于数据更新的频率和时效性。延时行情,顾名思义,提供的是滞后于市场真实情况的数据,通常会有10到15分钟的时间延迟。这种延迟意味着你看到的价格和交易量并不是此刻市场上的最新数据。而实时行情则能提供几乎没有延迟的、毫秒级别的最新报价和交易信息。这种瞬间性对于交易者而言至关重要,因为市场的微小变动都可能影响交易结果。因此,选择哪种接口取决于你的具体需求和对数据时效性的要求。
实时行情接口的核心价值在于其提供的即时性和高精度数据,使其成为多种高级金融活动的基石。它主要应用于以下几个关键场景:
我们先看下API的基本信息:
请求地址:
https://data.infoway.io/stock/batch_kline/{klineType}/{klineNum}/{codes}
查询方式:REST, WebSocket
行情类型:实时
市场:A股,港股,美股,外汇,期货,虚拟币
接入文档:https://docs.infoway.io/
API Key申请:https://infoway.io/该接口可查A股、港股、美股,代码示例:
import requests
# API 请求的 URL,查询两个股票(平安银行和万科A)的信息
url = "https://data.infoway.io/common/basic/symbols/info?symbols=000001.SZ%2C000002.SZ&type=STOCK_CN"
# 请求头部
# 需要先在官网www.infoway.io申请API Key
headers = {
'User-Agent': 'Mozilla/5.0',
'Accept': 'application/json',
'apiKey': 'yourApikey' # 请替换为你自己的API密钥
}
# 发送 GET 请求,获取数据
response = requests.get(url, headers=headers)
# 打印返回的响应内容
print(response.text)2.1.1 股票基础信息返回示例
{
"ret": 200,
"msg": "success",
"traceId": "52327ed3-e96a-4e9a-a591-e910a0fcc563",
"data": [
{
"symbol": "000001.SZ", #股票代码
"market": "CN", #所属国家
"name_cn": "平安银行", #中文名称
"name_en": "PAB", #英文名
"name_hk": "平安銀行", #繁体名
"exchange": "SZSE", #所属交易所
"currency": "CNY", #货币单位
"lot_size": 100, #每手股数
"total_shares": 19405918198, #总股本
"circulating_shares": 19405762053, #流通股本
"hk_shares": 0, 港股股本(仅港股才有)
"eps": "2.2935271367158012", #每股盈利
"eps_ttm": "2.2504474951615995", #每股盈利TTM
"bps": "22.4755662447835698", #每股净资产
"dividend_yield": "0.9649999999963929", #股息
"stock_derivatives": "", #可提供的衍生品行情类型
"board": "SZMainConnect" #所属板块
},
{
"symbol": "000002.SZ",
"market": "CN",
"name_cn": "万科A",
"name_en": "Vanke",
"name_hk": "萬科A",
"exchange": "SZSE",
"currency": "CNY",
"lot_size": 100,
"total_shares": 11930709471,
"circulating_shares": 9724196533,
"hk_shares": 0,
"eps": "-4.147148946357911",
"eps_ttm": "-4.6403502137102706",
"bps": "16.4892858366243256",
"dividend_yield": "0",
"stock_derivatives": "",
"board": "SZMainConnect"
}
]
}这个接口支持批量查询,除了股票还能查其他品种,如外汇、Crypto、期货贵金属等。只需要更换请求URL即可,详情可以看官方文档。
import requests
url = "https://data.infoway.io/crypto/batch_trade/BTCUSDT%2CBNBUSDT"
# 请求头部
# 需要先在官网www.infoway.io申请API Key
headers = {
'User-Agent': 'Mozilla/5.0',
'Accept': 'application/json',
'apiKey': 'yourApikey' # 请替换为你自己的API密钥
}
response = requests.get(url, headers=headers)
print(response.text)2.2.1 逐笔Tick返回示例
{
"ret": 200,
"msg": "success",
"traceId": "854341a1-4779-4825-b713-74ac71ba75c9",
"data": [
{
"s": "BTCUSDT",
"t": 1750177310314,
"p": "104312.5",
"v": "0.01",
"vw": "1043.125",
"td": 1
},
{
"s": "BNBUSDT",
"t": 1750177309795,
"p": "645.35",
"v": "0.272",
"vw": "175.5352",
"td": 1
}
]
}K线是由一个周期内的高开低收价格聚合而成,在查询的时候需要传入你需要的K线周期,比如1=1分钟,2=5分钟,详情见官方对接文档。
import requests
url = "https://data.infoway.io/crypto/batch_kline/1/10/BTCUSDT%2CBNBUSDT"
# 请求头部
# 需要先在官网www.infoway.io申请API Key
headers = {
'User-Agent': 'Mozilla/5.0',
'Accept': 'application/json',
'apiKey': 'yourApikey' # 请替换为你自己的API密钥
}
response = requests.get(url)
print(response.text)以上展示的是HTTP查询,如果对延迟有要求,建议使用WebSocket走长连接订阅的方式,数据实时推送过来,延迟更低,具体可以看对接文档。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。