印度股市拥有两大支柱:国家证券交易所 (NSE) 和 孟买证券交易所 (BSE)。NSE 以极高的流动性和衍生品交易著称,而 BSE 则是亚洲最古老的交易所,拥有最多的上市公司。
对于开发者而言,如何在一个接口中同时获取这两大交易所的实时行情、指数(Nifty 50 / Sensex)以及逐笔 K 线,是构建印度金融产品的关键。
一、 核心接入参数(交易所定位)
在 StockTV API 体系中,通过 exchangeId 可以精准筛选数据源:
| 交易所名称 | 缩写 | exchangeId | 核心指数 |
|---|---|---|---|
| 印度国家证券交易所 | NSE | 46 |
Nifty 50 (NSEI) |
| 孟买证券交易所 | BSE | 74 |
S&P BSE SENSEX (BSESN) |
国家 ID 提示:对接印度市场时,请务必全局携带
countryId=14。
二、 核心 API 场景实现
1. 区分交易所获取股票列表
如果您想单独展示 NSE 或 BSE 的股票排名或列表,可以使用 exchangeId 参数进行过滤。
- 接口地址:
https://api.stocktv.top/stock/stocks - NSE 示例:
?countryId=14&exchangeId=46&key=YOUR_KEY - BSE 示例:
?countryId=14&exchangeId=74&key=YOUR_KEY
2. 指数实时监控(Nifty vs Sensex)
指数是市场的风向标。StockTV 提供的指数接口支持秒级更新。
- 接口地址:
https://api.stocktv.top/stock/indices - 请求参数:
countryId=14&key=YOUR_KEY - 数据亮点:返回结果中会包含
NSEI(NSE 指数)和BSESN(BSE 指数)的实时点位、涨跌幅及成交额。
3. 实时 K 线数据(图表专用)
支持对接各种前端图表库(如 TradingView),提供高频采样的 K 线。
- 接口地址:
https://api.stocktv.top/stock/kline - 参数示例:
pid={产品ID}&interval=PT1M&key=YOUR_KEY(获取 1 分钟级极速 K 线)。
三、 技术优势:极致实时性
针对印度市场波动剧烈、散户参与度高的特点,StockTV 在实时性上做了深度优化:
- 多交易所聚合推送:无需维护多套连接,通过一个 WebSocket 通道即可接收 NSE 和 BSE 的混合报价推送。
- 毫秒级延迟控制:服务器节点部署于印度及周边核心机房,大幅缩短物理距离带来的网络延迟。
- 智能重连机制:针对移动端应用,提供稳定的数据流保持方案,确保用户在弱网环境下也能看到最新的价格跳动。
四、 Python 实战:获取 NSE 权重股行情
以下示例演示如何快速调取 NSE 交易所中特定股票(如 Reliance)的实时数据:
import requests
def fetch_india_exchange_data(symbol, exchange_id):
url = "https://api.stocktv.top/stock/queryStocks"
params = {
"symbol": symbol,
"exchangeId": exchange_id, # 指定交易所 46 或 74
"key": "YOUR_API_KEY"
}
response = requests.get(url, params=params)
data = response.json()
if data['code'] == 200:
item = data['data'][0]
print(f"交易所ID: {exchange_id} | 股票: {item['name']}")
print(f"当前价: {item['last']} | 涨跌幅: {item['chgPct']}%")
print(f"最后撮合时间: {item['time']}")
else:
print(f"请求失败: {data['message']}")
# 查询 NSE 的 Reliance
fetch_india_exchange_data("RELI", 46)
五、 进阶:如何获取完整的 BSE 500 指数成分?
对于需要构建深度行情应用的客户,还支持通过 stocksByPids 接口批量订阅数百只股票的实时更新。只需一次请求,即可获取整个板块的盘面异动。
六、 结语
无论是追求极致速度的算法交易,还是注重用户体验的行情 App,提供的 NSE/BSE 双交易所接口都能为您提供最坚实的数据支撑。