墨西哥股市数据API对接指南:itick BMV实时行情+K线Python实例
墨西哥股票API、BMV(Bolsa Mexicana de Valores)实时行情、墨西哥历史K线数据,这篇给需要拉美市场数据的开发者提供一份可以直接抄的对接方案。America Movil(AMXL)、Walmart de Mexico(WALMEX)这些墨西哥交易所的重量级标的,用itick的Python SDK对接起来跟其他市场没有本质区别,主要说清楚几个功能点和容易踩的坑。

这套方案能给你什么
- 实时报价推送:WebSocket订阅之后毫秒级拿到最新价、涨跌幅、成交量
- 历史K线:REST接口支持1分钟到月线共8种周期,回测和画图表都够用
- 批量查询:一次请求同时拿多只墨西哥股票的数据,不用循环调接口
- 自动断线重连:SDK内置5秒间隔、最多10次的重连机制
- 心跳保活:默认30秒发一次心跳包,维持WebSocket长连接不掉线
- 统一字段结构:跟itick覆盖的其他30多个市场共用一套数据格式,学一次能用到所有市场
安装配置
pip install itick-sdk
from itick.sdk import Client
token = "your_api_token"
client = Client(token)
REST接口:报价、K线、IPO信息
# 墨西哥region代码是MX
# America Movil
quote = client.get_stock_quote("MX", "AMXL")
print("AMXL报价:", quote)
# Walmart de Mexico,日K线,近45天
kline = client.get_stock_kline("MX", "WALMEX", 8, 45)
print("WALMEX日K线:", kline)
# 顺便查一下墨西哥市场近期的IPO信息
ipo = client.get_stock_ipo("MX")
print("墨西哥IPO信息:", ipo)
kType对照:1分钟=1,5分钟=2,15分钟=3,30分钟=4,1小时=5,日线=8,周线=9,月线=10。IPO接口对于做一级市场跟踪的产品来说是个加分项,很多同类数据服务商是不提供这块数据的。
WebSocket:实时行情订阅
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":"AMXL$MX,WALMEX$MX,GFNORTEO$MX","types":"quote,tick"}'
)
time.sleep(20)
client.close_websocket()
错误处理建议
对接墨西哥这种非主流市场,代码规范上有几个小差异容易导致订阅失败,建议在on_error回调里做好日志记录,方便排查:
error_log = []
def on_error(error):
error_log.append({"time": time.time(), "error": str(error)})
print(f"[WS Error] {error}")
client.set_error_handler(on_error)
常见错误类型:
auth failed:token填错了或者已经过期,去后台重新生成一个。cannot be resolved action:订阅参数格式不对,检查一下代码拼写和region是不是写成了MX。exceeding the maximum subscription limit:当前套餐订阅数超限了,免费套餐只有3个订阅名额,需要精简订阅列表或者升级套餐。
关于数据延迟的说明
墨西哥交易所的数据源链路比美股稍微长一些,实测下来毫秒级推送基本还是能保证的,但具体的延迟表现也跟你所在的网络环境有关,如果对延迟特别敏感(比如做高频套利),建议先拿测试账号实测一段时间的延迟分布再决定要不要接入生产环境。
小结
墨西哥市场对接的核心还是那几步:装SDK、拿token、region传MX、股票代码用BMV的挂牌代码。批量接口和IPO信息接口是这个市场里比较实用的两个功能点,配合错误处理机制一起用,能让整个对接过程更稳一些。更多字段细节可以查itick官方文档。

浙公网安备 33010602011771号