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

如何获取nsepy包指数命名规范及解决get_history返回空DataFrame问题

问题1:获取nsepy包的指数命名规范列表

直接调用nsepy内置的get_index_list()函数即可获取官方支持的全部合法指数名称,不需要自行猜测拼写,示例调用代码如下:

from nsepy import get_index_list
index_list = get_index_list()
print(index_list)

返回的列表内容就是官方认可的指数命名规范,直接取用即可。

问题2:get_history返回空DataFrame的排查方案

你使用的调用代码如下:
data = get_history(symbol="NIFTY BANK", start=from_date, end=to_date,index=True, option_type = 'CE', strike_price = 38000, expiry_date = dt.date(2021, 10, 7))
按优先级排查以下常见原因:

  • 先确认from_date和to_date的取值范围,必须完全落在2021年10月7日(期权到期日)之前,且时间段内对应行权价的期权已经挂牌交易,如果起始日期晚于到期日、或者时间段内该期权还未上市/已经到期,都会返回空结果。
  • 确认symbol拼写是否和get_index_list()返回的结果一致,部分版本nsepy的银行指数命名为NIFTYBANK(无空格),拼写不一致会匹配不到对应标的。
  • 确认行权价单位是否正确,nsepy要求strike_price以点为单位传入,38000数值本身符合要求,如果是单位转换错误也会匹配失败。
  • 确认网络可以正常连接NSE官方服务器,nsepy的数据直接从NSE官网拉取,网络受限会导致数据拉取为空,可以先尝试不加期权参数拉取现货指数验证连通性:
from nsepy import get_history
from datetime import date
data = get_history(symbol="NIFTY BANK", start=date(2021,10,1), end=date(2021,10,6), index=True)
print(data)

如果现货数据可以正常返回,再逐步添加期权参数测试即可定位具体问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:39:01