您好,登錄后才能下訂單哦!
如何快速上手使用Python進(jìn)行金融數(shù)據(jù)分析
引言:
本系列帖子“量化小講堂”,通過實(shí)際案例教初學(xué)者使用python、pandas進(jìn)行金融數(shù)據(jù)處理,希望能對大家有幫助。
【必讀文章】:《10年400倍策略分享-附視頻逐行講解代碼》
【所有系列文章匯總】:http://bbs.pinggu.org/thread-3950124-1-1.html
微信:coinquant 歡迎交流
第一步:好奇心
不要為了學(xué)習(xí)而去學(xué)習(xí)一門編程語言,或者任何工具。一定要心里首先有一個(gè)問題,抱著解決問題的心態(tài),去了解并學(xué)習(xí)這個(gè)工具是如何解決問題的。驅(qū)動你去學(xué)習(xí)量化投資的,應(yīng)該是你的好奇心。你認(rèn)為你有一個(gè)炒股獨(dú)家的竅門,你認(rèn)為你發(fā)現(xiàn)了某個(gè)規(guī)律,你非常好奇的想用歷史數(shù)據(jù)去驗(yàn)證你的想法。
比如我在大二的時(shí)候接觸量化投資,就是因?yàn)槲业暮闷嫘摹.?dāng)時(shí)我看到一些入門的技術(shù)分析書上推薦KDJ這個(gè)技術(shù)指標(biāo),說KDJ低位金叉之后股票會漲,是個(gè)很好的買入信號,并且書上會配一些圖,證明這個(gè)指標(biāo)的有效性。我當(dāng)時(shí)就很好奇,書上說的是不是真的?這幾個(gè)配圖是刻意挑選的還是有代表性的?是不是可以寫個(gè)程序找出歷史上所有的kdj金叉,看看之后漲的概率有多大?
這就是引領(lǐng)我入門的最初的好奇心。當(dāng)時(shí)我不會編程,一開始用excel來試著驗(yàn)證,發(fā)現(xiàn)KDJ從大概率上來講是不行的。好奇心繼續(xù)升級:我調(diào)整一下KDJ默認(rèn)的參數(shù),效果會不會好一點(diǎn)?再配合一下其他的指標(biāo),效果會不會好一點(diǎn)?再加上點(diǎn)財(cái)務(wù)數(shù)據(jù),效果會不會好一點(diǎn)......
慢慢的想測試的想法越來越多,excel漸漸的不夠用,開始學(xué)習(xí)編程。我學(xué)習(xí)編程的目的性很強(qiáng),就是解決我眼前的問題。對于解決我問題沒有幫助的,我就先不學(xué)。一開始用的是SAS,自己找書看,論壇上發(fā)帖子問。后來覺得SAS太重,不靈活,慢慢的遷移到Python。
我是金融專業(yè)的,但是學(xué)校并不教量化投資,一切都是自己學(xué)??上攵魶]有好奇心一直引導(dǎo)我去探索,這么長的一段時(shí)間我怎么可能堅(jiān)持下來呢?
第二步:為什么Python
我推薦剛?cè)腴T的量化投資研究者使用Python。主要理由如下:
1. 適用性
Python配合各類第三方的package(例如下面要降到的pandas),是非常適合用來處理金融數(shù)據(jù)的
2. 簡單
相比于c,c#等語言,Python容易太多了。讓你可以更快,更方便的對自己的想法進(jìn)行測試。life is short, use Python。
3. 全能
Matlab是另外一個(gè)金融分析領(lǐng)域的統(tǒng)治級語言,以上講的兩點(diǎn)適用性、簡單性matlab都是具備的,在業(yè)界的使用范圍應(yīng)該是比Python要高的。
而Python相比于matlab的一大優(yōu)勢,那就是全能。matlab基本只能用于金融數(shù)據(jù)分析。但是Python除了擁有不亞于matlab的矩陣計(jì)算、科學(xué)計(jì)算能力之外,其他幾乎任何事情都可以做。比如數(shù)據(jù)的清理、整理,比如從網(wǎng)頁上抓取數(shù)據(jù),比如進(jìn)行文本信息的挖掘,比如做一個(gè)網(wǎng)站......現(xiàn)在學(xué)習(xí)一門語言,將來在任何地方都能用到。
第三步:如何入門Python
如果你有其他語言的編寫經(jīng)驗(yàn)(比如上過一個(gè)學(xué)期的編程課),有一定的編程基礎(chǔ)。以下三步可以讓你入門Python:
1. 隨便找一本Pyhton入門書。這些教程網(wǎng)上有很多很多,論壇里面也有很多,隨便搜索一下就是。我稍微整理了下,放在附件中,回復(fù)可見。
2. 挑一本Python入門書,不要花超過半天的時(shí)間,快速翻閱這本書。這個(gè)步驟不求記住什么東西,只要大概的知道這本書講了什么,什么知識在這本書的哪一章寫了就行,以便將來查閱。
3. 結(jié)合自己的好奇心,給自己尋找一個(gè)問題,簡單的復(fù)雜的都可以,找一點(diǎn)數(shù)據(jù)(地址),直接開始實(shí)戰(zhàn)。遇到問題,第一步是去翻書,第二步是去google(別去百度),第三步是論壇發(fā)帖求助。若你沒有什么思路或者問題,可以加群438143420,我可以給你提供思路。
如果你沒有任何編程的基礎(chǔ),那么想要入門Python,也是以上三個(gè)步驟。但是第2步,就不是僅僅花半天的時(shí)間瀏覽書了,而是要細(xì)細(xì)的看書。對著書上的例子,實(shí)際的操作下,大概花一個(gè)星期的時(shí)間的業(yè)余時(shí)間也就夠了吧。
第四步:如何入門pandas
使用Python做金融數(shù)據(jù)分析,一定要用pandas。pandas是Python的一個(gè)第三方庫,簡直是金融數(shù)據(jù)分析的神器,第一次遇到它的時(shí)候讓我淚流滿面。了解pandas最好的途徑就是他的官方文檔:http://pandas.pydata.org/pandas-docs/stable/10min.html,當(dāng)然也可以看我之前寫的系列文章。
之后會講的內(nèi)容:
【量化小講堂 - python & pandas技巧系列】如何根據(jù)逐筆數(shù)據(jù)計(jì)算資金流入流出數(shù)據(jù)
【量化小講堂 - python & pandas技巧系列】如何測試海龜交易法則
【量化小講堂 - python & pandas技巧系列】詳細(xì)介紹復(fù)權(quán)價(jià)格如何計(jì)算
對文章內(nèi)容有疑問、需要Python入門相關(guān)書籍的可以私信我或者留言,覺得文章內(nèi)容有幫助的話,不要忘了點(diǎn)贊哦!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。