8

我需要一种从客户端 Javascript 中查找给定股票代码的完整公司名称的方法。我知道雅虎财经的界面位于:

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

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

我不需要通过 Yahoo Finance 提供解决方案......只需在此处提及它,因为我已经知道它(并且正在访问它以获取其他数据)。

4

5 回答 5

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';

于 2010-07-12T18:08:05.340 回答
1

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

于 2010-07-09T17:14:49.330 回答
0

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

于 2010-08-02T20:30:56.843 回答
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 获得。在这里使用的一个很好的例子

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下有符号和行业的下载链接

于 2013-07-26T18:22:54.540 回答
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 的其他资源中合并更多股票。请参阅在线文档。

于 2015-04-24T05:01:28.143 回答