新加坡股票API、SGX实时行情、新加坡历史K线数据,这几个是这篇教程要解决的问题。新加坡交易所(SGX)是东南亚重要的金融枢纽,星展银行(DBS)、新电信(Singtel)这些蓝筹股一直是量化和资讯类产品的常见标的。下面用itick的Python SDK,按四个步骤把对接流程走完,照着做基本10分钟能跑通。

pip install itick-sdk去itick.org注册,登录后台的Dashboard页面能看到你的API Key,这个token接下来REST和WebSocket都要用。
from itick.sdk import Client
token = "your_api_token"
client = Client(token)
# 新加坡region代码是SG
# 星展银行 D05
quote = client.get_stock_quote("SG", "D05")
print("DBS Quote:", quote)
# 新电信 Z74,历史K线,日线,取30天
kline = client.get_stock_kline("SG", "Z74", 8, 30)
print("Singtel Kline:", kline)这里要注意,新加坡股票代码用的是SGX的交易代码,比如星展银行是D05、新电信是Z74、华侨银行(OCBC)是O39,跟股票名称的英文缩写没有直接对应关系,具体代码可以在itick的产品列表接口里查询确认。
kType参数照旧:1分钟=1,5分钟=2,15分钟=3,30分钟=4,1小时=5,日线=8,周线=9,月线=10。
import time
def on_message(msg):
print("行情:", msg)
def on_error(err):
print("出错:", err)
client.set_message_handler(on_message)
client.set_error_handler(on_error)
client.connect_stock_websocket()
client.send_websocket_message(
'{"ac":"subscribe","params":"D05$SG,Z74$SG,O39$SG","types":"quote,tick"}'
)
time.sleep(15)
print("连接状态:", client.is_websocket_connected())
client.close_websocket()订阅成功之后,服务端返回quote类型的数据大概长这样:
{
"code": 1,
"data": {
"s": "D05",
"r": "SG",
"ld": 36.5,
"o": 36.2,
"h": 36.7,
"l": 36.1,
"t": 1731689407000,
"v": 2345000,
"ch": 0.3,
"chp": 0.82,
"type": "quote"
}
}字段含意跟其他市场保持一致,ld最新价、ch涨跌额、chp涨跌幅百分比,这套字段结构是itick所有股票市场统一的,学一次就能用在所有市场上。
get_stock_quotes、get_stock_klines)适合同时查询多只新加坡股票的场景,能省掉循环调用单个接口的麻烦。新加坡这条线整体对接下来比较轻量,四步走完基本能拿到实时行情和历史K线两块数据。如果你的产品还需要覆盖泰国、越南这些东南亚其他市场,itick也是支持的,切换region参数就行,SDK的调用逻辑完全不用变。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。