efinance
efinance copied to clipboard
请问如何获取指数行情,如标普500指数、恒生指数、上证指数、上证50等等,感谢
例子如下
import efinance as ef
name = '上证指数'
ef.stock.get_quote_history(name)

上证指数、恒生指数已经可以实现,但是如标普500、纳斯达克尚不知具体的代码或中文名,请问哪里可以查询到所有指数的中文名或者代码?

上证指数、恒生指数已经可以实现,但是如标普500、纳斯达克尚不知具体的代码或中文名,请问哪里可以查询到所有指数的中文名或者代码?
上东方财富可以查看,比如纳斯达克的代码是 NADQ,你可以用指数代码或者比较精确的名称来获取。
上证指数、恒生指数已经可以实现,但是如标普500、纳斯达克尚不知具体的代码或中文名,请问哪里可以查询到所有指数的中文名或者代码?
上东方财富可以查看,比如纳斯达克的代码是 NADQ,你可以用指数代码或者比较精确的名称来获取。
如果代码是 NDX 则是指数,具体怎么识别,东方财富里面会指明。对于股票代码和名称两者有冲突的情况,一般可以选择能区别它们两个的那一点作为参数。比如纳斯达克股票名称和指数名称冲突,但代码不同,则可以提供代码来区分它们。
收到收到,感谢大神指点
反馈一下,对于标普500指数,无论是基金还是代码都无法获得正确的净值

反馈一下,对于标普500指数,无论是基金还是代码都无法获得正确的净值
更新到至少 v0.4.6 然后使用下面的方案
from efinance.common import get_latest_quote
get_latest_quote('100.SPX')

其中 100.SPX 可通过下面的方法找到
from efinance.utils import search_quote
search_quote(keyword = 'SPX',count = 2)

非常感谢大佬的付出和解答,是不是像100.SPX这样的代码是不支持多代码(用列表的形式)获取的呢?我试着传入到ef.stock.get_realtime_quotes模块里会报错,无论如何再一次表示感谢。
另外,我在这里再反馈 3个发现的有错误代码:'100032' , '162412' , '000369',当它们被传入 ef.fund.get_realtime_increase_rate 这个模块,出来的最新净值是错误的;但是当传入到 ef.fund.get_quote_history 以及ef.stock.get_latest_quote 模块的时候,最新净值又是正确的。

非常感谢大佬的付出和解答,是不是像
100.SPX这样的代码是不支持多代码(用列表的形式)获取的呢?我试着传入到ef.stock.get_realtime_quotes模块里会报错,无论如何再一次表示感谢。 另外,我在这里再反馈 3个发现的有错误代码:'100032' , '162412' , '000369',当它们被传入 ef.fund.get_realtime_increase_rate 这个模块,出来的最新净值是错误的;但是当传入到 ef.fund.get_quote_history 以及ef.stock.get_latest_quote 模块的时候,最新净值又是正确的。
ef.stock.get_realtime_quotes 是用于获取某个市场或者板块的行情数据 不能用于获取指定的个股行情数据
get_latest_quote 支持传入字符串或者列表
非常感谢大佬的付出和解答,是不是像
100.SPX这样的代码是不支持多代码(用列表的形式)获取的呢?我试着传入到ef.stock.get_realtime_quotes模块里会报错,无论如何再一次表示感谢。 另外,我在这里再反馈 3个发现的有错误代码:'100032' , '162412' , '000369',当它们被传入 ef.fund.get_realtime_increase_rate 这个模块,出来的最新净值是错误的;但是当传入到 ef.fund.get_quote_history 以及ef.stock.get_latest_quote 模块的时候,最新净值又是正确的。
如果更新到 v0.4.7 则可以像下面这样子做

收到收到,感谢解答,等v0.4.7出来更新研究一下。上面说的100.SPX传入的模块说错了,应该更正为传入ef.stock.get_latest_quote会报错,如图:

另外我想问一下历史行情查询ef.stock.get_quote_history,时间跨度比较长的情况下,输出的内容中间部分是省略不可见的,请问这是正常的输出结果吗?比如我想通过得到全部数据来获取5年的历史最高价,可以获得这段时间的全部数据吗?

收到收到,感谢解答,等v0.4.7出来更新研究一下。上面说的
100.SPX传入的模块说错了,应该更正为传入ef.stock.get_latest_quote会报错,如图:
另外我想问一下历史行情查询
ef.stock.get_quote_history,时间跨度比较长的情况下,输出的内容中间部分是省略不可见的,请问这是正常的输出结果吗?比如我想通过得到全部数据来获取5年的历史最高价,可以获得这段时间的全部数据吗?
返回的数据类型是 pandas.DataFrame,你可以看一下 pandas 的文档,省略那部分只是它输出的一个简略结果,能取到的数据不会少。然后你既然用 vscode,不妨在里面装个叫 jupyter 的扩展,这个体验很棒,比网页版的好很多,我给你截图的就是其中的使用效果。
收到收到,感谢解答,等v0.4.7出来更新研究一下。上面说的
100.SPX传入的模块说错了,应该更正为传入ef.stock.get_latest_quote会报错,如图:
另外我想问一下历史行情查询
ef.stock.get_quote_history,时间跨度比较长的情况下,输出的内容中间部分是省略不可见的,请问这是正常的输出结果吗?比如我想通过得到全部数据来获取5年的历史最高价,可以获得这段时间的全部数据吗?
v0.4.7 昨天已经更新发布了。
为啥我输入标普500,出来的是标普500ETF? 100.SPX 就报 “券代码 "100.SPX" 可能有误”。如何获取标普500值?另外创业板指有一样的问题,通过search_quote 能查出来标普500 和创业板指。但是用 get_quote_history 搜索出来就变成创业板增强ETF了。用的最新的 V0.5.0 版本
创业板指,我通过 ‘399006’ 拿到了。但是仍然感觉get_quote_history的字符串匹配会存在bug