私は次の問題を抱えています:
私は約1000の固有のISIN番号の証券取引所上場企業を持っています。
しかし、私の研究によると、yahooは私が持っていない株式ティッカーシンボルの価格しか提供できません。
たとえば、会社のPorr
であるISIN: AT0000609664
を、APIを介してyahooから自動的に取得する方法はありますか?
返信ありがとうございます!
ISINからYahooティッカーシンボルを取得するには、_yahoo.finance.isin
_テーブルを見てください。クエリの例を次に示します。
_http://query.yahooapis.com:80/v1/public/yql?q=select * from yahoo.finance.isin where symbol in ("DE000A1EWWW0")&env=store://datatables.org/alltableswithkeys
_
これにより、XML内にティッカー_ADS.DE
_が返されます。
_<query yahoo:count="1" yahoo:created="2015-09-21T12:18:01Z" yahoo:lang="en-US">
<results>
<stock symbol="DE000A1EWWW0">
<Isin>ADS.DE</Isin>
</stock>
</results>
</query>
<!-- total: 223 -->
<!-- pprd1-node600-lh3.manhattan.bf1.yahoo.com -->
_
例のISINが機能しないのではないかと思いますが、これはYahoo側のエラーです( Yahoo Symbol Lookup を参照、そこにISINを入力して、Yahooにティッカーが存在するかどうかを確認してください)。
申し訳ありませんが、私はJavaまたはRに習熟していませんが、このC#コードはコピー/貼り付けに十分似ているはずです:
_public String GetYahooSymbol(string isin)
{
string query = GetQuery(isin);
XDocument result = GetHttpResult(query);
XElement stock = result.Root.Element("results").Element("stock");
return stock.Element("Isin").Value.ToString();
}
_
ここで、GetQuery(string isin)
はクエリのURIをyahooに返し(私の例のURIを参照)、GetHttpResult(string URI)
はWebからXMLをフェッチします。次に、Isin
ノードの内容を抽出する必要があります。これで完了です。
ティッカーシンボルを使用して実際のデータフェッチをすでに実装していると思います。逆問題(記号-> isin)については、 この質問 も参照してください。しかし、記録のために:
シンボルの履歴データをフェッチするクエリ
_http://query.yahooapis.com:80/v1/public/yql?q=select * from yahoo.finance.historicaldata where symbol in ("ADS.DE") and startDate = "2015-06-14" and endDate = "2015-09-22"&env=store://datatables.org/alltableswithkeys
_
ここで、任意の日付と任意のティッカーシンボルのリストを渡すことができます。コードでクエリを作成し、取得したXMLから結果を取得するのはあなた次第です。応答は次のようになります
_<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="71" yahoo:created="2015-09-22T20:00:39Z" yahoo:lang="en-US">
<results>
<quote Symbol="ADS.DE">
<Date>2015-09-21</Date>
<Open>69.94</Open>
<High>71.21</High>
<Low>69.65</Low>
<Close>70.79</Close>
<Volume>973600</Volume>
<Adj_Close>70.79</Adj_Close>
</quote>
<quote Symbol="ADS.DE">
<Date>2015-09-18</Date>
<Open>70.00</Open>
<High>71.43</High>
<Low>69.62</Low>
<Close>70.17</Close>
<Volume>3300200</Volume>
<Adj_Close>70.17</Adj_Close>
</quote>
......
</results>
</query>
<!-- total: 621 -->
<!-- pprd1-node591-lh3.manhattan.bf1.yahoo.com -->
_
これにより、独自のコードを記述できるようになります。クエリの最後に_&e=.csv
_が付いた.csv形式でデータを取得する可能性があることに注意してください。ただし、それについて、または上記のクエリで機能するかどうかはよくわかりません。 を参照してください。ここ 参照用。
日付範囲に基づいて履歴データを提供するWebサービスを見つけました。ご覧ください
http://splice.xignite.com/services/Xignite/XigniteHistorical/GetHistoricalQuotesRange.aspx