2010-07-31 225 views
7

是否有任何簡單的HTTP API可以讓我在某個特定的日期和時間獲得符號(如GOOG)的股票價格?獲取股票的價格歷史

喜歡的東西...

http://somewebsite.com/? 
    symbol=GOOG& 
    year=2010& 
    month=7& 
    day=30& 
    hour=4& 
    minute=00 

捐贈的$ 484.85

我希望能有一個Haskell函數,它的類型簽名看起來像的最終結果的響應...

getQuote :: Symbol -> Date -> Time -> Price 

回答

1

以下是關於如何從2014-01-01到2015-01-01爲Apple股票(AAPL)通過JSON格式獲取數據的example雅虎財經API使用YQL。

的YQL查詢URL編碼:

select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%3D%22AAPL%22%20and%20startDate%3D%222014-01-01%22%20and%20endDate%3D%222015-01-01%22 

所以,如果你解碼它,你會得到:

select * from yahoo.finance.historicaldata where symbol="AAPL" and startDate="2014-01-01" and endDate="2015-01-01" 

只要改變你想要的日期值者和解碼整個事情回來,例如使用這個URL編碼器:http://meyerweb.com/eric/tools/dencoder/

然後,通過將編碼查詢添加到請求URL中,將所有東西放在一起:

http://query.yahooapis.com/v1/public/yql?q={ENTER_QUERY_HERE}&env=http://datatables.org/alltables.env&format=json 

所以,你最終的東西是這樣的:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%3D%22AAPL%22%20and%20startDate%3D%222014-01-01%22%20and%20endDate%3D%222015-01-01%22&env=http://datatables.org/alltables.env&format=json 

將返回補償你所設置的時間段一些細微的JSON格式化數據。