DEV Community

StockFX
StockFX

Posted on

iTick 全球外汇、股票、期货、基金实时行情 API 接口文档详解

在当今快节奏的金融市场中,获取准确、及时的行情数据至关重要。iTick 作为专业的金融 API 提供商,专注于股票实时行情、股票行情 API、股票实时报价 API、金融 API、金融行情数据 API、股指期货、金融行情、外汇实时行情、股票实时行情、期货行情、基金实时行情、外汇 API、基金 API 等领域。通过 iTick 的接口,用户可以轻松访问全球主流市场的实时和历史数据,支持外汇、股票、期货、基金等多种资产类型。本文将基于官方文档,对 iTick 的 REST API 和 WebSocket API 进行详解,帮助开发者快速上手。所有示例代码均使用 Python 语言,便于理解和集成。

概述

iTick API 覆盖全球多个市场,包括外汇(GB 市场)、股票(HK、SZ、SH、US 等)、期货(US、HK、CN)和基金(US 等)。接口类型主要分为 RESTful HTTP GET 请求和 WebSocket 实时推送。REST API 适合批量查询历史数据或单次获取实时行情,而 WebSocket 则适用于低延迟的实时数据流订阅。

关键特性

  • 数据实时性高,毫秒级更新。
  • 支持多种时间周期的 K 线数据(分钟、周、月等)。
  • 需要 API Token 认证(在 headers 中传递)。
  • 响应格式统一为 JSON,便于解析。

在使用前,用户需在 iTick 官网注册获取 Token。以下将分模块总结接口,不逐一列出所有代码示例,而是重点突出请求地址、参数,并挑选典型接口提供详细 Python 示例。

REST API 详解

REST API 通过 HTTPS GET 请求访问,基址为https://api.itick.org。所有接口都需要在 headers 中添加accept: application/jsontoken: your_token

1. 外汇 API(Forex)

外汇 API 聚焦 EUR/USD、GBP/USD 等主流货币对,支持实时报价、盘口、成交和历史 K 线。市场代码固定为GB

  • 实时报价:GET /forex/quote?region={region}&code={code}

    • 参数:region (必填,GB), code (必填,如 EURUSD)
    • 响应:最新价(ld)、开盘价(o)等。
  • 实时盘口:GET /forex/depth?region={region}&code={code}

    • 参数:同上。
    • 响应:买盘(b)、卖盘(a),包括价格(p)和挂单量(v)。
  • 实时成交:GET /forex/tick?region={region}&code={code}

    • 参数:同上。
    • 响应:最新价(ld)、成交量(v)、时间戳(t)。
  • 历史 K 线查询:GET /forex/kline?region={region}&code={code}&kType={kType}&limit={limit}&et={et}

    • 参数:region (GB), code (EURUSD), kType (1-10,分钟到月 K), limit (K 线数量,必填), et (截止时间戳,可选)。
    • 响应:数组,每项包括开盘(o)、最高(h)、最低(l)、收盘(c)等。

详细 Python 示例(实时报价)

import requests

url = "https://api.itick.org/forex/quote?region=GB&code=EURUSD"
headers = {
    "accept": "application/json",
    "token": "your_token"
}

response = requests.get(url, headers=headers)
if response.status_code == 200:
    data = response.json()
    print("最新价:", data.get('data', {}).get('ld'))
else:
    print("请求失败:", response.text)
Enter fullscreen mode Exit fullscreen mode

此示例演示如何获取 EUR/USD 的实时报价,响应中ld字段即为最新价格。

2. 股票 API(Stock)

股票 API 支持全球多个交易所,如 HK(港股)、US(美股)。接口包括实时报价、盘口、成交和 K 线。

  • 实时报价:GET /stock/quote?region={region}&code={code}

    • 参数:region (如 HK), code (如 700 for 腾讯控股)。
    • 响应:类似外汇,包括涨跌幅(chp)。
  • 实时盘口:GET /stock/depth?region={region}&code={code}

    • 参数:同上。
    • 响应:多档买盘/卖盘。
  • 实时成交:GET /stock/tick?region={region}&code={code}

    • 参数:同上。
  • 历史 K 线查询:GET /stock/kline?region={region}&code={code}&kType={kType}&limit={limit}&et={et}

    • 参数:类似外汇,region 支持 HK、US 等。

详细 Python 示例(历史 K 线)

import requests

url = "https://api.itick.org/stock/kline?region=HK&code=700&kType=2&limit=10"
headers = {
    "accept": "application/json",
    "token": "your_token"
}

response = requests.get(url, headers=headers)
if response.status_code == 200:
    kline_data = response.json().get('data', [])
    for bar in kline_data:
        print(f"时间: {bar['t']}, 开盘: {bar['o']}, 收盘: {bar['c']}")
else:
    print("请求失败")
Enter fullscreen mode Exit fullscreen mode

此代码获取腾讯控股的最近 10 根 5 分钟 K 线,支持数据分析和图表绘制。

3. 期货 API(Future)

期货 API 覆盖商品、金融期货,支持 US、HK、CN 市场,如股指期货(NQ for 纳斯达克指数期货)。

  • 实时报价:GET /future/quote?region={region}&code={code}

    • 参数:region (US 等), code (NQ)。
  • 实时盘口:GET /future/depth?region={region}&code={code}

  • 实时成交:GET /future/tick?region={region}&code={code}

  • 历史 K 线查询:GET /future/kline?region={region}&code={code}&kType={kType}&limit={limit}&et={et}

这些接口响应格式与股票类似,适合量化交易策略。

4. 基金 API(Fund)

基金 API 主要针对场内 ETF/LOF,如 US 市场的 QQQ(纳斯达克 ETF)。

  • 实时报价:GET /fund/quote?region={region}&code={code}

    • 参数:region (US), code (QQQ)。
  • 实时盘口:GET /fund/depth?region={region}&code={code}

  • 实时成交:GET /fund/tick?region={region}&code={code}

  • 历史 K 线查询:GET /fund/kline?region={region}&code={code}&kType={kType}&limit={limit}&et={et}

接口设计与期货相似,强调 IOPV 净值等基金特有数据。

WebSocket API 详解

WebSocket 适合实时推送,连接地址如wss://api.itick.org/stock(替换为 forex/future/fund)。需在 headers 中传递 Token。

连接流程

  1. 连接后收到"Connected Successfully"。
  2. 自动验证,成功后"authenticated"。
  3. 发送订阅请求:{"ac": "subscribe", "params": "AAPL$US", "types": "quote,tick,depth"}
  • params: 标的,如"AAPL$US"(多标的用逗号分隔)。
  • types: quote(报价)、tick(成交)、depth(盘口)。
  1. 接收数据:JSON 格式,包含 type 字段区分类型。

Python 示例(使用 websocket 库)

import websocket
import json

WS_URL = "wss://api.itick.org/stock"
API_TOKEN = "your_token"

def on_message(ws, message):
    data = json.loads(message)
    print("收到数据:", data)

def on_open(ws):
    print("连接成功")
    subscribe_msg = {
        "ac": "subscribe",
        "params": "AAPL$US",
        "types": "quote,tick"
    }
    ws.send(json.dumps(subscribe_msg))

ws = websocket.WebSocketApp(WS_URL, header={"token": API_TOKEN},
                            on_open=on_open, on_message=on_message)
ws.run_forever()
Enter fullscreen mode Exit fullscreen mode

此示例订阅苹果股票的实时报价和成交,支持心跳包(每 30s 发送 ping)以保持连接。

结语

iTick API 提供了覆盖全球外汇、股票、期货、基金市场的全方位实时行情数据服务,通过 RESTful 和 WebSocket 两种接口形式满足不同场景需求——REST API 适合批量数据查询和历史数据获取,WebSocket 则为实时性要求高的交易场景提供低延迟数据流。接口设计统一规范,支持多档盘口、K 线数据、实时报价等多种数据类型,配合完善的认证机制和 JSON 响应格式,为量化分析、交易系统开发、金融应用构建提供了稳定可靠的数据基础。

温馨提示:本文仅供参考,不构成任何投资建议。市场有风险,投资需谨慎

参考文档:https://docs.itick.org/
GitHub:https://github.com/itick-org/

Top comments (0)