efinance icon indicating copy to clipboard operation
efinance copied to clipboard

今天部分etf ef.stock.get_quote_history取不到历史行情

Open vensentzhou opened this issue 3 years ago • 6 comments
trafficstars

今天模拟盘指标计算出错,发现部分ETF取不到历史行情,只有今天的行情数据:如图:image 调用单标发现只有今天的数据: 截屏2022-04-01 下午3 22 34

vensentzhou avatar Apr 01 '22 07:04 vensentzhou

以 159994 为搜索关键词,会匹配到 5GETF (场内基金)和 华银中证5G通信主题ETF(场外基金),你的例子里面,是匹配到了后者,如果想匹配前者,其中一个方法如下

import efinance as ef 
ef.stock.get_quote_history("5GETF")

运行结果

image

Micro-sheep avatar Apr 01 '22 08:04 Micro-sheep

感谢大佬,可能是代码重叠导致。但之前一段时间的使用正常,今天突然出现这个情况。那get_quote_history有没有控制参数,比如只调用A股、指数、或场内ETF

vensentzhou avatar Apr 01 '22 14:04 vensentzhou

感谢大佬,可能是代码重叠导致。但之前一段时间的使用正常,今天突然出现这个情况。那get_quote_history有没有控制参数,比如只调用A股、指数、或场内ETF

可以调用搜索结果进行筛选,下面是一个例子

from efinance.utils import search_quote
from efinance.common import get_quote_history
keyword = '002542'
# 获取多个 keywrod 的在线搜索结果
search_result_list = search_quote(keyword, use_local=False, count=3)
print(search_result_list)
quote_id = ''
for q in search_result_list:
    if q.classify == 'AStock':
        quote_id = q.quote_id
        break

df = get_quote_history(quote_id, quote_id_mode=True)
df

运行结果

image

Micro-sheep avatar Apr 02 '22 02:04 Micro-sheep

大佬牛B!

vensentzhou avatar Apr 02 '22 05:04 vensentzhou

今天再使用同样的代码,匹配的又是5GETF了。(^_^ 截屏2022-04-02 下午10 50 14 )

vensentzhou avatar Apr 02 '22 14:04 vensentzhou

今天再使用同样的代码,匹配的又是5GETF了。(^_^

截屏2022-04-02 下午10 50 14

)

确实,这个搜索结果是服务器那边自己更新的。

Micro-sheep avatar Apr 02 '22 14:04 Micro-sheep