2011-02-04 72 views
7

我正在開展我的碩士項目,並且正在尋找關於特定公司的大量財務數據。用於財務數據的Java API

例如:讓我們說「蘋果」。我需要歷史價格,當前市場價格/比率,季度業績和分析師電話。

我在StackOverflow上看到了一些關於YQL的帖子。我想我可以免費獲得Yahoo Finance的現行價格和各種比率。然而,對於其他數據,還有像湯森路透,彭博等公司,但他們似乎有一個封閉的系統。

我在哪裏可以獲取API來獲取各種數據?有什麼能幫助我獲得這些數據嗎?我對任何格式的原始數據都很滿意。無論我能得到什麼。你們可以請建議任何API嗎?

回答

0

您確實在詢問免費的財務數據服務 ...而不是API。

問題是數據是有價值的商品。這可能會讓供應商花費大量資金來建立他們的系統,並且讓他們花費更多的錢來保持這些系統的運行。當然,他們希望獲得投資回報,並且通過銷售他們的數據/服務來實現(部分)。 (對於雅虎,谷歌等來說,數據是從其他人那裏購買的,而雅虎/谷歌將受到限制,他們將如何使用它們,這些限制將反映在各自的ToS中,例如你只允許訪問「供個人使用」的服務。)

我認爲你最好的辦法是接近一些金融數據提供者,並詢問他們是否可以爲你提供免費訪問(受任何限制他們可能想要強加給他們的數據服務)。你可能會很幸運...

+0

嘿謝謝斯蒂芬。相反,它的金融數據服務的API,就像我們可以使用API​​獲取Twitter Feeds一樣。我知道這會花費他們。我可以付一些費用。任何知名公司? – Kunal 2011-02-04 05:02:59

+0

如果您想要的只是當前現貨(延遲10分鐘)並且只有歷史上的每日收盤價(沒有盤中數據),那麼您可以免費獲得。如果您需要實時價格和盤中交易數據記錄,那麼您可以從彭博或交易所自行購買。 – 2011-02-04 06:23:13

0

你有沒有試過Google Finance API。 (請谷歌;)。我正在使用它來跟蹤我的投資組合。你可以試試http://code.google.com/apis/finance/docs/finance-gadgets.html?有一個自定義小部件的例子,它可能會告訴你,如果你在正確的樹下吠叫。

+0

嗨。我看到了。我想將這些數據用於後端處理。看起來財務小工具僅用於HTML – Kunal 2011-02-04 04:56:08

+0

ooops ...並非真的......它是基於json的服務。你可以在你的服務層調用它。我讓你看看小部件,以便你知道你是否得到了你需要的數據。 – 2011-02-04 05:01:26

+0

謝謝。你的意思是說http://goo.gl/jsrFl。它不是更多的投資組合管理? – Kunal 2011-02-04 05:10:37

3

斯蒂芬是對的錢,如果你真的想要一個真正的財富的數據,你可能會付出代價。

http://www.gummy-stuff.org/Yahoo-data.htm

我已經從S &普500指數相當拉下所有股票:

不過,我已經通過使用「API」在這裏闡述了成功對我自己的私人項目通常情況下,但如果您曾發佈過這些數據,請與雅虎通話。你可能需要許可它。

順便說一句,所有這些數據是CSV格式,因此獲得了一個CSV閱讀器/轉換器等,他們很容易找到

0

良好的數據是不是免費的。就這麼簡單。原因是所有數據最終都是從紐約證券交易所或納斯達克交易所獲得許可的。

如果你可以得到一些錢高分辨率的歷史數據可從Automated Trader

你還應該和你學校的商學院交談。如果他們有財務碩士/博士學位的學生或金融工程碩士,他們應該爲他們的學生提供大量的高分辨率數據庫。

如果您提出更詳細的問題,我可以提供更詳細的答案。

0

這是我每週至少踢一次自己的東西。當互聯網由Gopher等組成時,您可以在納斯達克和紐約證券交易所登錄FTP服務器,並免費下載各種股票歷史文件。我已經做到了,即使它已經導入到數據庫中,並使用它做了一些事情......但那可能是10臺電腦前,它的LONG現在消失了。

1

一個Java庫是IdylFin,它具有方便的方法下載歷史數據。

聲明:我是該庫的作者。

0

我已經解決了過去的這個問題。

對於價格歷史數據,我使用了雅虎的API。當我說API時,我的意思是我正在爲價格歷史數據的CSV文件發出HTTP請求。不幸的是,這隻能爲您提供一個公司的數據,在您指定的時間範圍內。所以我首先列出了所有股票代碼,然後迭代,爲每個代碼調用雅虎的API。您也許能夠找到一個也列出了股票代碼的網站,並且只是定期下載該列表。

這樣做太頻繁太快,他們的網站可能會阻止你。我添加了一些代碼來限制我發送http請求的頻率。我也堅持我的數據,所以我不必再次得到它。我會一直堅持原始/未經處理的數據形式,您的代碼可能會改變方式,使得使用其他任何東西都很困難。 Avro/Thrift可能是個例外,因爲那些支持模式演變。

對於其他類型的數據,您可能沒有任何API可以爲您提供良好的CSV文件。我不得不多次應付這個問題。這是我的建議。

有時一個網站在幕後調用一個寧靜的web服務,你可以通過使用螢火蟲發現。有時它還需要某些標題,您也可以使用螢火蟲發現它。

如果您被迫使用HTML,有幾個java庫可以幫助您。 apache.commons.http是一個庫,可以用來輕鬆地創建http請求並處理它們的響應。谷歌也有一個http客戶端的jar,這可能值得研究。

JSoup API在解析HTML數據方面非常出色,即使格式不正確,也不是XHTML。它也適用於XML。而不是遍歷或訪問jsoup層次結構中的節點,學習XPath並使用它來選擇你想要的。該網站可能會定期更改其網頁的格式,如果您使用的是JSoup,該網頁應該很容易處理和修復,而且難以應對。

如果您必須使用JSON,請使用Jackson庫來解析它。

如果您必須使用CSV,請使用OpenCSV庫分析並處理它。

此外,始終將數據存儲在原始數據中,並避免發出不必要的HTTP請求,以免被阻止。我被谷歌金融幾次封鎖,他們可以做到。幸運的是,該塊不會過期。您甚至可能希望在請求之間添加一個隨機等待期。