博客 / 詳情

返回

如何快速對接印度股票市場 (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

返回數據示例:

{
  "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):

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 的日線數據

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 和排行榜接口 豐富應用內容。

如果你正在開發全球化的金融應用,這套接口能夠極大降低對接印度市場的門檻。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.