Googleのサービスから財務データにアクセスする方法を探しています。
マイクロソフトの株式データを取得するこのURLを見つけました。
Googleがこの種のHTTPリクエストに許可するすべての可能なパラメータは何ですか?私は、取得できるすべての異なる情報を見てみたいのです。
Google Finance Gadget API正式に[2012年10月以降非推奨](http:/googlescode.blogspot。
<ストライク>。 http://www.google.com/finance/info?q = NASDAQ:GOOG。 http://www.google.com/finance/info?q =通貨:GBPUSD。 http://finance.google.com/finance/info?client = ig& q = AAPL、YHOO。 < / strike>。
チャートを取得することもできます:https://www.google.com/finance/getchart?q = YELP。
アプリケーションが[公共消費の場合、Google Finance APIを使用するとGoogleの利用規約に違反することに注意してください](https://groups.google.com/d/msg/google-finance-apis/O8fjsgnamHE/ -ZKSjif4yDIJ)。。
pythonの完全なコードについては、google-finance-get-stock-quote-realtimeを確認してください。
ポートフォリオを管理するためのAPIがあります。*リンクは削除されました。Googleはもはやこのための開発者用APIを提供していない。
株価の取得は少し難しい。 Googleスプレッドシートを使って株価を取得している記事を見つけました。
ガジェット]4を使うこともできますが、それはあなたが求めているものではないのでしょう。
あなたの言うAPIは面白いですが、ドキュメントがないようです(私が探した限りでは)。
参考までに、heistorical pricesに関する情報をいくつか挙げておきます。
このサイトが役に立ちました。
http://benjisimon.blogspot.com/2009/01/truly-simple-stock-api.html
yahooが提供しているようなAPIにリンクしており、とてもシンプルで便利です。
例えば、以下のようなものです。
http://finance.yahoo.com/d/quotes.csv?s=GOOG+AAPL&f=snl1
詳細はこちら
編集:api呼び出しはgoogleによって削除されました。 そのため、機能しなくなりました。
パレシュクマールの答えに同意します。 これで、URL呼び出し用のpythonラッパー[googlefinance][1]があります。
googlefinanceをインストールします。
$pip install googlefinance
現在の株価を取得するのは簡単です。
>>> from googlefinance import getQuotes
>>> import json
>>> print json.dumps(getQuotes('AAPL'), indent=2)
[
{
"Index": "NASDAQ",
"LastTradeWithCurrency": "129.09",
"LastTradeDateTime": "2015-03-02T16:04:29Z",
"LastTradePrice": "129.09",
"Yield": "1.46",
"LastTradeTime": "4:04PM EST",
"LastTradeDateTimeLong": "Mar 2, 4:04PM EST",
"Dividend": "0.47",
"StockSymbol": "AAPL",
"ID": "22144"
}
]
Googleファイナンスは、リアルタイムの株式データを提供するソースです。 yahoo-financeなど、yahooの他のAPIもありますが、NYSEおよびNASDAQの在庫では15分遅れています。
[1]:https://pypi.python.org/pypi/googlefinance/0.4 "googlefinance"。
YahooとGoogleのデータの問題は、商用利用に使用している場合、利用規約に違反することです。 サイト/アプリがまだ小さい場合、それは大したことではありませんが、少し大きくなるとすぐに、あなたは停止し始め、取引所から離れます。 ライセンスされたソリューションの例は、FinancialContent:http://www.financialcontent.com/json.phpです。 または< a href = "http://www.xignite.com"> Xignite。
興味深いことに、Google Finance API のドキュメントには、JavaScript で異なるパラメータにアクセスする方法の詳細 が含まれています。
私は、JavaScript APIは、あなたが上記の言及したJSONリクエストのラッパーであるかもしれないと思います...おそらく、あなたはどのHTTPリクエストが送信されているかを確認することができます。
巨人の肩の上に構築します。..ここに、Googleの現在の在庫データすべてをローカルのBashシェル変数にザップするために書いたワンライナーがあります。
stock=$1
# Fetch from Google Finance API, put into local variables
eval $(curl -s "http://www.google.com/ig/api?stock=$stock"|sed 's/</\n</g' |sed '/data=/!d; s/ data=/=/g; s/\/>/; /g; s/</GF_/g' |tee /tmp/stockprice.tmp.log)
echo "$stock,$(date +%Y-%m-%d),$GF_open,$GF_high,$GF_low,$GF_last,$GF_volume"
次に、$ GF_last $ GF_open $ GF_volumeなどの変数があります。 すぐに利用できます。 envを実行するか、/ tmp / stockprice.tmp.logの内部を参照してください。
http://www.google.com/ig/api?stock=TVIX&output=csv by itself returns:
<?xml version="1.0"?>
<xml_api_reply version="1">
<finance module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0" >
<symbol data="TVIX"/>
<pretty_symbol data="TVIX"/>
<symbol_lookup_url data="/finance?client=ig&q=TVIX"/>
<company data="VelocityShares Daily 2x VIX Short Term ETN"/>
<exchange data="AMEX"/>
<exchange_timezone data="ET"/>
<exchange_utc_offset data="+05:00"/>
<exchange_closing data="960"/>
<divisor data="2"/>
<currency data="USD"/>
<last data="57.45"/>
<high data="59.70"/>
<low data="56.85"/>
etc.
したがって、 stock = "FBM"
* / tmp / stockprice.tmp.log **(および環境)には以下が含まれます。
GF_symbol="FBM";
GF_pretty_symbol="FBM";
GF_symbol_lookup_url="/finance?client=ig&q=FBM";
GF_company="Focus Morningstar Basic Materials Index ETF";
GF_exchange="NYSEARCA";
GF_exchange_timezone="";
GF_exchange_utc_offset="";
GF_exchange_closing="";
GF_divisor="2";
GF_currency="USD";
GF_last="22.82";
GF_high="22.82";
GF_low="22.82";
GF_volume="100";
GF_avg_volume="";
GF_market_cap="4.56";
GF_open="22.82";
GF_y_close="22.80";
GF_change="+0.02";
GF_perc_change="0.09";
GF_delay="0";
GF_trade_timestamp="8 hours ago";
GF_trade_date_utc="20120228";
GF_trade_time_utc="184541";
GF_current_date_utc="20120229";
GF_current_time_utc="033534";
GF_symbol_url="/finance?client=ig&q=FBM";
GF_chart_url="/finance/chart?q=NYSEARCA:FBM&tlf=12";
GF_disclaimer_url="/help/stock_disclaimer.html";
GF_ecn_url="";
GF_isld_last="";
GF_isld_trade_date_utc="";
GF_isld_trade_time_utc="";
GF_brut_last="";
GF_brut_trade_date_utc="";
GF_brut_trade_time_utc="";
GF_daylight_savings="false";
あなたが説明した最も簡単な方法は、この[リンク][1]です。 「ダウジョーンズ工業平均」。
[リンク2][2]は「NASDAQ-100」用です。
NASDAQに関連するすべての[リンク3][3]。
これはそれだと思います。そうでなければ、JSON表記でMicrosoftと同じにしたいのです。
これを参照してください古い投稿これが役立つと思います。
更新:
ボリュームの詳細やその他の詳細を知るために。 IEオブジェクトを使用してリンクから詳細を取得するvbscriptを作成し、特定のIDのコンテンツに警告します(.vbsファイルを作成して実行します)。.
Set IE = CreateObject("InternetExplorer.Application")
while IE.readyState = 4: WScript.Sleep 10: wend
IE.Navigate "https://www.google.com/finance?q=INDEXNASDAQ%3ANDX&sq=NASDAQ&sp=2&ei=B3UoUsiIH5DIlgPEsQE"
IE.visible = true
while IE.readyState = 4: WScript.Sleep 10: wend
dim ht
ht= IE.document.getElementById("market-data-div").innerText
msgBox ht
IE.quit
これにより、ページの値が警告されます。 このような。
3,124.54 0.00 (0.00%)
Sep 4 - Close
INDEXNASDAQ real-time data - Disclaimer
Range -
52 week 2,494.38 - 3,149.24
Open -
Vol. 0.00
これが役立つと確信しています。.
[1]:https://www.google.com/finance?q = INDEXDJX:.DJI。 [2]:https://www.google.com/finance?q = INDEXNASDAQ:NDX。 [3]:https://www.google.com/finance?q = NASDAQ。
使用できる例を次に示します。 まだGoogle Financeを取得していませんが、Yahooの例を示します。 HTMLAgilityPackが必要です。 ハッピーシンボルハンティング。
YahooStockRequest(string Symbols);
を使用して手順を呼び出します。
ここで、記号=コンマ区切りの記号の文字列、または1つの記号のみ。
public string YahooStockRequest(string Symbols,bool UseYahoo=true)
{
{
string StockQuoteUrl = string.Empty;
try
{
// Use Yahoo finance service to download stock data from Yahoo
if (UseYahoo)
{
string YahooSymbolString = Symbols.Replace(",","+");
StockQuoteUrl = @"http://finance.yahoo.com/q?s=" + YahooSymbolString + "&ql=1";
}
else
{
//Going to Put Google Finance here when I Figure it out.
}
// Initialize a new WebRequest.
HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(StockQuoteUrl);
// Get the response from the Internet resource.
HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();
// Read the body of the response from the server.
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
string pageSource;
using (StreamReader sr = new StreamReader(webresp.GetResponseStream()))
{
pageSource = sr.ReadToEnd();
}
doc.LoadHtml(pageSource.ToString());
if (UseYahoo)
{
string Results=string.Empty;
//loop through each Symbol that you provided with a "," delimiter
foreach (string SplitSymbol in Symbols.Split(new char[] { ',' }))
{
Results+=SplitSymbol + " : " + doc.GetElementbyId("yfs_l10_" + SplitSymbol).InnerText + Environment.NewLine;
}
return (Results);
}
else
{
return (doc.GetElementbyId("ref_14135_l").InnerText);
}
}
catch (WebException Webex)
{
return("SYSTEM ERROR DOWNLOADING SYMBOL: " + Webex.ToString());
}
}
}
これを試してみてください。 http://finance.google.com/finance/info?client = ig& q = NASDAQ:GOOGL。
記載されている在庫に関する利用可能なすべての詳細を返します。
例えば. out putは次のようになります。
// [ {
"id": "694653"
,"t" : "GOOGL"
,"e" : "NASDAQ"
,"l" : "528.08"
,"l_fix" : "528.08"
,"l_cur" : "528.08"
,"s": "0"
,"ltt":"4:00PM EST"
,"lt" : "Dec 5, 4:00PM EST"
,"lt_dts" : "2014-12-05T16:00:14Z"
,"c" : "-14.50"
,"c_fix" : "-14.50"
,"cp" : "-2.67"
,"cp_fix" : "-2.67"
,"ccol" : "chr"
,"pcls_fix" : "542.58"
}
]
このURLの最後に会社のストックシンボルを使用して、詳細を取得できます。
http://finance.google.com/finance/info?client=ig&q=<YOUR COMPANY STOCK SYMBOL>
Googleの財務データAPIを使用してグラフデータを見つけるには、検索用語を探しているようにGoogleにアクセスし、検索エンジンにファイナンスを入力するだけで、Googleファイナンスへのリンクが表示されます。 Google Finance検索エンジンに到着したら、ティッカー名をFinancial Data APIエンジンに入力すると、結果が表示されます。 ただし、すべてのGoogleファイナンスチャートは15分遅れており、現在の価格ではなく、ティッカーの過去の履歴をよりよく理解するために使用できることに注意してください。
遅延チャート情報の解決策は、リアルタイムの財務データAPIを取得することです。 1つの例は、リアルタイムの見積もり情報を含むバーチャートデマンドインターフェイスと、探している正確なチャートを簡単に見つけることができる他の詳細な機能です。 完全にカスタマイズ可能な機能と、必要な正確な取引情報のための特定のプログラミングツールにより、barchartondemandのツールはGoogleファイナンスを大幅に上回っています。