如何快速对接印度股票市场 (NSE/BSE) 数据接口

在全球资产配置日益流行的今天,印度股市(NSE/BSE)因其高增长潜力成为了开发者和量化团队关注的焦点。然而,寻找稳定、易用且覆盖全面的印度市场数据源往往是一个痛点。

本文将演示如何利用 StockTV API 快速接入印度股票市场数据,涵盖从获取股票列表、指数行情到绘制 K 线图的全流程。

为什么选择这个方案?

根据 API 文档,该接口具有以下特点:

  • 覆盖全面:支持 NSE(印度国家证券交易所)和 BSE(孟买证券交易所)。
  • 数据丰富:包含实时报价、历史 K 线、指数(如 Nifty 50)、IPO 日历及涨跌幅榜。
  • 开发友好:采用标准的 RESTful JSON 格式,且提供 WebSocket 实时推送。

准备工作

在开始之前,你需要获取一个 API key。所有请求都需要在 URL 参数中带上 key=你的密钥

  • API 基础地址 : https://api.stocktv.top
  • 印度市场 Country ID : 14

第一步:获取市场概览与股票列表

要获取数据,首先需要知道股票在系统中的唯一标识符(pidid)。我们需要调用市场列表接口,并指定 countryId=14(代表印度)。

接口地址:
GET /stock/stocks?countryId=14&pageSize=10&page=1&key=YOUR_KEY

返回数据示例:

json 复制代码
{
  "code": 200,
  "data": {
    "records": [
      {
        "id": 946725, // 重要:这是 PID,后续查K线要用
        "name": "Inventure Growth Securities",
        "symbol": "IGSL",
        "exchangeId": 46, // 46 代表 NSE
        "last": 2.46,     // 最新价
        "chgPct": -20.13, // 涨跌幅
        "countryNameTranslated": "India"
      }
    ]
  }
}

注:你可以通过 exchangeId 区分 NSE (46) 和 BSE (74)。


第二步:获取主要指数 (Nifty 50)

印度市场的风向标是 Nifty 50Sensex。我们可以通过指数接口获取实时行情。

接口地址:
GET /stock/indices?countryId=14&flag=IN&key=YOUR_KEY

代码示例 (JavaScript/Node.js):

javascript 复制代码
const API_KEY = 'YOUR_API_KEY';

async function getIndianIndices() {
  const url = `https://api.stocktv.top/stock/indices?countryId=14&flag=IN&key=${API_KEY}`;
  
  try {
    const response = await fetch(url);
    const result = await response.json();
    
    // 查找 Nifty 50
    const nifty = result.data.find(item => item.name === "Nifty 50");
    console.log(`Nifty 50 最新点位: ${nifty.last}, 涨跌: ${nifty.chgPct}%`);
  } catch (error) {
    console.error("获取指数失败", error);
  }
}

第三步:获取 K 线数据 (绘制图表)

这是开发交易面板或看盘软件最核心的部分。接口支持多种时间周期,格式采用 ISO 8601 标准(如 PT1M 代表 1分钟,P1D 代表 1天)。

接口地址:
GET /stock/kline?pid={股票ID}&interval={周期}&key=YOUR_KEY

参数说明:

  • pid: 第一步中获取的 id
  • interval: PT1M (1分), PT15M (15分), PT1H (1小时), P1D (日线) 等。

实战:获取 Reliance Industries 的日线数据

javascript 复制代码
async function getKlineData(pid) {
  // P1D 代表日线数据
  const url = `https://api.stocktv.top/stock/kline?pid=${pid}&interval=P1D&key=${API_KEY}`;
  
  const response = await fetch(url);
  const json = await response.json();
  
  // 转换数据格式以适配前端图表库(如 ECharts 或 KlineCharts)
  const chartData = json.data.map(item => ({
    timestamp: item.time,  // 时间戳
    open: item.open,       // 开盘
    high: item.high,       // 最高
    low: item.low,         // 最低
    close: item.close,     // 收盘
    volume: item.volume    // 成交量
  }));
  
  return chartData;
}

进阶功能:IPO 日历与涨跌榜

除了基础行情,API 还提供了一些特色数据,非常适合做市场热点分析。

  1. IPO 新股日历

    查询印度即将上市或已上市的股票。
    GET /stock/getIpo?countryId=14&type=1&key=YOUR_KEY (type=1表示未上市)

  2. 涨跌幅排行榜

    快速发现市场中波动最大的股票。
    GET /stock/updownList?countryId=14&type=1&key=YOUR_KEY (type=1涨幅榜,2跌幅榜)


总结

通过 StockTV 的 API,我们可以非常便捷地构建一个印度股市行情看板。其核心逻辑总结如下:

  1. 锁定 Country ID = 14
  2. 通过 列表接口 获取 PID。
  3. 通过 K 线接口 获取历史数据用于绘图。
  4. 利用 IPO 和排行榜接口 丰富应用内容。

如果你正在开发全球化的金融应用,这套接口能够极大降低对接印度市场的门槛。

相关推荐
执风挽^6 小时前
Python基础编程题2
开发语言·python·算法·visual studio code
程序员泠零澪回家种桔子6 小时前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
Z9fish6 小时前
sse哈工大C语言编程练习20
c语言·开发语言·算法
CodeCaptain6 小时前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
萧鼎7 小时前
Python 包管理的“超音速”革命:全面上手 uv 工具链
开发语言·python·uv
Anastasiozzzz7 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
骇客野人7 小时前
通过脚本推送Docker镜像
java·docker·容器
刘琦沛在进步7 小时前
【C / C++】引用和函数重载的介绍
c语言·开发语言·c++
机器视觉的发动机7 小时前
AI算力中心的能耗挑战与未来破局之路
开发语言·人工智能·自动化·视觉检测·机器视觉
铁蛋AI编程实战7 小时前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python