通过API查询股票基本面+K线

在股票投资和分析中,获取实时的股票基础信息是非常重要的。Infoway 提供了一个 API 接口,允许用户快速获取股票的基本信息,比如公司名称、每股收益(EPS)、每股账面价值(BPS)、股息收益率等。本文将通过具体的代码示例,教你如何使用该接口。

1. 查个股基础资料

该接口可查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)

###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"
    }
  ]
}

2. 查最新成交明细

这个接口支持批量查询,除了股票还能查其他品种,如外汇、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.1 返回示例

{
  "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
    }
  ]
}

##3. 查K线

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走长连接订阅的方式,数据实时推送过来,延迟更低,具体可以看对接文档。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!