如何接入歐洲股票實時行情與歷史數據:德國、荷蘭、英國、意大利
在全球金融市場日益互聯的今天,歐洲股票市場作為經濟引擎之一,吸引了無數投資者和開發者。德國(DE)、荷蘭(NL)、英國(GB)和意大利(IT)等市場以其成熟的交易體系和活躍的股票品種聞名。但如何高效接入這些市場的實時行情和歷史數據?本文介紹一款專業的股票行情接口提供商,通過低延時數據 API、股票接口和實時行情接口,幫助您輕鬆獲取金融行情,包括股票 tick 數據和全面的股票 API 接口。今天,我們將詳細指導您如何使用 WebSocket 和 REST API 接入歐洲股票的實時與歷史數據,讓您的量化策略、交易應用或數據分析更具競爭力。
多個市場支持,包括歐洲的核心交易所。無論是追蹤德國 DAX 指數成分股、荷蘭 AEX 指數股票、英國 FTSE 100 上市公司,還是意大利 MIB 指數下的藍籌股,他的的股票 api 接口都能提供毫秒級推送和歷史查詢,確保數據準確、低延時。接下來,我們分步解析接入流程,並提供 Python 代碼示例、參數表格、入參/出參示例以及響應示例。
實時行情接入:使用 WebSocket API 獲取股票 tick 和報價
WebSocket API 是實時行情接口的核心,支持 Level 1 & Level 2 數據推送,包括成交(tick)、報價(quote)和盤口(depth)。對於歐洲市場,您可以訂閲德國(region=DE)、荷蘭(NL)、英國(GB)和意大利(IT)的股票代碼,實現低延時數據 API 接入。連接過程包括連接、驗證、訂閲和心跳維護。
WebSocket API 參數説明
WebSocket 連接 URL:wss://api.itick.org/stock
| 參數名稱 | 描述 | 類型 | 必填 |
|---|---|---|---|
| token | API 密鑰,用於授權連接 | String | 是 |
訂閲請求(JSON 格式):
| 參數名稱 | 描述 | 類型 | 必填 | 示例 |
|---|---|---|---|---|
| ac | 操作類型,固定為 "subscribe" | String | 是 | "subscribe" |
| params | 標的代碼,支持多個,用逗號分隔。格式:code$region(例如,德國股票:ADS$DE) | String | 是 | "ADS$DE,UNA$NL,VOD$GB,ENI$IT" |
| types | 訂閲類型,支持 "tick"(成交)、"quote"(報價)、"depth"(盤口),用逗號分隔 | String | 是 | "tick,quote,depth" |
入參示例(訂閲德國 Adidas、荷蘭 Unilever、英國 Vodafone 和意大利 Eni 的實時數據):
{
"ac": "subscribe",
"params": "ADS$DE,UNA$NL,VOD$GB,ENI$IT",
"types": "tick,quote,depth"
}
出參示例(響應數據結構):
| 參數名稱 | 描述 | 類型 | 示例 |
|---|---|---|---|
| code | 響應代碼,1 表示成功 | Integer | 1 |
| msg | 消息描述 | String | "subscribe Successfully" |
| data | 數據內容,包含 s(符號)、ld(最新價)、v(成交量)等,根據 types 不同而變 | Object | 詳見響應示例 |
Python 代碼示例:接入實時行情
以下是使用 Python 的 WebSocket 客户端示例,訂閲歐洲股票的股票 tick、報價和盤口數據。確保替換 your_token 為您的 API 密鑰。
import websocket
import json
import threading
import time
# WebSocket 連接地址和 token
WS_URL = "wss://api.itick.org/stock"
API_TOKEN = "your_token"
def on_message(ws, message):
"""處理接收到的消息"""
print("Received message:", message)
data = json.loads(message)
# 處理連接成功的消息
if data.get("code") == 1 and data.get("msg") == "Connected Successfully":
print("Connected successfully, waiting for authentication...")
# 處理認證結果
elif data.get("resAc") == "auth":
if data.get("code") == 1:
print("Authentication successful")
# 認證成功後訂閲數據
subscribe(ws)
else:
print("Authentication failed")
ws.close()
# 處理訂閲結果
elif data.get("resAc") == "subscribe":
if data.get("code") == 1:
print("Subscription successful")
else:
print("Subscription failed:", data.get("msg"))
# 處理市場數據
elif data.get("data"):
# 打印實時行情數據
market_data = data["data"]
data_type = market_data.get("type")
symbol = market_data.get("s")
print(f"{data_type.upper()} data for {symbol}:", market_data)
def on_error(ws, error):
"""處理錯誤"""
print("Error:", error)
def on_close(ws, close_status_code, close_msg):
"""連接關閉回調"""
print("Connection closed")
def on_open(ws):
"""連接建立後的回調"""
print("WebSocket connection opened")
def subscribe(ws):
"""訂閲行情數據"""
subscribe_msg = {
"ac": "subscribe",
"params": "ADS$DE,UNA$NL,VOD$GB,ENI$IT",
"types": "tick,quote,depth"
}
ws.send(json.dumps(subscribe_msg))
print("Subscribe message sent")
def send_ping(ws):
"""定期發送心跳包"""
while True:
time.sleep(30) # 每30秒發送一次心跳
ping_msg = {
"ac": "ping",
"params": str(int(time.time() * 1000))
}
ws.send(json.dumps(ping_msg))
print("Ping sent")
if __name__ == "__main__":
# 創建 WebSocket 連接,通過header傳遞token
ws = websocket.WebSocketApp(
WS_URL,
header={"token": API_TOKEN},
on_open=on_open,
on_message=on_message,
on_error=on_error,
on_close=on_close
)
# 在單獨的線程中啓動心跳機制
ping_thread = threading.Thread(target=send_ping, args=(ws,))
ping_thread.daemon = True
ping_thread.start()
# 啓動 WebSocket 連接
ws.run_forever()
響應示例
成交(tick)響應:
{
"code": 1,
"data": {
"s": "ADS.DE",
"ld": 225.215,
"v": 16742235,
"t": 1731689407000,
"type": "tick"
}
}
報價(quote)響應:
{
"code": 1,
"data": {
"s": "ADS.DE",
"ld": 225.215,
"o": 226.27,
"h": 226.92,
"l": 224.44,
"t": 1731689407000,
"v": 16742235,
"tu": 3774688301.452,
"ts": 0,
"type": "quote"
}
}
盤口(depth)響應:
{
"code": 1,
"data": {
"s": "ADS.DE",
"a": [
{ "po": 1, "p": 3034.01, "v": 10.6023, "o": 10.6023 }
// ... 更多賣盤
],
"b": [
{ "po": 1, "p": 3034, "v": 20.9758, "o": 20.9758 }
// ... 更多買盤
],
"type": "depth"
}
}
通過這個實時行情接口,您可以構建低延時交易系統,實時監控歐洲股票的金融行情和股票 tick 變化。
歷史數據接入:使用 REST API 查詢 K 線
對於歷史分析股票接口的 K 線查詢 API,支持從分鐘線到月線的多週期數據。歐洲市場如德國、荷蘭、英國和意大利的股票歷史數據完整,包括 OHLCV(開盤、最高、最低、收盤、成交量)和成交額,確保復權準確。
REST API 參數説明
請求 URL:GET https://api.itick.org/stock/kline?region={region}&code={code}&kType={kType}&limit={limit}&et={et}
| 參數名稱 | 描述 | 類型 | 必填 | 示例 |
|---|---|---|---|---|
| region | 市場代碼,支持 DE(德國)、NL(荷蘭)、GB(英國)、IT(意大利)等 | String | 是 | "DE" |
| code | 產品代碼 | String | 是 | "ADS" |
| kType | K 線類型(1:1 分鐘, 2:5 分鐘, 3:15 分鐘, 4:30 分鐘, 5:1 小時, 6:2 小時, 7:4 小時, 8:日, 9:周, 10:月) | Integer | 是 | 2 |
| limit | K 線數量 | Integer | 是 | 10 |
| et | 截止時間戳(為空默認為當前) | Integer | 否 | 1741239000000 |
入參示例(查詢德國 Adidas 的最近 10 條 5 分鐘 K 線):
https://api.itick.org/stock/kline?region=DE&code=ADS&kType=2&limit=10
出參示例(響應數據結構):
| 參數名稱 | 描述 | 類型 | 示例 |
|---|---|---|---|
| t | 時間戳 | Number | 1741239000000 |
| o | 開盤價 | Number | 535 |
| h | 最高價 | Number | 536 |
| l | 最低價 | Number | 534.5 |
| c | 收盤價 | Number | 534.5 |
| v | 成交數量 | Number | 104799385 |
| tu | 成交額 | Number | 56119888070.5 |
Python 代碼示例:查詢歷史 K 線
以下是使用 Python 的 REST 請求示例,查詢歐洲股票的歷史數據。確保替換 your_token 為您的 API 密鑰。
import requests
url = "https://api.itick.org/stock/kline?region=DE&code=ADS&kType=2&limit=10"
headers = {
"accept": "application/json",
"token": "your_token"
}
response = requests.get(url, headers=headers)
print(response.text)
響應示例
{
"code": 0,
"msg": null,
"data": [
{
"tu": 56119888070.5,
"c": 534.5,
"t": 1741239000000,
"v": 104799385,
"h": 536,
"l": 534.5,
"o": 535
}
// ... 更多 K 線數據
]
}
這個股票 api 接口適合回測策略或構建圖表,提供全面的金融行情歷史洞察。
結語
歐洲股市作為全球金融市場的重要組成部分,掌握實時行情數據的獲取方式,是你踏入這片投資天地的第一步,也是構建成功投資策略的基石。無論是實時行情監控、高頻 Tick 分析還是歷史策略回測,你都可以在這裏找到適合的解決方案輕鬆接入德國、荷蘭、英國和意大利等歐洲市場的低延時數據 API、股票 tick 和歷史 K 線。
注:本文提供的代碼示例僅供參考,實際使用請根據官方最新文檔修改
GitHub:https://github.com/itick-org/