如何通过近似公司名称获取对应Yahoo Finance股票代码?
用近似公司名匹配Yahoo Finance股票代码的解决方案
当你只有Mercedes-Benz、Apple这类非全称的公司名称,想要获取对应的Yahoo Finance股票代码时,你提供的原代码无法正常工作——这是因为yfinance的Ticker类更适合接收已知的股票代码,而非模糊的公司名称,直接传入非全称名称时,info字段往往返回空或无效数据。
修改后的可行代码
import yfinance as yf def find_most_relevant_ticker(company_name): search_results = yf.search(company_name) if 'quotes' in search_results and len(search_results['quotes']) > 0: # 取第一个搜索结果(通常是最匹配的上市公司)的股票代码 return search_results['quotes'][0]['symbol'] return None # 测试示例 print(find_most_relevant_ticker("Mercedes-Benz")) # 输出 MBG.DE(奔驰集团的法兰克福交易所代码) print(find_most_relevant_ticker("Apple")) # 输出 AAPL
代码说明
- 调用
yf.search()可以直接触发Yahoo Finance的搜索功能,针对输入的公司名称返回相关的股票结果 - 搜索结果中的
quotes数组包含了匹配的上市公司信息,第一个元素通常是最相关的主流上市主体 - 如果没有找到匹配结果,函数会返回
None
注意事项
- 部分大型公司可能在多个交易所上市,搜索结果的第一个代码通常是交易量最大、最常用的那个
- 如果输入的名称过于模糊,可能会返回不相关结果,建议尽量提供更多关键词缩小范围
内容的提问来源于stack exchange,提问作者MiFischer22
相关产品推荐
相关产品推荐

