检索带有股票代码输入的公司名称,yahoo 或 google API
Retrieve company name with ticker symbol input, yahoo or google API
只是在寻找一个简单的 api return,我可以在其中输入股票代码并获得完整的公司名称:
代码('MSFT')
将 return
"Microsoft"
您需要先找到一个网站/API,您可以通过该网站查找股票代码并提供信息。然后您可以查询 API 以获取信息。
我想出了一个快速而肮脏的解决方案:
import requests
def get_symbol(symbol):
symbol_list = requests.get("http://chstocksearch.herokuapp.com/api/{}".format(symbol)).json()
for x in symbol_list:
if x['symbol'] == symbol:
return x['company']
company = get_symbol("MSFT")
print(company)
本网站只提供公司名称。我没有进行任何错误检查。你需要 requests
模块才能工作。请使用 pip install requests
安装它。
更新: 下面是使用 Yahoo!财务 API:
import requests
def get_symbol(symbol):
url = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query={}®ion=1&lang=en".format(symbol)
result = requests.get(url).json()
for x in result['ResultSet']['Result']:
if x['symbol'] == symbol:
return x['name']
company = get_symbol("MSFT")
print(company)
这是另一个 Yahoo API 电话。 @masnun 的调用将 return 所有包含搜索参数的结果,例如尝试 AMD(Advanced Micro Devices):
http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=amd®ion=1&lang=en
给你 AMD (Advanced Micro Devices, Inc.), AMDA (Amedica Corporation), DOX (Amdocs Limited),
等等
如果你知道股票代码,你可以试试这些 Yahoo APIs:z
http://finance.yahoo.com/d/quotes.csv?s=amd&f=nb4t8
(有据可查,此特定调用要求 n=名称;b4=帐面价值;t8=1 年目标价)。
https://query2.finance.yahoo.com/v7/finance/options/amd
(没有很好的记录,但很新...请在此处查看更多信息 API:)
忘记包含 Google API,这对于股票报价似乎没问题,但对于期权链上的完整数据不可靠:
'https://www.google.com/finance?q=nyse:amd&output=json'
使用模糊匹配从公司名称获取公司符号,反之亦然
from fuzzywuzzy import process
import requests
def getCompany(text):
r = requests.get('https://api.iextrading.com/1.0/ref-data/symbols')
stockList = r.json()
return process.extractOne(text, stockList)[0]
getCompany('GOOG')
getCompany('Alphabet')
import yfinance as yf
msft = yf.Ticker("MSFT")
company_name = msft.info['longName']
#Output = 'Microsoft Corporation'
这样你就可以从股票代码中得到公司的全名
我使用 Quandl 查询价格,所以当我遇到类似问题时,我决定在那里查看。如果您转到 https://www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices/documentation 大约四分之一的可用代码下,有一个 link 可以下载包含名称和代码的 csv 文件。然后我使用以下代码创建一个以代码为键的字典并命名一个值。
def companyNames():
`` cnames = pd.read_csv('ticker_list.csv')
cnames_dict = pd.Series(cnames.Name.values, index=cnames.Ticker).to_dict()
return cnames_dict
对于任何想知道如何使用公司名称而不是代码来获取公司股价的人
import yfinance as yf
def getStock(search_term):
results = []
query = requests.get(f'https://yfapi.net/v6/finance/autocomplete?region=IN&lang=en&query={search_term}',
headers={
'accept': 'application/json',
'X-API-KEY': 'API_KEY'
})
response = query.json()
for i in response['ResultSet']['Result']:
final = i['symbol']
results.append(final)
try:
stock = yf.Ticker(results[0])
price = stock.info["regularMarketPrice"]
full_name = stock.info['longName']
curreny = stock.info["currency"]
except Exception as e:
print('Something went wrong')
return f"The stock price of {full_name} is {price} {curreny}"
stock = input("Enter the company's name: ")
final = getStock(stock)
print(final)
输出:
Enter the company's name: Apple
The stock price of Apple Inc. is 172.39 USD
只是在寻找一个简单的 api return,我可以在其中输入股票代码并获得完整的公司名称:
代码('MSFT') 将 return "Microsoft"
您需要先找到一个网站/API,您可以通过该网站查找股票代码并提供信息。然后您可以查询 API 以获取信息。
我想出了一个快速而肮脏的解决方案:
import requests
def get_symbol(symbol):
symbol_list = requests.get("http://chstocksearch.herokuapp.com/api/{}".format(symbol)).json()
for x in symbol_list:
if x['symbol'] == symbol:
return x['company']
company = get_symbol("MSFT")
print(company)
本网站只提供公司名称。我没有进行任何错误检查。你需要 requests
模块才能工作。请使用 pip install requests
安装它。
更新: 下面是使用 Yahoo!财务 API:
import requests
def get_symbol(symbol):
url = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query={}®ion=1&lang=en".format(symbol)
result = requests.get(url).json()
for x in result['ResultSet']['Result']:
if x['symbol'] == symbol:
return x['name']
company = get_symbol("MSFT")
print(company)
这是另一个 Yahoo API 电话。 @masnun 的调用将 return 所有包含搜索参数的结果,例如尝试 AMD(Advanced Micro Devices):
http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=amd®ion=1&lang=en
给你 AMD (Advanced Micro Devices, Inc.), AMDA (Amedica Corporation), DOX (Amdocs Limited),
等等
如果你知道股票代码,你可以试试这些 Yahoo APIs:z
http://finance.yahoo.com/d/quotes.csv?s=amd&f=nb4t8
(有据可查,此特定调用要求 n=名称;b4=帐面价值;t8=1 年目标价)。
https://query2.finance.yahoo.com/v7/finance/options/amd
(没有很好的记录,但很新...请在此处查看更多信息 API:)
忘记包含 Google API,这对于股票报价似乎没问题,但对于期权链上的完整数据不可靠: 'https://www.google.com/finance?q=nyse:amd&output=json'
使用模糊匹配从公司名称获取公司符号,反之亦然
from fuzzywuzzy import process
import requests
def getCompany(text):
r = requests.get('https://api.iextrading.com/1.0/ref-data/symbols')
stockList = r.json()
return process.extractOne(text, stockList)[0]
getCompany('GOOG')
getCompany('Alphabet')
import yfinance as yf
msft = yf.Ticker("MSFT")
company_name = msft.info['longName']
#Output = 'Microsoft Corporation'
这样你就可以从股票代码中得到公司的全名
我使用 Quandl 查询价格,所以当我遇到类似问题时,我决定在那里查看。如果您转到 https://www.quandl.com/data/EOD-End-of-Day-US-Stock-Prices/documentation 大约四分之一的可用代码下,有一个 link 可以下载包含名称和代码的 csv 文件。然后我使用以下代码创建一个以代码为键的字典并命名一个值。
def companyNames():
`` cnames = pd.read_csv('ticker_list.csv') cnames_dict = pd.Series(cnames.Name.values, index=cnames.Ticker).to_dict()
return cnames_dict
对于任何想知道如何使用公司名称而不是代码来获取公司股价的人
import yfinance as yf
def getStock(search_term):
results = []
query = requests.get(f'https://yfapi.net/v6/finance/autocomplete?region=IN&lang=en&query={search_term}',
headers={
'accept': 'application/json',
'X-API-KEY': 'API_KEY'
})
response = query.json()
for i in response['ResultSet']['Result']:
final = i['symbol']
results.append(final)
try:
stock = yf.Ticker(results[0])
price = stock.info["regularMarketPrice"]
full_name = stock.info['longName']
curreny = stock.info["currency"]
except Exception as e:
print('Something went wrong')
return f"The stock price of {full_name} is {price} {curreny}"
stock = input("Enter the company's name: ")
final = getStock(stock)
print(final)
输出:
Enter the company's name: Apple
The stock price of Apple Inc. is 172.39 USD