English 中文(简体)
Need an API to find a full company name given a ticker symbol [closed]
原标题:

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 5 years ago.

I need a way from within client-side Javascript to find a full company name given a ticker symbol. I am aware of Yahoo Finance s interface at:

http://finance.yahoo.com/d/quotes.csv?s=TKR&f=n

and am able to access that via YQL (since this is cross-domain). However, that doesn t return the full company name, yet Yahoo Finance has such because it appears in their charts for the company and on their pages about the company.

I don t need for the solution to be via Yahoo Finance... just mention it here as I already know about it (and am accessing it for other data).

最佳回答

One of the community-provided YQL tables looks like it will work for you: yahoo.finance.stocks.

Example YQL query: select CompanyName from yahoo.finance.stocks where symbol="TKR"

Update 2012-02-10: As firebush points out in the comments, this YQL community table (yahoo.finance.stocks) doesn t seem to be working correctly any more, probably because the HTML page structures on finance.yahoo.com have changed. This is a good example of the downside of any YQL tables that rely on HTML scraping rather than a true API. (Which for Yahoo Finance doesn t exist, unfortunately.)

It looks like the community table for Google Finance is still working, so this may be an alternative to try: select * from google.igoogle.stock where stock= TRK ;

问题回答

I have screen scrapped this information in the past either using Yahoo Finance or MSN Money. For instance you can get this information for ExxonMobil by going to (link). As far as an API you might need to build one yourself. For an API checkout Xignite.

You can use the "Company Search" operation in the Company Fundamentals API here: http://www.mergent.com/servius/

You can use Yahoo s look up service using Jonathan Christian s .NET api that is available on NuGet under "Yahoo Stock Quotes".

https://github.com/jchristian/yahoo_stock_quotes

//Create the quote service
 var quote_service = new QuoteService();

//Get a quote
var quotes = quote_service.Quote("MSFT", "GOOG").Return(QuoteReturnParameter.Symbol,
                                                    QuoteReturnParameter.Name,
                                                    QuoteReturnParameter.LatestTradePrice,
                                                    QuoteReturnParameter.LatestTradeTime);

//Get info from the quotes
foreach (var quote in quotes)
{
    Console.WriteLine("{0} - {1} - {2} - {3}", quote.Symbol, quote.Name, quote.LatestTradePrice, quote.LatestTradeTime);
}

EDIT: After posting this I tried this exact code and it was not working for me so instead I used the Yahoo Finance Managed Api however it s not available via NuGet. A good example of use here

QuotesDownload dl = new QuotesDownload();
DownloadClient<QuotesResult> baseDl = dl;

QuotesDownloadSettings settings = dl.Settings;
settings.IDs = new string[] { "MSFT", "GOOG", "YHOO" };
settings.Properties = new QuoteProperty[] { QuoteProperty.Symbol,
                                        QuoteProperty.Name, 
                                        QuoteProperty.LastTradePriceOnly
                                      };            
SettingsBase baseSettings = baseDl.Settings;
Response<QuotesResult> resp = baseDl.Download();

Also if you just want to download the stuff stocktwits api has a download link for the symbology and industries under "Resources" http://stocktwits.com/developers/docs

It also possible to use Quandl.com resources. Their WIKI database contains 3339 major stocks and can be fetched via secwiki_tickers.csv file. For a plain file portfolio.lst storing the list of your tickers (stocks in US markets), e.g.:

AAPL
IBM
JNJ
MSFT
TXN

you can scan the .csv file for the name, e.g:

import pandas as pd

df = pd.read_csv( secwiki_tickers.csv )
dp = pd.read_csv( portfolio.lst ,names=[ pTicker ])

pTickers = dp.pTicker.values  # converts into a list

tmpTickers = []

for i in range(len(pTickers)):
    test = df[df.Ticker==pTickers[i]]
    if not (test.empty):
        print("%-10s%s" % (pTickers[i], list(test.Name.values)[0]))

what returns:

AAPL      Apple Inc.
IBM       International Business Machines Corporation
JNJ       Johnson & Johnson
MSFT      Microsoft Corporation
TXN       Texas Instruments Inc.

It is possible to combine more stocks from other Quandl s resources. See the documentation online.





相关问题
Reformat Yahoo finance date?

I m using http://finance.yahoo.com/d/quotes.csv?s= to grab a company s stock prices and imbedding in their site. I have 2 issues with it: Is it possible to reformat the date? It s currently returned ...

How do I get and compare stock quotes from Yahoo! and Google?

How to get a history quote from Yahoo and Google Finance with Perl and save in DB to compare and validate. What´s the best/simple Perl/Windows DB to make this and the Perl/Algoritmo to compare this ...

Get data into sqlite from yahoo finance

I trying to get yahoo prices into sqlite... I have the code below, but cant get the data into ipull [] then into sqlite... from urllib import urlopen import win32com.client as win32 import ...

How to extract data from Java web application?

I need to extract data from a Java web application. To be specific I am looking to extract real time stock data from yahoo market tracker. Can anyone please suggest any method?

ya鱼金融限制的货币汇率

我试图写一个文字,从黑色金融中下载货币汇率。 问题在于......,找不到有关这一服务限制的任何信息。 尤其关注......

Yahoo Finance API [closed]

Q. Do Yahoo provides any Finance API? If yes, the what s the link to that API.

热门标签