引言:
本系列帖子“量化小講堂”,通過實際案例教初學(xué)者使用python、pandas進行金融數(shù)據(jù)處理,希望能對大家有幫助。
【必讀文章】:《10年400倍策略分享-附視頻逐行講解代碼》
【所有系列文章匯總】:http://xalimeijing.com/thread-3950124-1-1.html
【python量化課程】想要快速、系統(tǒng)的學(xué)習(xí)量化知識,可以參與我與論壇合作開設(shè)的課程:《python量化投資入門》,我會親自授課,隨問隨答。參與課程還可以免費加入我的小密圈,我每天會在圈中分享量化的所見所思,圈子介紹點擊此處。
微信:xbx_laoshi,量化交流Q群(快滿):438143420,有問題歡迎交流。
文中用到的A股數(shù)據(jù)可在www.yucezhe.com下載,這里可以下載到所有股票、從上市日起的交易數(shù)據(jù)、財務(wù)數(shù)據(jù)、分鐘數(shù)據(jù)、分筆數(shù)據(jù)、逐筆數(shù)據(jù)等。
【量化小講堂-Python、Pandas系列13】數(shù)據(jù)告訴你:驚人的指數(shù)定投策略
巴菲特這一輩子曾經(jīng)無數(shù)次的說過:對于個人投資者,最好的投資方式就是指數(shù)基金定投。
所謂指數(shù)基金定投,就是不要管股市是漲是跌(因為沒有能力判斷,索性不判斷),每個月都定期的拿出一筆錢來買基金。并且買的是指數(shù)基金,指數(shù)基金就是完全復(fù)制某個指數(shù)收益的基金。例如滬深300指數(shù)基金的收益和每天滬深300指數(shù)的收益基本一樣。
巴菲特這么推薦指數(shù)基金主要是因為有以下的優(yōu)點:
- 沒有幾個基金經(jīng)理長期來看業(yè)績可以超過指數(shù)本身。所以選基金經(jīng)理不如直接買指數(shù)。
- 省時省力,不用在上班的時候還盯著股票。年輕人花更多的時間努力工作,才是最有價值的投資。
- 相比其他主動管理型的基金,指數(shù)基金管理費用低廉,幾乎可以忽略不計吧。管理費的高低對投資回報的影響要遠大于我們的想象。
并且有人說,即使是在2007年10月份大盤在6000多點的時候開始基金定投,到2009年7月份大盤跌到3000多點的時候,這個時候總體仍然是賺的。
第一次看到這個說法的時候相當震驚,因為這很違反直覺:在最差的時間點入場,大盤都已經(jīng)腰斬了,定投還能賺錢?
我們玩數(shù)據(jù)的人,這種時候就要找出原始數(shù)據(jù)看看是不是真的是這樣子。本篇文章的程序就是實現(xiàn)指數(shù)基金定投策略,并希望通過這個例子讓大家學(xué)到pandas如下用法:
- 讀取數(shù)據(jù)時指定索引的方法
- 數(shù)據(jù)集連接函數(shù)concat()函數(shù)的用法
- 時間序列重采樣resample()函數(shù)的用法
具體要實現(xiàn)的策略其實非常簡單。就是在每個月的1號,花1000元買入指數(shù)基金,算算最后的收益有多少。為了簡單起見,我們這里就直接用指數(shù)的收益代替指數(shù)基金。
為了對比定投指數(shù)基金的效果,也計算每月定投1000元買入無風(fēng)險理財產(chǎn)品(如余額寶等)后的收益,比比最終誰的收益高。這里假定理財產(chǎn)品每年的無風(fēng)險年化收益率是4%。下面就來看看具體的程序吧!
(【python量化課程】想要快速、系統(tǒng)的學(xué)習(xí)量化知識,可以參與我與論壇合作開設(shè)的課程:《python量化投資入門》,我會親自授課,隨問隨答。參與課程還可以免費加入我的小密圈,我每天會在圈中分享量化的所見所思,圈子介紹點擊此處。)
===程序===
要模擬基金定投,需要各個主要指數(shù)的數(shù)據(jù),在www.yucezhe.com可以下載到所有指數(shù)歷史至今的數(shù)據(jù)。如下圖所示,每一行是每一天的數(shù)據(jù):
這個日線數(shù)據(jù)有以下的字段:
【index_code】指數(shù)的代碼
【date】 交易日期
【open】 開盤價
【high】 最高價
【low】 最低價
【close】 收盤價
【volume】 成交量
【money】 成交額
【change】 漲跌幅
下面是代碼的截圖,代碼里面有詳細的注釋,有問題可以留言,附件中有程序的源碼,回復(fù)即可下載。
在程序中選擇好具體的指數(shù),設(shè)定好定投開始、結(jié)束的時間,運行程序就能看到結(jié)果了。我先選擇上證指數(shù),定投的時間段是2007年10月1日到2009年7月30日,這段時間大盤從6000點跌倒了3000點,下面是結(jié)果圖:
圖中的綠色曲線是定投理財產(chǎn)品的資金曲線,藍色曲線是定投指數(shù)基金的資金曲線,這兩根曲線對應(yīng)左邊的坐標軸。圖中的紅色曲線是同期上證指數(shù)的曲線,對應(yīng)右邊的坐標軸。
從數(shù)據(jù)可以看到,在這個時間段內(nèi),總共投資了22000元(共22個月,每個月定投1000元),若把這些錢買理財產(chǎn)品最終的收益是22828.89,若是定投指數(shù)基金最終的收益是26606.08元,高出了16.54%,而且這是在同期大盤虧了50%的情況下!
我再把時間段拉長,從1996年4月開始到2016年4月結(jié)束。從下圖的數(shù)據(jù)中可以看到在最近20年內(nèi),總共投資了241000元,定期買理財?shù)氖找孀罱K是362296.40,若是定投指數(shù)基金最終收益是404451.79。在15年牛市最高點的時候,最多到了接近70萬。
再把上證指數(shù)改成創(chuàng)業(yè)板指數(shù),時間段是2010年6月到2016年4月。數(shù)據(jù)如下圖,收益還是很不錯的。看了這個數(shù)據(jù),都有點定投創(chuàng)業(yè)板指數(shù)基金的沖動了。
===思考題===
仔細看上面的幾副圖,似乎隱藏著一個很好的擇時策略在里面,給了我很大的啟發(fā),我準備去研究下。不知道有沒有人有同感?很多策略都是在這么無意中被發(fā)現(xiàn)的。
(【python量化課程】想要快速、系統(tǒng)的學(xué)習(xí)量化知識,可以參與我與論壇合作開設(shè)的課程:《python量化投資入門》,我會親自授課,隨問隨答。參與課程還可以免費加入我的小密圈,我每天會在圈中分享量化的所見所思,圈子介紹點擊此處。)
之后會講的內(nèi)容
- 以均線策略為基礎(chǔ),從頭到尾教大家如何使用Python編寫一個完整的策略
- 慣性策略、反轉(zhuǎn)策略在A股市場的實證。
關(guān)于《量化小講堂》之后想看的內(nèi)容,或者相關(guān)問題,可以加我微信xbx_laoshi、Q群(快滿):438143420溝通。
附件中是Python程序,免費,回復(fù)可見。覺得文章內(nèi)容有幫助的話,頂貼是最好的鼓勵!