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

如何在R语言中获取印度BSE SENSEX股指数据?

获取BSE SENSEX指数数据的可行方法

你尝试用quantmod包的getSymbols函数获取SENSEX数据时,以下调用均未成功:

quantmod::getSymbols("SENSEX", src="yahoo")
quantmod::getSymbols("SENSEX.BO", src="yahoo")
quantmod::getSymbols("BSE SENSEX", src="yahoo")
quantmod::getSymbols("BSE SENSEX.BO", src="yahoo")

这是因为雅虎财经的数据源对部分印度指数的支持已发生变化,早期的代码不再适用。以下是两种可行的替代方案:

方案一:使用tidyquant包获取

tidyquant包兼容雅虎财经的最新接口,可通过正确的指数代码^BSESN获取数据:

# 安装并加载包
install.packages("tidyquant")
library(tidyquant)

# 指定时间范围获取数据
sensex_data <- tq_get("^BSESN", get = "stock.prices", from = "2020-01-01", to = Sys.Date())
# 查看前几行数据
head(sensex_data)

方案二:调用BSE官方API

如果需要更权威的实时或历史数据,可直接调用BSE的公开API,配合httr和jsonlite包处理:

# 安装依赖包
install.packages(c("httr", "jsonlite"))
library(httr)
library(jsonlite)

# 获取最近30天的SENSEX趋势数据(indexcode=16对应SENSEX)
response <- GET("https://api.bseindia.com/BseIndiaAPI/api/IndexTrend/w?indexcode=16&period=30")
data <- fromJSON(content(response, "text"))
# 将返回的JSON数据转为数据框
sensex_df <- as.data.frame(data$Data)

SENSEX指数说明

BSE SENSEX指数信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:55:29