越南股票API、VNM实时行情、越南历史K线数据——这个市场这两年热度涨得挺快,胡志明证券交易所(HOSE)的乳制品龙头Vinamilk(VNM)、地产巨头Vingroup(VIC)都是常被提起的标的。数据接口这块其实不用想复杂,用itick的Python SDK照着走一遍就行,下面直接上代码。

pip install itick-sdk去itick官网注册,登录后台复制token。免费套餐先跑通流程,够用。
from itick.sdk import Client
import time
token = "your_api_token"
client = Client(token)
# 越南region代码是VN
# Vinamilk 乳制品龙头
quote = client.get_stock_quote("VN", "VNM")
print("VNM实时报价:", quote)
# Vingroup 历史K线,日线,近60天
kline = client.get_stock_kline("VN", "VIC", 8, 60)
print("VIC历史K线:", kline)
# 越南外贸银行 VCB
tick = client.get_stock_tick("VN", "VCB")
print("VCB最新成交:", tick)字段这块跟itick其他市场是一套标准,就不重复讲了,ld最新价、ch/chp涨跌额和涨跌幅、o/h/l开高低。kType的取值:1分钟=1、5分钟=2、15分钟=3、30分钟=4、1小时=5、日线=8、周线=9、月线=10。
越南这类相对小众市场,做产品的时候经常需要K线图实时刷新,而不只是报价数字跳动,这里顺便演示一下kline类型的订阅:
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()
# types里加上kline@1,订阅1分钟K线的实时推送
client.send_websocket_message(
'{"ac":"subscribe","params":"VNM$VN,VIC$VN","types":"quote,kline@1"}'
)
time.sleep(30)
client.close_websocket()有个地方需要提前说明一下:kline@1这种1分钟K线的WebSocket实时推送,目前itick只对Premium及以上套餐或者单独购买了股票数据包的用户开放,免费和基础套餐这块拿不到,如果你的产品对分钟级K线的实时性要求不高,用REST接口定时拉取也是可以的,成本会低不少。
ts字段里如果显示熔断或者停牌状态,做展示的时候要处理好,别把停牌股票的老数据当成最新价展示出去。get_symbol_list接口查一下确认。SDK自带的自动重连(5秒间隔,最多重试10次)和心跳保活(30秒一次)已经把这块的坑填掉了,之前自己手写WebSocket客户端的时候,重连逻辑和心跳定时器这两块没少踩坑,用现成SDK确实省了不少事。
越南这个市场对接下来体验跟其他新兴市场差不多,核心还是region=VN加上正确的股票代码。如果后续要扩展到印尼、菲律宾这些邻近市场,可以先去itick的产品目录确认支不支持,支持的话代码几乎不用改,换个region参数就行。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。