本文档旨在为开发者提供关于如何使用StockTV API获取特定股票或指数的K线数据(即OHLCV数据,包括开盘价、最高价、最低价、收盘价以及成交量),以及如何通过WebSocket (WS) 获取实时市场数据的详细指南。通过本文档,您将了解到如何构造请求URL,解析返回的数据,以及一些实用的应用场景示例。
https://api.stocktv.top/stock/kline?pid=股票id&interval=TIME_INTERVAL&key=YOUR_API_KEY
symbol
: 股票代码或指数符号。interval
: 时间间隔,如1min, 5min, 30min, 1day等。key
: 您的API Key。所有响应数据均为JSON格式,包含以下字段:
code
: 状态码,200表示成功。message
: 状态信息。data
: 数据数组,每个元素代表一个时间点的K线数据。{
"code": 200,
"message": "操作成功",
"data": [
{
"time": 1719818400000, // 时间戳
"open": 239.42, // 开盘价格
"high": 239.6, // 最高价
"low": 239.42, // 最低价
"close": 239.6, // 收盘价
"volume": 0, // 成交量
"vo": 0 // 成交额
},
...
]
}
除了传统的REST API外,StockTV还支持通过WebSocket进行实时数据推送。这种方式特别适合需要即时响应市场变化的应用场景。WebSocket连接提供的数据是实时的,并且没有访问次数限制,非常适合需要持续监控市场价格动态的用户。
WebSocket返回的数据格式如下所示:
{
"ask": "0.680", // 卖单价
"bid": "0.675", // 买单价
"high": "0.680", // 最高价
"last_close": "0.680", // 前收盘价
"last_dir": "greenBg", // 最后交易方向
"last_numeric": "0.68", // 最终成交价(当前最新价)
"low": "0.650", // 最低价
"message": "pid-992844", // 产品
"pc": "0.000", // 涨跌额
"pc_col": "blackFont", // 价格变化颜色
"pcp": "0.00", // 涨跌幅 暂时需要拼接%
"pid": "992844", // 产品pid
"time": "02:44:11", // 交易时间
"timestamp": "1717728251", // 时间戳
"turnover_numeric": "3672800", // 成交额数值
"type": 1 // 类型 1股票 2指数
}
获取API Key: 首先,请联系StockTV团队以获取您的专属API Key。
建立WebSocket连接: 使用您的API Key建立到StockTV WebSocket服务器的连接。具体URL和参数请参考官方文档或直接咨询StockTV团队。
接收并处理实时数据: 连接成功后,您将开始接收实时市场数据。根据您的应用需求解析这些数据,并据此作出相应的业务逻辑处理。
以下是Python中使用websockets
库接收WebSocket实时数据的一个简单示例:
import asyncio
import websockets
async def listen():
uri = "wss://ws-api.stocktv.top/connect?key=YOUR_API_KEY" # 请替换为实际的WebSocket URL和Key
async with websockets.connect(uri) as websocket:
while True:
response = await websocket.recv()
data = json.loads(response)
print(f"卖单价: {data['ask']}, 买单价: {data['bid']}, 最新价: {data['last_numeric']}")
asyncio.get_event_loop().run_until_complete(listen())
无论是进行技术分析、数据可视化还是构建实时报价系统,StockTV提供的K线接口和WebSocket实时数据都能为您提供强有力的支持。希望本文档能帮助您更好地理解和利用StockTV的服务,为您的金融分析或应用开发带来便利。