+
下載谷歌盤中歷史數據與Python 二○一一年十二月十九日 到目前為止,我在以前的文章中,我們已經下載每日股票價格從知名網站雅虎和谷歌。 這兩個網站提供了非常方便的訪問到免費的每日歷史數據。 這兩個網站還提供的股票價格不錯的走勢圖。 但是,有些人可能已經注意到,谷歌圖表不僅每天的價格,但他們也圖表盤中價格下跌兩分分辨率的。 但是,有沒有發表的鏈接獲得用於構建圖表的原始數據。 令人失望。 讓我們做一個小調查,看看我們可以計算出。 對於使用優秀的Chrome瀏覽器的那些你,它有一個內置的實用工具來檢查一個網頁(或網站)的幾乎所有方面。 這就是所謂的開發工具。 它可以開始點擊扳手圖標的右上角,選擇工具,然後開發人員工具(或者乾脆按Ctrl + Shift + I)。 該實用程序有功能的巨大金額,但我們主要感興趣的任何網絡流量頁面生成。 所以讓我們拉起了谷歌財經摘要頁面AAPL啟動。 然後啟動開發工具,然後單擊網絡選項卡。 最後,圖表AAPL上,單擊2分鐘間隔鏈接。 在頁面的底部將是所有通過點擊2分鐘鏈路中生成的網絡請求的列表。 看著他們,有一個叫getprices。 這看起來很有希望! 現在,點擊該鏈接,然後沿頂部的響應選項卡,看看該服務器響應請求。 這裡是我的瀏覽器看起來像: 我們感興趣的是看起來像這樣的數據: 現在我們要去哪裡! 該肯定貌似價格和數量的數據,以及偏移列表某種時間戳和。 下面是該鏈接看起來像: 如果我們複製該鏈接,並把它直接在我們的瀏覽器的地址欄中,我們可以得到完整的數據集。 它似乎有後跟的價格清單一些頭數據。 日期顯示於由一個週期的時間值,後面是一系列偏移的。 因此,有兩件事情弄清楚。 首先,我們需要破譯就像我們日常數據的URL字符串,然後我們需要時間標記的數據進行解碼,在返回的結果。 讓我們先解決URL字符串。 我們將做到這一點,就像其他兩個以前的嘗試。 我們結束了: 該基地網址是谷歌/財務/ getprices q為符號(AAPL) x是交易所(NASD) i是在秒的時間間隔(120 =秒= 2分鐘) 會議是會議的要求(ext_hours) p是一個時間段(5d的= 5天) f是請求域(D,C,V,H,O,L) DF。 (cpct) 汽車 。 (1) TS是一個潛在的時間標記(1324323553 905) 同樣,我花了一些時間在擺弄查詢參數,發現你可以逃脫,只有Q,I,P,和f。 簡化URL(得到10天5分鐘AAPL數據)看起來是這樣的: 來吧,點擊鏈接來試試吧。 現在,我們可以下載盤中的數據為在特定時期時光倒流。 有可能是一種方式來獲得它的任何兩個日期之間,但我還沒有想通了這一點呢。 如果有人知道,我肯定會感興趣的找出如何。 接下來的問題是要弄清楚如何處理怪異的日期格式。 在上面的例子中返回的數據,我在第一次約會現場和向下移動了a1323181800,最後顯示的一個前綴號碼是a1324045800。 那些看起來很像Unix的時間戳給我。 所有主要的編程語言都支持他們,他們只是秒數自1/1/1970。 同樣,使用我的朋友谷歌,我發現了一個網上的Unix時間戳轉換器插在上面的數字(沒有一個)。 我:週二,06十二月2011 14:30:00 GMT和週五,16十二月2011 14:30:00 GMT第二。 賓果! 他們是Unix的時間戳。 而數據似乎列出最久的開始。 因此,要獲得日期為每個時間標記,我們只需要任何一個前綴的時間轉換為Unix時間,然後每個隨後的時間,我們增加了上偏移的間隔秒數到最後記錄的Unix時間,直到我們 得到一個新的一個前綴的時間。 這聽起來很複雜,比它確實是。 由於我只關心DOHLC價值觀,我會忽略在我們的數據集中的報頭字段。 而且,由於這個職位是越來越長的漂亮,我將介紹我寫的解析數據的Python類: 它應該是自我解釋的。 這類和其他人之間的主要區別是,就是利用了代替開始/結束時間的間隔(秒)和一個回溯(天)。 我忽略了前五個頭字段,然後檢查前面加上一個日期字段。 我跟踪的偏移量,並計算出正確的日期與行: 還有最後一個棘手的部分:請注意,OHLC數據列在非標準格式。 它實際上是返回氯仿溶劑,無論什麼樣的順序的F字段列。 應當指出的是,它似乎有只有最近的10-20天可在任何給定時間盤中的數據。 購買哎,你想白白什麼! 稍後,我們會盡量找一些有趣的事情做與此數據與這些限制。 最後,一個完整的例子:google_intraday. py
No comments:
Post a Comment