単純なシンボル検索サービスを提供するだけのAPIはありますか?つまり、会社名を入力すると、ティッカーシンボルがわかりますか? Google Financeをスクリーンスクレイピングしてみましたが、しばらくするとレートが制限され、CAPTCHAを入力する必要があります。約2000のティッカーシンボルをバッチ検索しようとしています。何か案は?
次のようなyahooのシンボルルックアップを使用できます。
ここで、queryは会社名です。
見返りにこのようなものが得られます:
YAHOO.Finance.SymbolSuggest.ssCallback(
{
"ResultSet": {
"Query": "ya",
"Result": [
{
"symbol": "YHOO",
"name": "Yahoo! Inc.",
"exch": "NMS",
"type": "S",
"exchDisp": "NASDAQ"
},
{
"symbol": "AUY",
"name": "Yamana Gold, Inc.",
"exch": "NYQ",
"type": "S",
"exchDisp": "NYSE"
},
{
"symbol": "YZC",
"name": "Yanzhou Coal Mining Co. Ltd.",
"exch": "NYQ",
"type": "S",
"exchDisp": "NYSE"
},
{
"symbol": "YRI.TO",
"name": "YAMANA GOLD INC COM NPV",
"exch": "TOR",
"type": "S",
"exchDisp": "Toronto"
},
{
"symbol": "8046.TW",
"name": "NAN YA PRINTED CIR TWD10",
"exch": "TAI",
"type": "S",
"exchDisp": "Taiwan"
},
{
"symbol": "600319.SS",
"name": "WEIFANG YAXING CHE 'A'CNY1",
"exch": "SHH",
"type": "S",
"exchDisp": "Shanghai"
},
{
"symbol": "1991.HK",
"name": "TA YANG GROUP",
"exch": "HKG",
"type": "S",
"exchDisp": "Hong Kong"
},
{
"symbol": "1303.TW",
"name": "NAN YA PLASTIC TWD10",
"exch": "TAI",
"type": "S",
"exchDisp": "Taiwan"
},
{
"symbol": "0294.HK",
"name": "YANGTZEKIANG",
"exch": "HKG",
"type": "S",
"exchDisp": "Hong Kong"
},
{
"symbol": "YAVY",
"name": "Yadkin Valley Financial Corp.",
"exch": "NMS",
"type": "S",
"exchDisp": "NASDAQ"
}
]
}
}
)
これはJSONであり、操作が非常に簡単です。
ハッシュ...誰にも言わないでください。
Google Financeでは、次のURLを使用して最大100の株価情報を一度に取得できます。
www.google.com/finance/info?infotype=infoquoteall&q=[ticker1],[ticker2],...,[tickern]
例えば:
www.google.com/finance/info?infotype=infoquoteall&q=C,JPM,AIG
誰かがここで利用可能なフィールドを解読しました:
http://qsb-mac.googlecode.com/svn/trunk/Vermilion/Modules/StockQuoter/StockQuoter.py
現在の価格(「l」)はリアルタイムであり、遅延はYahoo Financeと同等です。いくつか注意すべき点があります。少数の株式には、取引所プレフィックスが必要です。たとえば、「BTIM」をクエリすると、「Bad Request」エラーが表示されますが、「AMEX:BTIM」は機能します。いくつかの株は、交換プレフィックスでも機能しません。たとえば、「FTWRD」と「NASDAQ:FTWRD」を照会すると、Google FinanceがこのNASDAQ株に関する情報を持っているにもかかわらず、「Bad Request」エラーが生成されます。
「el」フィールドは、存在する場合、現在の市販前または時間外の価格を示します。
HTTPリクエストをhttp://finance.yahoo.comに送信して、シンボル、名前、引用符、およびすべてをリクエストできます他の種類のデータ。データは。CSVとして返されるため、1つのクエリで複数のシンボルを要求できます。
したがって、送信する場合:
http://finance.yahoo.com/d/quotes.csv?s=MSFT+F+ATT&f=sn
次のようなものが返されます。
"MSFT","Microsoft Corp"
"F","FORD MOTOR CO"
"ATT","AT&T"
これは、という記事と呼ばれる Yahooデータのダウンロード (にはさまざまなタグが含まれていますデータの要求に使用されます。
NASDAQサイトは、各証券取引所(NYSE、AMEX、およびNASDAQ)のティッカーシンボル用に個別のCSVリストをホストしています。キャプチャを完了し、CSVダンプを取得する必要があります。
サービスにサインアップしたくない場合は、おそらく交換自体に戻ります。それらのほとんどはまだキャプチャされていません...
以下のシンボル検索ページ:
等...
YQLを使用すれば、心配する必要はありません。 Yahooによるクエリ言語であり、ティッカーの会社名を含むすべての株式データを取得できます。これはREST APIであり、XMLまたはJSONを介して結果を返します。私のサイトに完全なチュートリアルとソースコードがあります: http://www.jarloo.com/yahoo-stock-symbol-lookup/
現在、NASDAQ Webサイトは、バルクリストを含むCSVファイルを公開しています。最初の文字で分割されています。
http://www.nasdaq.com/screening/companies-by-name.aspx?letter=A&render=download
Google FinanceにはAPIがあります-おそらく開発者キーを申請する必要がありますが、少なくともスクリーンスクレイピングの手間は省けます: http://code.google.com/apis/finance/reference .html
YQLを使用:SQLに似た言語でパブリックAPIからデータを取得します: YQLコンソール(外部リンク)
作業するための素敵なXMLファイルを提供します!
最善の策は、おそらく他の検索サービスのいずれか(まだ画面スクレイピング)を使用して、CAPTCHAを必要としないかどうかを確認することです。
最後のものは、どの時点でもCAPTCHAを必要とする可能性が最も低いように見えますが、3つすべてをチェックする価値があります。
ここでは、Company Fundamentals APIの「Company Search」操作を使用できます。 http://www.mergent.com/servius/