实战指南:获取BSE交易所股票数据
简介:StockTV 提供覆盖全球金融市场的API服务,涵盖股票、外汇、期货以及加密货币等多种资产类型。本文将详细介绍如何通过 StockTV API 获取印度孟买证券交易所(BSE)的股票相关信息。
官方文档地址:
https://documenter.getpostman.com/view/42914868/2sB3dLTBM8
前期准备
在调用任何接口前,必须先向 StockTV 申请并获取有效的 API Key,该密钥是访问所有数据接口的必备凭证。
获取BSE股票K线数据
K线图是进行技术分析的核心工具之一,StockTV 提供了可自定义时间周期的K线数据接口。
接口地址:
GET https://api.stocktv.top/stock/kline
请求参数说明:
:产品ID(需根据具体股票查询其对应ID)pid
:时间粒度(支持 PT5M、PT15M、PT1H、PT5H、P1D、P1W、P1M 等格式)interval
:用户认证用的API Keykey
示例请求命令:
curl --location 'https://api.stocktv.top/stock/kline?pid=7310&interval=PT15M&key=YOUR_API_KEY'
返回数据样例:
{
"code": 200,
"message": "操作成功",
"data": [
{
"time": 1719818400000,
"open": 239.42,
"high": 239.6,
"low": 239.42,
"close": 239.6,
"volume": 0,
"vo": 0
}
]
}
查询公司基本信息
通过指定股票的URL路径,可以获取该上市公司的详细资料,适用于基本面研究场景。
接口地址:
GET https://api.stocktv.top/stock/companyUrl
请求参数说明:
:目标股票页面的URL路径url
:您的API Keykey
示例请求命令:
curl --location 'https://api.stocktv.top/stock/companyUrl?url=/equities/aditya-birla&key=YOUR_API_KEY'
Python 实现示例
以下是一个完整的 Python 脚本,展示如何封装和调用上述接口以获取BSE股票数据。
import requests
import pandas as pd
class StockTVAPI:
def __init__(self, api_key):
self.base_url = "https://api.stocktv.top"
self.api_key = api_key
def get_stock_kline(self, pid, interval="PT15M"):
"""
获取股票K线数据
pid: 产品ID
interval: 时间间隔
"""
url = f"{self.base_url}/stock/kline"
params = {
"pid": pid,
"interval": interval,
"key": self.api_key
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
if data["code"] == 200:
return pd.DataFrame(data["data"])
else:
print(f"API返回错误: {data['message']}")
return None
else:
print(f"请求失败,状态码: {response.status_code}")
return None
def get_company_info(self, stock_url):
"""
获取公司基本信息
stock_url: 股票URL路径
"""
url = f"{self.base_url}/stock/companyUrl"
params = {
"url": stock_url,
"key": self.api_key
}
response = requests.get(url, params=params)
if response.status_code == 200:
return response.json()
else:
print(f"请求失败,状态码: {response.status_code}")
return None
# 使用示例
if __name__ == "__main__":
api_key = "YOUR_API_KEY" # 替换为您的实际API Key
stock_api = StockTVAPI(api_key)
# 获取Aditya Birla Capital Ltd的K线数据
# 获取K线数据
kline_data = stock_api.get_stock_kline(pid=7310, interval="PT1H")
if kline_data is not None:
print("K线数据获取成功:")
print(kline_data.head())
# 查询公司相关信息
company_info = stock_api.get_company_info("/equities/aditya-birla")
if company_info is not None:
print("\n公司信息获取成功:")
print(f"公司名称: {company_info['data']['companyName']}")
print(f"行业: {company_info['data']['industry']}")
print(f"市场: {company_info['data']['market']}")
使用说明与建议
通过 StockTV API,开发者可以便捷地获取 BSE 交易所的股票行情数据,涵盖K线序列以及企业基础资料。此类信息适用于构建量化策略、开展技术指标分析或集成至金融类应用系统中。
产品ID的获取方式:
调用K线接口前,需明确目标股票对应的产品ID(即 pid 参数)。该标识通常需借助其他辅助接口、搜索功能或查阅相关API文档获得,不属于通用公开参数。
关于数据频率的选择:
根据实际分析需求,合理选择时间间隔(如 PT1H 表示一小时周期)。高频数据请求可能触发接口调用频率限制,建议按需设定采集节奏。
数据实时性与更新机制:
股票市场价格持续变动,数据具有时效性特征。应结合具体业务场景,配置适当的数据刷新策略,确保信息的及时性和有效性。
错误处理与稳定性考虑:
在生产环境中使用时,应加入完整的异常捕获逻辑,涵盖网络连接失败、响应超时、权限不足及API限流等常见问题,提升程序鲁棒性。
总结
StockTV 提供了结构清晰、易于集成的接口方案,支持快速接入印度股市数据资源。为保障稳定使用,推荐在项目实施前仔细阅读官方技术文档,掌握各接口的参数规范、调用限制和返回格式细节。


雷达卡


京公网安备 11010802022788号







