在股票投資和分析中,獲取實時的股票基礎信息是非常重要的。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線
K線是由以下四個價格聚合而成:
- 開盤價
- 最高價
- 最低價
- 收盤價
我們可以通過接口一次性查詢指定週期內的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走長連接訂閲的方式,數據實時推送過來,延遲更低,具體可以看對接文檔。