本系列帖子“量化小講堂”,通過(guò)實(shí)際案例教初學(xué)者使用python、pandas進(jìn)行金融數(shù)據(jù)處理,希望能對(duì)大家有幫助。
必讀文章《10年400倍策略分享-附視頻逐行講解代碼》:http://xalimeijing.com/thread-5558776-1-1.html
所有系列文章匯總請(qǐng)見(jiàn):http://xalimeijing.com/thread-3950124-1-1.html
想要快速、系統(tǒng)的學(xué)習(xí)量化知識(shí),可以參與我與論壇合作開(kāi)設(shè)的《python量化投資入門(mén)》視頻課程:http://www.peixun.net/view/1028.html,我會(huì)親自授課,隨問(wèn)隨答。
參與課程還可以免費(fèi)加入我的小密圈,我每天會(huì)在圈中分享量化的所見(jiàn)所思,圈子介紹:http://t.xiaomiquan.com/BEiqzVB
微信:xbx_laoshi,量化交流Q群(快滿(mǎn)):438143420,有問(wèn)題歡迎交流。
文中用到的A股數(shù)據(jù)可在www.yucezhe.com下載,這里可以下載到所有股票、從上市日起的交易數(shù)據(jù)、財(cái)務(wù)數(shù)據(jù)、分鐘數(shù)據(jù)、分筆數(shù)據(jù)、逐筆數(shù)據(jù)等。
【量化小講堂- Python、pandas技巧系列】極簡(jiǎn)方法將日線數(shù)據(jù)轉(zhuǎn)為周線、月線或其他周期
分析股票數(shù)據(jù)的時(shí)候,往往會(huì)用不同的周期進(jìn)行分析,以期得到更加全面的結(jié)果。比如日線、周線、月線,或者5分鐘、15分鐘、30分鐘、60分鐘。甚至有的時(shí)候會(huì)想,為什么的我的周期必須是自然周或者自然月,我能不能每11天或者每24天一個(gè)周期。
面對(duì)這樣的需求,就必須寫(xiě)程序在不同的周期之間進(jìn)行轉(zhuǎn)換。本篇文章以將日線數(shù)據(jù)轉(zhuǎn)換為周線數(shù)據(jù)為案例例,向大家介紹pandas的以下功能:
- 使用pandas導(dǎo)入和導(dǎo)出輸出
- resample函數(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)擊此處。)
需要把日線轉(zhuǎ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)告的類(lèi)型,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)
在進(jìn)行日線周線轉(zhuǎn)換的時(shí)候,一定要注意,大部分周線的指標(biāo)是這個(gè)日線指標(biāo)在這一周最后一個(gè)交易日的值。比如周線的【close】應(yīng)該等于這一周最后一天日線數(shù)據(jù)的【close】。但是有的指標(biāo)是例外,比如周線的【high】應(yīng)該等于這一周所有日線【high】中的最大值,周線的【volume】應(yīng)該等于這一周所有日線【volume】的和。有了這樣的理解之后,直接上程序截圖,里面有詳細(xì)的注釋?zhuān)袉?wèn)題可以留言,附件中是程序的源碼,回復(fù)即可下載。
把數(shù)據(jù)和程序下載下來(lái),在程序中修改好文件的路徑,應(yīng)該就可以直接運(yùn)行了。
思考題:
本案例中是將日線數(shù)據(jù)轉(zhuǎn)換為周線,那么如何將日線數(shù)據(jù)轉(zhuǎn)換為月線數(shù)據(jù)呢?
答案:只要修改代碼中的一個(gè)字母就行了。
之后會(huì)講的內(nèi)容
現(xiàn)在想到的之后幾期會(huì)講的內(nèi)容:
【量化小講堂 - python & pandas技巧系列】使用python計(jì)算KDJ指標(biāo)
【量化小講堂 - python & pandas技巧系列】使用python計(jì)算MACD指標(biāo)
【量化小講堂 - 投資策略系列】KDJ、MACD指標(biāo)雙金叉選股效果
關(guān)于《量化小講堂》之后想看的內(nèi)容,或者相關(guān)問(wèn)題,可以加我微信xbx_laoshi、Q群(快滿(mǎn)):438143420溝通。
附件中是Python程序文件,免費(fèi),回復(fù)可見(jiàn),覺(jué)得文章內(nèi)容有幫助的話,頂貼是最好的鼓勵(lì)!