印度股市数据从哪来?itick India Stock API Python对接手册

📅 2026/7/15 3:24:37 👁️ 阅读次数 📝 编程学习
印度股市数据从哪来?itick India Stock API Python对接手册

印度股市这几年在新兴市场里存在感很强,NSE(National Stock Exchange)和BSE(Bombay Stock Exchange)两大交易所的行情数据需求也越来越多。印度股票API、NSE实时行情、印度历史K线,这篇教程用itick的Python SDK把对接流程走一遍,重点讲一下印度市场比较特殊的交易所参数写法。

印度市场的特殊之处:exchange参数是必填的

跟美股、港股不一样,印度同一只股票可能同时在NSE和BSE两个交易所挂牌交易,价格还可能有细微差异。所以itick对接印度市场的时候,WebSocket订阅参数格式要求是代码$交易所$地区,也就是exchange这一段不能省略,这跟其他大部分市场"代码$地区"两段式的写法不太一样,第一次用容易踩这个坑。

举例,信实工业(Reliance Industries)在NSE的订阅参数写法是:

RELIANCE$NSE$IN

而REST接口这边,exchange是可选参数,留空默认返回主交易所(一般是NSE)的数据,如果明确要指定BSE的数据,就把exchange传成BSE

安装SDK、拿Token

pipinstallitick-sdk

去itick官网注册账号,登录后台复制token,免费套餐先测试用,够验证需求。

fromitick.sdkimportClient token="your_api_token"client=Client(token)

REST查询实时报价与历史K线

# 信实工业,region=INquote=client.get_stock_quote("IN","RELIANCE")print("Reliance Quote:",quote)# 塔塔咨询服务 TCS,历史日K线,取最近20根kline=client.get_stock_kline("IN","TCS",8,20)print("TCS Kline:",kline)

kType参数:1=1分钟, 2=5分钟, 3=15分钟, 4=30分钟, 5=1小时, 8=1天, 9=1周, 10=1月。返回结构跟其他市场保持一致,o/h/l/c/v/tu/t这几个字段含意都是通用的。

WebSocket订阅(注意exchange段不能漏)

importtimedefon_message(msg):print("推送:",msg)defon_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":"RELIANCE$NSE$IN,TCS$NSE$IN","types":"quote,depth"}')time.sleep(20)client.close_websocket()

如果漏写了交易所段直接传RELIANCE$IN,大概率会收到解析失败的错误响应,这是印度市场和其他市场在参数格式上最大的区别,务必留意。

自动重连和心跳,SDK都包好了

跨国网络请求本来就容易抖动,尤其是国内访问印度交易所数据源,链路上的波动比访问美股数据源明显一些。好在itick-sdk内置了断线自动重连(5秒间隔,最多10次)和心跳保活(默认30秒一次),这些都不需要开发者自己写,SDK内部已经处理好了,重连之后订阅关系也会自动恢复。

# 手动检查连接状态ifnotclient.is_websocket_connected():print("连接已断开,SDK会自动尝试重连")

套餐怎么选

套餐REST频率WS连接数WS订阅数
Free5次/分钟13
Base120次/分钟3200
Professional600次/分钟6500
Premium1200次/分钟122000

个人开发者拿Free套餐先把流程跑通,等要接入更多印度股票标的、需要更高并发的时候,再根据实际订阅数量选Base或者Professional,Premium这个档位更适合有一定规模的量化团队或者资讯类产品。

小结

印度市场对接的核心记忆点就一句话:exchange参数不能省,订阅格式是代码$交易所$地区。除此之外调用方式跟美股、港股、A股完全一致,同一套SDK换个region参数就能切换市场,这也是itick这类聚合数据接口相对自己单独接各国交易所数据源省事的地方。更多细节可以翻itick的WebSocket文档。