我需要从客户端Javascript中找到一个方法,以便在给定股票代码的情况下找到完整公司名称。我知道Yahoo Finance的界面:
http://finance.yahoo.com/d/quotes.csv?s=TKR&f=n
并且能够通过YQL访问它(因为这是跨域的)。然而,这并没有返回完整的公司名称,但雅虎财务有这样的名称,因为它出现在公司的图表中以及他们关于公司的网页上。
我不需要解决方案来通过雅虎金融...只是在这里提到它,因为我已经知道它(并且正在访问它以获取其他数据)。
答案 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)
答案 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资源的更多股票。请参阅在线文档。