Ⅰ 如何用python 爬蟲抓取金融數據

獲取數據是數據分析中必不可少的一部分,而網路爬蟲是是獲取數據的一個重要渠道之一。鑒於此,我拾起了Python這把利器,開啟了網路爬蟲之路。

本篇使用的版本為python3.5,意在抓取證券之星上當天所有A股數據。程序主要分為三個部分:網頁源碼的獲取、所需內容的提取、所得結果的整理。

一、網頁源碼的獲取

很多人喜歡用python爬蟲的原因之一就是它容易上手。只需以下幾行代碼既可抓取大部分網頁的源碼。

為了減少干擾,我先用正則表達式從整個頁面源碼中匹配出以上的主體部分,然後從主體部分中匹配出每隻股票的信息。代碼如下。

pattern=re.compile('<tbody[sS]*</tbody>')
body=re.findall(pattern,str(content)) #匹配<tbody和</tbody>之間的所有代碼pattern=re.compile('>(.*?)<')
stock_page=re.findall(pattern,body[0]) #匹配>和<之間的所有信息

其中compile方法為編譯匹配模式,findall方法用此匹配模式去匹配出所需信息,並以列表的方式返回。正則表達式的語法還挺多的,下面我只羅列所用到符號的含義。

語法 說明

. 匹配任意除換行符「 」外的字元

* 匹配前一個字元0次或無限次

? 匹配前一個字元0次或一次

s 空白字元:[<空格> fv]

S 非空白字元:[^s]

[...] 字元集,對應的位置可以是字元集中任意字元

(...) 被括起來的表達式將作為分組,裡面一般為我們所需提取的內容

正則表達式的語法挺多的,也許有大牛隻要一句正則表達式就可提取我想提取的內容。在提取股票主體部分代碼時發現有人用xpath表達式提取顯得更簡潔一些,看來頁面解析也有很長的一段路要走。

三、所得結果的整理

通過非貪婪模式(.*?)匹配>和<之間的所有數據,會匹配出一些空白字元出來,所以我們採用如下代碼把空白字元移除。

stock_last=stock_total[:] #stock_total:匹配出的股票數據for data in stock_total: #stock_last:整理後的股票數據
if data=='':
stock_last.remove('')

最後,我們可以列印幾列數據看下效果,代碼如下

print('代碼',' ','簡稱',' ',' ','最新價',' ','漲跌幅',' ','漲跌額',' ','5分鍾漲幅')for i in range(0,len(stock_last),13): #網頁總共有13列數據
print(stock_last[i],' ',stock_last[i+1],' ',' ',stock_last[i+2],' ',' ',stock_last[i+3],' ',' ',stock_last[i+4],' ',' ',stock_last[i+5])

Ⅱ 金融數據分析用python還是R還是matlab好

以前有過類似的問題 可以參考下:

http://www.xkyn.com/jiankang/tixing-2076112720581378468.htm

Ⅲ 如何用Python做金融數據分析

所說所有的變數都是對象。 對象在python里,其實是一個指針,指向一個數據結構,數據結構里有屬性,有方法。

Ⅳ python金融大數據分析 怎麼樣

你是想說書還是什麼
書的話,沒有一點數學和python基礎不太好學

Ⅳ 在哪兒買Python金融大數據分析

2012年的時候我們說R是學術界的主流,但是現在Python正在慢慢取代R在學術界的地位。不知道是不是因為大數據時代的到來。

Python與R相比速度要快。Python可以直接處理上G的數據;R不行,R分析數據時需要先通過資料庫把大數據轉化為小數據(通過groupby)才能交給R做分析,因此R不可能直接分析行為詳單,只能分析統計結果。所以有人說:Python=R+SQL/Hive,並不是沒有道理的。

Python的一個最明顯的優勢在於其膠水語言的特性,很多書里也都會提到這一點,一些底層用C寫的演算法封裝在Python包里後性能非常高效
(Python的數據挖掘包Orange canve
中的決策樹分析50萬用戶10秒出結果,用R幾個小時也出不來,8G內存全部占滿)。但是,凡事都不絕對,如果R矢量化編程做得好的話(有點小難度),會
使R的速度和程序的長度都有顯著性提升。

R的優勢在於有包羅萬象的統計函數可以調用,特別是在時間序列分析方面,無論是經典還是前沿的方法都有相應的包直接使用。
相比之下,Python之前在這方面貧乏不少。但是,現在Python有了
pandas。pandas提供了一組標準的時間序列處理工具和數據演算法。因此,你可以高效處理非常大的時間序列,輕松地進行切片/切塊、聚合、對定期
/不定期的時間序列進行重采樣等。可能你已經猜到了,這些工具中大部分都對金融和經濟數據尤為有用,但你當然也可以用它們來分析伺服器日誌數據。於是,近
年來,由於Python有不斷改良的庫(主要是pandas),使其成為數據處理任務的一大替代方案。

做過幾個實驗:
1. 用python實現了一個統計方法,其中用到了ctypes,multiprocess。
之後一個項目要做方法比較,又用回R,發現一些bioconctor上的包已經默認用parallel了。(但那個包還是很慢,一下子把所有線程都用掉了,導致整個電腦使用不能,看網頁非常卡~)
2. 用python pandas做了一些數據整理工作,類似資料庫,兩三個表來回查、匹配。感覺還是很方便的。雖然這些工作R也能做,但估計會慢點,畢竟幾十萬行的條目了。
3. 用python matplotlib畫圖。pyplot作圖的方式和R差異很大,R是一條命令畫點東
西,pylot是准備好了以後一起出來。pyplot的顏色選擇有點尷尬,默認顏色比較少,之後可用html的顏色,但是名字太長了~。pyplot
的legend比R 好用多了,算是半自動化了。pyplot畫出來後可以自由拉升縮放,然後再保存為圖片,這點比R好用。

總的來說Python是一套比較平衡的語言,各方面都可以,無論是對其他語言的調用,和數據源的連接、讀取,對系統的操作,還是正則表達和文字處
理,Python都有著明顯優勢。
而R是在統計方面比較突出。但是數據分析其實不僅僅是統計,前期的數據收集,數據處理,數據抽樣,數據聚類,以及比較復雜的數據挖掘演算法,數據建模等等
這些任務,只要是100M以上的數據,R都很難勝任,但是Python卻基本勝任。

結合其在通用編程方面的強大實力,我們完全可以只使用Python這一種語言去構建以數據為中心的應用程序。
但世上本沒有最好的軟體或程序,也鮮有人能把單一語言挖掘運用到極致。尤其是很多人早先學了R,現在完全不用又捨不得,所以對於想要學以致用的人來說,如果能把R和Python相結合,就更好不過了,很早看過一篇文章——讓R與Python共舞,咱們壇子里有原帖,就不多說了,看完會有更多啟發。

Ⅵ 有python金融大數據分析培訓班嗎

python是當下十分火爆的編程語言,尤其在人工智慧應用方面。如果有

Ⅶ python金融大數據分析 百度雲盤pdf

https://pan..com/share/init?surl=gf5GX9L分享密碼:awr6

Ⅷ matlab和python哪個更適合金融領域的數據分析

現在分析全線轉R/python,未來有可能上Julia。
別問為什麼不用matlab了。R/python組合好處在於開源,數版據workflow相當容易搭建起來,另外權背靠學術界,有相當多的新統計工具可以試。說R速度慢根本不是問題,機器好一點就行了。超大型的數據甚至可以跑R/hadoop。
MATLAB的完全就不能比。
————————————
另外說在「工程上MATLAB有而R/python沒有」我覺得是十分奇怪的。就比如,目前新工具而言比如deep learning來說。python上有Theano/pylearn2/對接caffe,MATLAB的deep learning我目前只知道一個Toolbox。舊的工具R/python上也不缺。

另外我看有答案把MATLAB能直接發送交易信號作為MATLAB賣點。我覺得貴司策略和交易是不是定位不太清晰。為了保證可靠的性能和策略管理的便利性,我想除了個人投資者沒有人會選擇開著MATLAB下單。

Ⅸ 用金融數據可以做什麼分析 python

從面向對象OO的概念來講,對象是類的一個實例。在python里很簡單,對象就是變數。 class A: myname="class a" 上面就是一個類。不是對象 a=A() 這里變數a就是一個對象。
它有一個屬性(類屬性),myname,你可以顯示出來 print a.myname 所以,你看到一個變數後面跟點一個小數點。