【量化小講堂-Python&Pandas系列01】如何快速上手使用Python進行金融數據分析

本文原由作者於2015年6月8日首發於人大經濟論壇,整理如下。

引言:

本系列「量化小講堂」,通過實際案例教初學者使用python、pandas進行金融數據處理,希望能對大家有幫助。

【必讀文章】:《10年400倍策略分享-附視頻逐行講解代碼》

【所有系列文章匯總】:【量化小講堂 – Python、Pandas系列】目錄匯總

微信:xbx_laoshi,量化交流Q群(快滿):438143420,有問題歡迎交流。

如何快速上手使用Python進行金融數據分析

根據之前幾篇系列帖子以及交流QQ群(438143420)中的反饋,讓我覺的很有必要寫一篇如何快速上手使用Pyhton進行系列分析的帖子。本文主要以此為主題,介紹下我學習量化投資、Python的個人經驗。

第一步:好奇心

不要為了學習而去學習一門編程語言,或者任何工具。一定要心裡首先有一個問題,抱著解決問題的心態,去了解並學習這個工具是如何解決問題的。驅動你去學習量化投資的,應該是你的好奇心。你認為你有一個炒股獨家的竅門,你認為你發現了某個規律,你非常好奇的想用歷史數據去驗證你的想法。比如我在大二的時候接觸量化投資,就是因為我的好奇心。當時我看到一些入門的技術分析書上推薦KDJ這個技術指標,說KDJ低位金叉之後股票會漲,是個很好的買入信號,並且書上會配一些圖,證明這個指標的有效性。我當時就很好奇,書上說的是不是真的?這幾個配圖是刻意挑選的還是有代表性的?是不是可以寫個程序找出歷史上所有的kdj金叉,看看之後漲的概率有多大?

這就是引領我入門的最初的好奇心。當時我不會編程,一開始用excel來試著驗證,發現KDJ從大概率上來講是不行的。好奇心繼續升級:我調整一下KDJ默認的參數,效果會不會好一點?再配合一下其他的指標,效果會不會好一點?再加上點財務數據,效果會不會好一點......

慢慢的想測試的想法越來越多,excel漸漸的不夠用,開始學習編程。我學習編程的目的性很強,就是解決我眼前的問題。對於解決我問題沒有幫助的,我就先不學。一開始用的是SAS,自己找書看,論壇上發帖子問。後來覺得SAS太重,不靈活,慢慢的遷移到Python。

我是金融專業的,但是學校並不教量化投資,一切都是自己學。可想而知,若沒有好奇心一直引導我去探索,這麼長的一段時間我怎麼可能堅持下來呢?

第二步:為什麼Python

我推薦剛入門的量化投資研究者使用Python。主要理由如下:

1.適用性

Python配合各類第三方的package(例如下面要降到的pandas),是非常適合用來處理金融數據的

2.簡單

相比於c,c#等語言,Python容易太多了。讓你可以更快,更方便的對自己的想法進行測試。life is short, use Python。

3.全能

Matlab是另外一個金融分析領域的統治級語言,以上講的兩點適用性、簡單性matlab都是具備的,在業界的使用範圍應該是比Python要高的。

而Python相比於matlab的一大優勢,那就是全能。matlab基本只能用於金融數據分析。但是Python除了擁有不亞於matlab的矩陣計算、科學計算能力之外,其他幾乎任何事情都可以做。比如數據的清理、整理,比如從網頁上抓取數據,比如進行文本信息的挖掘,比如做一個網站......現在學習一門語言,將來在任何地方都能用到。

第三步:如何入門Python

如果你有其他語言的編寫經驗(比如上過一個學期的編程課),有一定的編程基礎。以下三步可以讓你入門Python:

1.隨便找一本Pyhton入門書。這些教程網上有很多很多,論壇裡面也有很多,隨便搜索一下就是。

2.挑一本Python入門書,不要花超過半天的時間,快速翻閱這本書。這個步驟不求記住什麼東西,只要大概的知道這本書講了什麼,什麼知識在這本書的哪一章寫了就行,以便將來查閱。

3.結合自己的好奇心,給自己尋找一個問題,簡單的複雜的都可以,找一點數據(地址),直接開始實戰。遇到問題,第一步是去翻書,第二步是去google(別去百度),第三步是論壇發帖求助。若你沒有什麼思路或者問題,可以加群438143420,我可以給你提供思路。

如果你沒有任何編程的基礎,那麼想要入門Python,也是以上三個步驟。但是第2步,就不是僅僅花半天的時間瀏覽書了,而是要細細的看書。對著書上的例子,實際的操作下,大概花一個星期的時間的業餘時間也就夠了吧。

第四步:如何入門pandas

使用Python做金融數據分析,一定要用pandas。pandas是Python的一個第三方庫,簡直是金融數據分析的神器,第一次遇到它的時候讓我淚流滿面。了解pandas最好的途徑就是他的官方文檔:pandas.pydata.org/panda,當然也可以看我之前寫的系列文章。


掃描下圖二維碼,或直接添加微信號:xbx_laoshi,加我私人微信,獲取文中附件、代碼、數據的下載鏈接,討論《量化小講堂》之後的內容。

我每天會在知識星球(原小密圈)分享我關於量化的所見、所聞、所思,歡迎點擊加入:小密圈 - 量化小講堂

想要快速、系統的學習量化知識,可以參與我的課程,一邊看視頻,一邊做作業,有問題隨時諮詢,點擊查看詳情::Python量化入門課程 - 量化小講堂


推薦閱讀:

Python有哪些應用方向比較有前景?
Python入門 遍歷循環 for...
chapter3 - 使用模板
那種編程語言比較適合新手?
用Matplotlib製作動畫

TAG:量化 | Python | 量化研究 |