需要一个API来查找给定股票代码的完整公司名称

时间:2010-07-08 20:08:21

标签: api yahoo finance

我需要从客户端Javascript中找到一个方法,以便在给定股票代码的情况下找到完整公司名称。我知道Yahoo Finance的界面:

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

并且能够通过YQL访问它(因为这是跨域的)。然而,这并没有返回完整的公司名称,但雅虎财务有这样的名称,因为它出现在公司的图表中以及他们关于公司的网页上。

我不需要解决方案来通过雅虎金融...只是在这里提到它,因为我已经知道它(并且正在访问它以获取其他数据)。

5 个答案:

答案 0 :(得分:7)

社区提供的YQL表之一看起来对您有用:yahoo.finance.stocks。

示例YQL查询: select CompanyName from yahoo.finance.stocks where symbol="TKR"

更新2012-02-10:正如firebush在评论中指出的那样,这个YQL社区表(yahoo.finance.stocks)似乎不再正常工作,可能是因为finance.yahoo.com上的HTML页面结构已更改。这是依赖于HTML抓取而不是真正的API的任何YQL表的缺点的一个很好的例子。 (不幸的是,雅虎财务不存在。)

Google财经的社区表似乎仍在运作,因此这可能是尝试的替代方法:select * from google.igoogle.stock where stock='TRK';

答案 1 :(得分:1)

我过去曾使用Yahoo Finance或MSN Money取消此信息。例如,您可以转到(link)获取埃克森美孚的这些信息。至于API,您可能需要自己构建一个API。对于API结帐Xignite

答案 2 :(得分:0)

您可以在公司基础API中使用“公司搜索”操作:http://www.mergent.com/servius/

答案 3 :(得分:0)

您可以使用Jonathan Christian的.NET api使用Yahoo的查询服务,该API可以在NuGet的“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);
}

编辑:发布后我尝试了这个确切的代码并且它不适合我,所以我使用了Yahoo Finance Managed Api但是它不能通过NuGet获得。使用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();

此外,如果你只是想下载东西stocktwits api在“资源”http://stocktwits.com/developers/docs下有符号系统和行业的下载链接

答案 4 :(得分:0)

也可以使用Quandl.com资源。他们的WIKI数据库包含3339个主要股票,可以通过secwiki_tickers.csv文件获取。对于存储您的代码清单(美国市场中的股票)的普通文件 portfolio.lst ,例如:

AAPL
IBM
JNJ
MSFT
TXN

您可以扫描.csv文件中的名称,例如:

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]))

返回什么:

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

可以结合其他Quandl资源的更多股票。请参阅在线文档。