一、印度股票市场概述
印度证券市场主要由孟买证券交易所(BSE) 和印度国家证券交易所(NSE) 主导,其中Nifty 50指数是市场的重要风向标。近年来,印度市场凭借严格的监管、年轻的人口结构和高增长的经济表现,成为全球资本布局的热点之一。
二、技术实现:对接印度股票API
本文基于一个可用的行情数据服务(以下简称“脉动数据”),实现以下两个核心功能:
- 获取实时行情数据。接口地址:http://39.107.99.235:1008
- 获取K线数据
1. API接入准备
在开始之前,请注意:
- 联系客服授权IP:服务器IP授权后才能请求到数据。
- 支持两种方式:WebSocket实时推送 或 HTTP接口轮询,二者选一即可。
核心接口列表:
- 实时行情接口(WebSocket 或 HTTP)
- K线数据接口(HTTP)
- 产品分类与订阅代码接口(用于获取可交易品种)
2. 获取实时行情数据
方式一:WebSocket实时推送
WebSocket地址:ws://39.107.99.235/ws
连接后需:
- 每10秒发送一次心跳:{"ping":时间戳}
- 订阅产品代码:{"Key":"btcusdt,ethusdt"}
示例返回数据(JSON格式):
{
"body": {
"StockCode": "btcusdt",
"Price": 90722.15,
"Open": 91058.94,
"LastClose": 90722.15,
"High": 91161.61,
"Low": 90158.12,
"Time": "2025-11-30 14:10:03",
"LastTime": "1764483003",
"BP1": 90722.15,
"BV1": 0.58,
"SP1": 90722.16,
"SV1": 0.25,
"TotalVol": 1444.62
}
}
方式二:HTTP接口获取
接口地址: http://39.107.99.235:1008/getQuote.php?code=btcusdt
请求方式:GET 建议在Header中加入:Accept-Encoding: gzip
3. 获取K线数据
接口地址: http://39.107.99.235:1008/redis.php?code=fx_sgbpusd&time=1m&rows=40
参数说明:
- code:产品代码
- time:K线周期(1m, 5m, 15m, 30m, 1h, 1d, 1M)
- rows:获取条数
示例返回:
[
[1623061860000, 36500, 36540.08, 36500, 36510.65, "2021-06-07 18:31:00", 100],
[1623061800000, 36500, 36540.08, 36500, 36510.65, "2021-06-07 18:30:00", 100]
]
字段依次为:时间戳、开盘价、最高价、最低价、收盘价、时间字符串、成交量。
4. Java实现示例(Spring Boot + HTTP)
下面是一个简单的Spring Boot服务,用于获取实时价格和K线数据:
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("/api/india-stock")
public class IndiaStockController {
private final String BASE_URL = "http://39.107.99.235:1008";
private final RestTemplate restTemplate = new RestTemplate();
// 获取实时行情
@GetMapping("/quote")
public String getQuote(@RequestParam String code) {
String url = BASE_URL + "/getQuote.php?code=" + code;
return restTemplate.getForObject(url, String.class);
}
// 获取K线数据
@GetMapping("/kline")
public String getKline(@RequestParam String code,
@RequestParam String interval,
@RequestParam int rows) {
String url = BASE_URL + "/redis.php?code=" + code +
"&time=" + interval + "&rows=" + rows;
return restTemplate.getForObject(url, String.class);
}
}
5. 开发注意事项
- 断线重连:WebSocket需实现自动重连机制。
- 数据压缩:建议启用gzip压缩提升传输效率。
- 错误处理:做好HTTP状态码和异常处理,如401、429等。
三、总结
通过本文介绍的API接口,开发者可以快速实现对印度股票市场(或其他市场)的行情数据接入。无论是实时价格还是K线数据,都能通过简单的HTTP或WebSocket调用获取,适合用于量化系统、行情监控、投资分析等场景。
如果你对具体实现有更多疑问,或需要完整的项目代码,欢迎在评论区留言交流。