You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否存在可返回JSON格式技术指标(RSI、MACD等)的NSE API接口?

获取NSE股票RSI、MACD等技术指标的解决方案

1. 现有接口限制说明

你当前使用的https://www.nseindia.com/api/quote-equity?symbol=ABB接口仅返回股票实时报价、基本财务信息等基础数据,不包含RSI、MACD这类技术分析指标。要获取这些指标,可参考以下两种可行方案:

2. 方案一:获取历史K线数据后自行计算

步骤1:获取历史OHLC数据

NSE提供了股票历史日线数据接口,请求格式如下:

https://www.nseindia.com/api/historical/cm/equity?symbol=ABB&series=[%22EQ%22]&from=01-01-2024&to=31-01-2024

核心参数说明:

  • symbol:目标股票代码(如ABB)
  • series:交易系列,默认填EQ即可
  • from/to:查询日期范围,格式为DD-MM-YYYY

步骤2:基于OHLC数据计算技术指标

拿到历史收盘价、最高价、最低价后,可自行实现RSI、MACD的计算逻辑,也可借助成熟工具库简化开发:

  • RSI(14周期为例):
    1. 计算每日收盘价变动值(当日收盘价-前一日收盘价)
    2. 分离上涨变动和下跌变动(下跌取绝对值)
    3. 计算14周期内的平均上涨值(Avg Gain)与平均下跌值(Avg Loss)
    4. 计算相对强度RS = Avg Gain / Avg Loss
    5. RSI = 100 - (100 / (1 + RS))
  • MACD:
    1. 计算12周期EMA(指数移动平均线)和26周期EMA
    2. DIF = 12周期EMA - 26周期EMA
    3. DEA = DIF的9周期EMA
    4. MACD柱 = (DIF - DEA) * 2

Python示例代码(使用talib库快速计算):

import pandas as pd
import talib

# 假设已将历史数据存入DataFrame,包含'Close'列
df = pd.read_csv('abb_historical_data.csv')

# 计算14周期RSI
df['RSI'] = talib.RSI(df['Close'], timeperiod=14)

# 计算MACD(默认12/26/9周期)
df['MACD'], df['MACD_Signal'], df['MACD_Hist'] = talib.MACD(df['Close'])

3. 方案二:使用NSE技术指标专用接口

NSE股票技术分析页面会加载预计算的技术指标,对应的接口可通过页面抓包获取,请求格式大致如下:

https://www.nseindia.com/api/chart-databyindex?index=ABB EQN

参数说明:index格式为{股票代码} EQN(如ABB对应ABB EQN),返回的JSON数据中直接包含RSI、MACD等指标的计算结果,可直接提取使用。

注意:这类接口需要模拟浏览器请求头(如User-Agent、Referer)才能正常访问,且接口规则可能随NSE网站更新而变化。

额外注意事项

  • NSE接口可能不定期调整,使用前需验证可用性
  • 频繁请求可能触发反爬机制,建议控制请求频率
  • 自行计算指标时,需确保历史数据的完整性与时间顺序正确

内容的提问来源于stack exchange,提问作者Mihir Chichria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:10:14