如何快速对接印度股票市场 (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 和排行榜接口 丰富应用内容。

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

相关推荐
咩咩啃树皮4 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
灯澜忆梦5 小时前
GO_并发编程---定时器
开发语言·后端·golang
鱟鲥鳚5 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
-银雾鸢尾-5 小时前
C#中的StringBuilder相关方法
开发语言·c#
-银雾鸢尾-5 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
大模型码小白6 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司7 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地8 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
wuqingshun3141598 小时前
TCP超时重传机制是为了解决什么问题?
java
HLC++8 小时前
Linux的进程间通信
android·linux·服务器