引言:为什么关注印度BSE交易所?

简介: 本文详解如何通过StockTV API对接印度BSE交易所,涵盖API密钥获取、核心接口调用(股票行情、指数、K线)、WebSocket实时推送及Python实战示例,助开发者快速构建印度金融市场数据应用。

文章大纲

  1. 引言:为什么关注印度BSE交易所?
  2. 准备工作:获取API密钥与理解关键参数
  3. 核心API接口详解
    • 获取BSE股票列表
    • 查询特定股票实时行情
    • 获取指数数据(如S&P BSE SENSEX)
    • 获取K线数据
  4. 高级功能与实时数据
    • IPO新股日历
    • 涨跌排行榜
    • WebSocket实时推送
  5. 实战代码示例(Python)
  6. 注意事项与最佳实践
    • 频率限制
    • 时区处理
    • 错误处理
  7. 结语

引言:为什么关注印度BSE交易所?

印度孟买证券交易所(BSE)是亚洲最古老的证券交易所,也是印度两大主要证券交易市场之一。随着印度经济的快速增长,BSE市场吸引了大量全球投资者的目光。对于开发者而言,能够便捷地获取BSE的实时股票数据,是构建量化交易系统、投资分析平台或金融看板应用的关键第一步。

本文将基于 StockTV 提供的 API,详细讲解如何快速、稳定地对接印度BSE交易所的股票数据接口,涵盖从获取API密钥、查询实时行情到订阅实时推送的全流程,并提供完整的Python代码示例。

准备工作:获取API密钥与理解关键参数

在开始调用API之前,需要完成两项准备:

  1. 获取API Key:所有接口调用都需要在请求参数中携带有效的API Key进行身份验证。你可以通过官方提供的联系方式(如Telegram)申请密钥。密钥格式通常类似 MY4b781f618e3f43c4b055f25fa61941ad
  2. 理解关键参数:对接印度BSE市场,以下两个参数至关重要:
    • countryId=14:这代表印度市场,是几乎所有接口的必填参数。
    • exchangeId=74:这是BSE(孟买证券交易所)在系统中的唯一标识符。另一个主要交易所NSE的ID是46。

API基础地址为:https://api.stocktv.top

核心API接口详解

1. 获取BSE股票列表

这是获取数据的第一步,目的是得到BSE上市公司的基本信息和唯一标识符(idpid),后续查询详细行情都需要用到它。

  • 接口地址GET /stock/stocks
  • 请求参数
    | 参数名 | 必填 | 说明 |
    | :--- | :--- | :--- |
    | countryId | 是 | 印度市场ID,固定为 14 |
    | exchangeId | 否 | BSE交易所ID,此处应填 74 |
    | pageSize | 否 | 每页数量 |
    | page | 否 | 页码 |
    | key | 是 | 你的API密钥 |

  • 返回示例:返回的JSON数据中,data.records数组包含了股票列表,每个股票对象都有 id(后续接口中的pid)、symbol(股票代码)、name(公司名称)、last(最新价)、chgPct(涨跌幅)等关键字段。

2. 查询特定股票实时行情

在已知股票ID (pid)、代码 (symbol) 或名称 (name) 的情况下,可以直接查询其最新行情。

  • 接口地址GET /stock/queryStocks
  • 请求参数:可使用 idsymbolname 中的一个或多个进行查询。

3. 获取指数数据(如S&P BSE SENSEX)

S&P BSE SENSEX(敏感30指数)是BSE市场的风向标。通过此接口可以获取其实时点位和涨跌幅。

  • 接口地址GET /stock/indices
  • 请求参数countryId=14
  • 返回示例:从返回的指数列表中,可以找到 name 为 "S&P BSE SENSEX" 的指数数据。

4. 获取K线数据

这是绘制图表进行技术分析的核心接口,支持从1分钟到月线等多种时间粒度。

  • 接口地址GET /stock/kline
  • 请求参数
    | 参数名 | 必填 | 说明 |
    | :--- | :--- | :--- |
    | pid | 是 | 股票的唯一ID |
    | interval | 是 | 时间间隔,例如 PT15M(15分钟), P1D(日线) |
    | key | 是 | 你的API密钥 |

  • 返回示例:接口返回指定时间周期的K线数据数组,每条数据包含时间戳 (time)、开盘价 (open)、最高价 (high)、最低价 (low)、收盘价 (close) 和成交量 (volume)。

高级功能与实时数据

IPO新股日历

印度IPO市场活跃,此接口可用于获取已上市或即将上市的新股信息。

  • 接口地址GET /stock/getIpo
  • 请求参数countryId=14type=1(未上市)或 type=2(已上市)。

涨跌排行榜

快速发现市场中的热点股票。

  • 接口地址GET /stock/updownList
  • 请求参数countryId=14type 参数可指定榜单类型(1=涨幅榜,2=跌幅榜,3=涨停榜,4=跌停榜)。

WebSocket实时推送

对于需要低延迟实时数据的应用(如交易终端),WebSocket是比反复轮询REST API更高效的选择。

  • 连接地址wss://ws-api.stocktv.top/connect?key=YOUR_KEY
  • 使用流程:建立连接后,发送订阅消息指定要关注的股票ID (pids),服务器便会持续推送这些股票的实时行情变动。需要定期发送心跳消息(如"ping")以保持连接。

实战代码示例(Python)

以下是一个完整的Python示例,演示如何获取BSE股票列表和SENSEX指数数据。

import requests

# 配置信息
API_KEY = "YOUR_API_KEY"  # 请替换为你的真实API Key
BASE_URL = "https://api.stocktv.top"
COUNTRY_ID = 14  # 印度
BSE_EXCHANGE_ID = 74  # BSE交易所

def get_bse_stocks(page_size=20):
    """
    获取BSE股票列表
    """
    url = f"{BASE_URL}/stock/stocks"
    params = {
   
        "countryId": COUNTRY_ID,
        "exchangeId": BSE_EXCHANGE_ID,
        "pageSize": page_size,
        "page": 1,
        "key": API_KEY
    }
    try:
        response = requests.get(url, params=params)
        response.raise_for_status()  # 如果请求失败会抛出HTTPError异常
        data = response.json()

        if data.get('code') == 200:
            stocks = data['data']['records']
            print("BSE股票列表(前{}条):".format(page_size))
            for stock in stocks:
                print(f"股票代码: {stock['symbol']}, 名称: {stock['name']}, 最新价: {stock['last']}, 涨跌幅: {stock['chgPct']}%")
            return stocks
        else:
            print("请求失败:", data.get('message'))
            return None
    except requests.exceptions.RequestException as e:
        print("网络请求错误:", e)
        return None

def get_sensex_index():
    """
    获取S&P BSE SENSEX指数数据
    """
    url = f"{BASE_URL}/stock/indices"
    params = {
   
        "countryId": COUNTRY_ID,
        "key": API_KEY
    }
    try:
        response = requests.get(url, params=params)
        data = response.json()

        if data.get('code') == 200:
            indices = data['data']
            for index in indices:
                if index['name'] == 'S&P BSE SENSEX':
                    print(f"\nS&P BSE SENSEX 指数:")
                    print(f"最新点位: {index['last']}")
                    print(f"涨跌: {index['chg']}")
                    print(f"涨跌幅: {index['chgPct']}%")
                    return index
            print("未找到SENSEX指数数据")
            return None
        else:
            print("请求指数数据失败:", data.get('message'))
            return None
    except Exception as e:
        print("获取指数数据时发生错误:", e)
        return None

# 执行示例
if __name__ == "__main__":
    stocks = get_bse_stocks()
    sensex_data = get_sensex_index()

注意事项与最佳实践

  1. 频率限制:REST API通常有调用频率限制(例如每分钟不超过10次请求),需合理安排请求间隔,避免触发限流。
  2. 时区处理:印度标准时间(IST)为UTC+5:30,在处理时间戳数据时需要注意时区转换。
  3. 错误处理:健壮的程序必须包含错误处理逻辑,检查HTTP状态码和响应体中的code字段(200表示成功,非200需处理错误)。
  4. 数据缓存:对于不经常变动的数据(如股票列表、公司信息),可以考虑在本地实现缓存机制,以减少API调用次数。

结语

通过 StockTV API,我们可以以标准化的方式高效接入印度BSE交易所的丰富数据,从基础的实时行情到深度的K线和基本面信息。本文介绍的接口和代码示例为开发者提供了一个坚实的起点,助力快速构建面向印度市场的金融应用。

希望这篇指南对你有所帮助!如果在对接过程中遇到任何技术问题,建议查阅官方文档或与API提供方的技术支持团队联系。

相关文章
|
6月前
|
缓存 资源调度 供应链
京东API助力:自动化库存管理,降本增效!
通过京东开放平台API实现电商库存管理自动化,涵盖接入认证、库存查询、智能补货与调拨等核心功能。结合算法优化与最佳实践,助力企业降低库存成本,提升周转效率,缺货率显著下降,构建高效敏捷的智能供应链体系。
|
3月前
|
缓存 监控 数据可视化
实战指南:通过API高效获取全球股票数据分析
本文为量化交易者提供StockTV API实战指南:涵盖美股/日股数据获取、实时行情查询、多周期K线调用、技术指标计算及可视化(mplfinance),并详解WebSocket实时推送、缓存优化与容错机制,助你高效构建金融分析系统。(239字)
|
6月前
|
传感器 算法 安全
智慧养老新趋势:护理机器人关键技术解析与主流产品评测
随着老龄化加剧,养老机器人成缓解照护压力的重要方案。融合SLAM导航、多模态感知与大模型交互技术,实现跌倒检测、健康监测与适老交互。猎户星空、优必选、新松、美的、傅利叶等企业推动居家、机构与康复场景落地,产品向精准、智能、专业化发展。(238字)
665 2
|
6月前
|
人工智能 自然语言处理 供应链
电商运营需频繁跨平台操作?实在 Agent 能否实现 “一键自动化”?
RPA(机器人流程自动化)并非物理机器人,而是模拟人类操作的“数字员工”。它通过自动化重复性工作,如数据录入、报表处理等,解放人力,提升效率。从财务对账到人力资源管理,RPA已广泛应用于各行各业。随着AI加持,第三代RPA如实在Agent具备视觉识别与自然语言理解能力,实现“说句话就能干活”的智能自动化。它不是替代人类,而是让人专注创造与决策,成为数字化转型的核心力量。
376 1
|
6月前
|
Java 中间件 Nacos
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:kratos-bootstrap 入门教程(类比 Spring Boot)
kratos-bootstrap 是 GoWind Admin 的核心引导框架,类比 Spring Boot,提供应用初始化、配置管理、组件集成等一站式解决方案。通过标准化流程与多源配置支持,开发者可快速构建企业级中后台服务,专注业务开发,降低微服务复杂度。
741 2
|
6月前
|
数据采集 安全 前端开发
堪比Log4j!Next.js CVSS 10.0漏洞席卷39%云环境,这些场景已成为攻击重灾区
CVSS评分10.0的Next.js高危漏洞正席卷全球,波及39%云环境。无需认证、利用简单,攻击者可远程执行代码,窃取数据、植入后门。关联React漏洞CVE-2025-55182,启用App Router的公网项目成重灾区。企业须立即排查资产、部署WAF、升级至安全版本,24小时内完成应急防护,严防大规模攻击。
|
6月前
|
前端开发 安全 JavaScript
KLineChart 库生成一个股票K线图
本文介绍如何使用 KLineChart 库结合 StockTV API 实现股票K线图,涵盖数据获取、图表初始化、样式定制与实时更新。提供完整代码示例,支持多股票切换与周期选择,助你快速构建交互式金融图表。(238字)
|
9月前
|
存储 人工智能 自然语言处理
RAG:增强大模型知识库的新范式
RAG:增强大模型知识库的新范式
763 99
|
6月前
VTP:MiniMax海螺视频团队,首次开源!
MiniMax视频团队推出首个开源工作VTP,首次将视觉tokenizer作为scaling主角,通过融合通用表征学习,实现生成性能随参数、算力、数据规模持续提升,展现tokenizer在视觉生成系统中的核心潜力。
470 3
|
5月前
|
存储 数据采集 API
在周末休市期间,通过API接口获取历史数据进行分析
周末休市时,可利用API获取历史数据进行策略回测与组合优化。StockTv等平台提供稳定数据支持,结合Pandas、Scikit-learn等工具,实现数据清洗、分析与可视化,并通过自动化脚本定期更新,提升研究效率。