本系列帖子“量化小講堂”,通過(guò)實(shí)際案例教初學(xué)者使用python、pandas進(jìn)行金融數(shù)據(jù)處理,希望能對(duì)大家有幫助。
【必讀文章】:《10年400倍策略分享-附視頻逐行講解代碼》
【所有系列文章匯總】:http://xalimeijing.com/thread-3950124-1-1.html
【python量化課程】想要快速、系統(tǒng)的學(xué)習(xí)量化知識(shí),可以參與我與論壇合作開(kāi)設(shè)的課程:《python量化投資入門(mén)》,我會(huì)親自授課,隨問(wèn)隨答。參與課程還可以免費(fèi)加入我的小密圈,我每天會(huì)在圈中分享量化的所見(jiàn)所思,圈子介紹點(diǎn)擊此處。
微信:xbx_laoshi,量化交流Q群(快滿):438143420,有問(wèn)題歡迎交流。
文中用到的A股數(shù)據(jù)可在www.yucezhe.com下載,這里可以下載到所有股票、從上市日起的交易數(shù)據(jù)、財(cái)務(wù)數(shù)據(jù)、分鐘數(shù)據(jù)、分筆數(shù)據(jù)、逐筆數(shù)據(jù)等。
【量化小講堂- Python、pandas技巧系列】歷史數(shù)據(jù)告訴你:KDJ指標(biāo)選股有效嗎?
KDJ指標(biāo)是最常用的技術(shù)指標(biāo)之一,它的作用是判斷股票未來(lái)短期的走勢(shì)。很多書(shū)店里賣(mài)的炒股類書(shū)籍都會(huì)推薦這個(gè)指標(biāo),并認(rèn)為KDJ指標(biāo)低位金叉是一個(gè)非常好的買(mǎi)點(diǎn),還會(huì)給出幾個(gè)很漂亮的K線圖形來(lái)印證他們的觀點(diǎn)。少數(shù)的幾個(gè)例子不能讓人信服,KDJ指標(biāo)低位金叉選股效果到底好不好,一定要用大樣本說(shuō)話。
本篇文章將找出歷史上所有股票的全部低位金叉情況,并且統(tǒng)計(jì)這些股票在金叉之后若干個(gè)交易日內(nèi)的漲幅,看是否有顯著的正收益。通過(guò)這個(gè)案例將著重向大家介紹pandas的如下功能:
- 使用pandas導(dǎo)入股票數(shù)據(jù)
- 如何計(jì)算KDJ指標(biāo)
- 如何計(jì)算KDJ指標(biāo)金叉
- shift()函數(shù)的用法
- append()函數(shù)的用法
下面開(kāi)始正文:
(【python量化課程】想要快速、系統(tǒng)的學(xué)習(xí)量化知識(shí),可以參與我與論壇合作開(kāi)設(shè)的課程:《python量化投資入門(mén)》,我會(huì)親自授課,隨問(wèn)隨答。參與課程還可以免費(fèi)加入我的小密圈,我每天會(huì)在圈中分享量化的所見(jiàn)所思,圈子介紹點(diǎn)擊此處。)
需要找出歷史上所有股票的全部低位金叉情況,那么首先必須要有股票的歷史日線交易數(shù)據(jù),從這個(gè)網(wǎng)站可以下載到所有股票的歷史日線數(shù)據(jù),可以作為我們計(jì)算的原始數(shù)據(jù)。數(shù)據(jù)下載下來(lái)是下圖這個(gè)樣子:
每個(gè)股票一個(gè)csv文件
每一行是每一天的數(shù)據(jù)
這個(gè)日線數(shù)據(jù)有以下的字段:
【code】 股票的代碼,上證股票以sh開(kāi)頭,深證股票以sz開(kāi)頭
【date】 交易日期
【open】 開(kāi)盤(pán)價(jià)
【high】 最高價(jià)
【low】 最低價(jià)
【close】 收盤(pán)價(jià)
【change】 漲跌幅,復(fù)權(quán)之后的真實(shí)漲跌幅,保證準(zhǔn)確
【volume】 成交量
【money】 成交額
【traded_market_value】 流通市值
【market_value】 總市值
【turnover】 換手率,成交量/流通股本
【adjust_price】 后復(fù)權(quán)價(jià),復(fù)權(quán)開(kāi)始時(shí)間為股票上市日,精確到小數(shù)點(diǎn)后10位
【report_type】 最近一期財(cái)務(wù)報(bào)告的類型,3-31對(duì)應(yīng)一季報(bào),6-30對(duì)應(yīng)半年報(bào),9-30對(duì)應(yīng)三季報(bào),12-31對(duì)應(yīng)年報(bào)
【report_date】 最近一期財(cái)務(wù)報(bào)告實(shí)際發(fā)布的日期
【PE_TTM】 最近12個(gè)月市盈率,股價(jià) / 最近12個(gè)月歸屬母公司的每股收益TTM
【PS_TTM】 最近12個(gè)月市銷(xiāo)率, 股價(jià) / 最近12個(gè)月每股營(yíng)業(yè)收入
【PC_TTM】 最近12個(gè)月市現(xiàn)率, 股價(jià) / 最近12個(gè)月每股經(jīng)營(yíng)現(xiàn)金流
【PB】 市凈率,股價(jià) / 最近期財(cái)報(bào)每股凈資產(chǎn)
有了原始數(shù)據(jù)之后就是代碼,下面是代碼的截圖,里面有詳細(xì)的注釋,有問(wèn)題可以留言,附件中是程序的源碼,回復(fù)即可下載。
把數(shù)據(jù)下載下來(lái),直接運(yùn)行代碼,就可以看到輸出的結(jié)果了。這里就不貼出KDJ選股具體的效果了,這樣大家可能更有動(dòng)力鉆研下程序吧~
反正總體選股效果不大好,在總過(guò)出現(xiàn)的51萬(wàn)次KDJ金叉狀況下,接下來(lái)股票會(huì)上漲的概率是50%左右。
思考題:
本程序其實(shí)是挑出了所有KDJ金叉的股票,并不是低位KDJ金叉。有人認(rèn)為低位KDJ金叉效果更好,例如D值小于20時(shí)的金叉。在現(xiàn)有程序上進(jìn)行小小的改動(dòng)就可以挑選出低位KDJ金叉的股票,大家感興趣可以看看選股效果怎么樣,說(shuō)實(shí)話具體怎么樣我也沒(méi)有試過(guò)。
之后會(huì)講的內(nèi)容:
現(xiàn)在想到的之后幾期會(huì)講的內(nèi)容:
【量化小講堂 - python & pandas技巧系列】使用python計(jì)算MACD指標(biāo)
【量化小講堂 - 投資策略系列】KDJ、MACD指標(biāo)雙金叉選股效果
【量化小講堂 - python & pandas技巧系列】如何處理逐筆數(shù)據(jù)
關(guān)于《量化小講堂》之后想看的內(nèi)容,或者相關(guān)問(wèn)題,可以加我微信xbx_laoshi、Q群(快滿):438143420溝通。
附件中是Python程序文件,免費(fèi),回復(fù)可見(jiàn),覺(jué)得文章內(nèi)容有幫助的話,頂貼是最好的鼓勵(lì)!