---實(shí)戰(zhàn)---
為了檢驗(yàn)EMV策略在A股的實(shí)際效果,本文將該策略在所有A股都運(yùn)行一遍。由于策略用不同的參數(shù)回測(cè)結(jié)果也不一樣,因此對(duì)每只股票回測(cè)時(shí)都遍歷一遍參數(shù),選擇使超額收益率最大的參數(shù)作為該股票的最優(yōu)參數(shù)。具體步驟如下:
一、遍歷數(shù)據(jù)文件夾中所有股票文件的文件名,得到股票代碼列表
用python提取股票歷史數(shù)據(jù)文件夾下每個(gè)股票對(duì)應(yīng)的文件名(即股票代碼)并存放到一個(gè)列表里,這樣就得到了所有A股的代碼列表。
接著遍歷股票代碼的列表,讀取每只股票的歷史數(shù)據(jù)。
二、計(jì)算股票的后復(fù)權(quán)價(jià)格
在讀取某只股票的歷史數(shù)據(jù)后,為了回測(cè)結(jié)果的可靠性,本文重新計(jì)算了復(fù)權(quán)后的開盤價(jià)、收盤價(jià)、最高價(jià)和最低價(jià),后面計(jì)算指標(biāo)值和漲跌幅都以復(fù)權(quán)后的數(shù)據(jù)為基礎(chǔ)。有些上市不久的股票由于時(shí)間太短可能不具有代表性,因此本文在運(yùn)行策略之前會(huì)先判斷該股票上市至今的交易天數(shù),剔除掉上市不到1年半的股票。
三、遍歷參數(shù)進(jìn)行回測(cè)
接著就是計(jì)算EMV指標(biāo)并給出每天的信號(hào)了,在計(jì)算EMV和MAEMV時(shí)本文用到參數(shù)范圍分別是n取16到26,間隔為2,m取20到25,間隔為1。即遍歷該范圍內(nèi)的所有參數(shù)組合,每一參數(shù)組都會(huì)輸出對(duì)應(yīng)的每天的信號(hào),根據(jù)買賣信號(hào),可以得到每天的倉位,進(jìn)而可以得到資金曲線及相關(guān)的回測(cè)指標(biāo)(相關(guān)內(nèi)容可參考量化小講堂
http://xalimeijing.com/thread-4745852-1-1.html)。在得到所有參數(shù)的回測(cè)結(jié)果后,根據(jù)超額收益率大小進(jìn)行排序,選擇使超額收益最大的參數(shù)作為該股票的最優(yōu)參數(shù),并將相應(yīng)數(shù)據(jù)存入csv文件。
最后,在遍歷完所有A股后,我們可以得到每只股票在最優(yōu)參數(shù)組下使用EMV策略的回測(cè)結(jié)果,并和股票的年化收益及最大回撤做了一下對(duì)比。---實(shí)戰(zhàn)---
為了檢驗(yàn)EMV策略在A股的實(shí)際效果,本文將該策略在所有A股都運(yùn)行一遍。由于策略用不同的參數(shù)回測(cè)結(jié)果也不一樣,因此對(duì)每只股票回測(cè)時(shí)都遍歷一遍參數(shù),選擇使超額收益率最大的參數(shù)作為該股票的最優(yōu)參數(shù)。具體步驟如下:
一、遍歷數(shù)據(jù)文件夾中所有股票文件的文件名,得到股票代碼列表
用python提取股票歷史數(shù)據(jù)文件夾下每個(gè)股票對(duì)應(yīng)的文件名(即股票代碼)并存放到一個(gè)列表里,這樣就得到了所有A股的代碼列表。
接著遍歷股票代碼的列表,讀取每只股票的歷史數(shù)據(jù)。
二、計(jì)算股票的后復(fù)權(quán)價(jià)格
在讀取某只股票的歷史數(shù)據(jù)后,為了回測(cè)結(jié)果的可靠性,本文重新計(jì)算了復(fù)權(quán)后的開盤價(jià)、收盤價(jià)、最高價(jià)和最低價(jià),后面計(jì)算指標(biāo)值和漲跌幅都以復(fù)權(quán)后的數(shù)據(jù)為基礎(chǔ)。有些上市不久的股票由于時(shí)間太短可能不具有代表性,因此本文在運(yùn)行策略之前會(huì)先判斷該股票上市至今的交易天數(shù),剔除掉上市不到1年半的股票。
三、遍歷參數(shù)進(jìn)行回測(cè)
接著就是計(jì)算EMV指標(biāo)并給出每天的信號(hào)了,在計(jì)算EMV和MAEMV時(shí)本文用到參數(shù)范圍分別是n取16到26,間隔為2,m取20到25,間隔為1。即遍歷該范圍內(nèi)的所有參數(shù)組合,每一參數(shù)組都會(huì)輸出對(duì)應(yīng)的每天的信號(hào),根據(jù)買賣信號(hào),可以得到每天的倉位,進(jìn)而可以得到資金曲線及相關(guān)的回測(cè)指標(biāo)(相關(guān)內(nèi)容可參考量化小講堂
http://xalimeijing.com/thread-4745852-1-1.html)。在得到所有參數(shù)的回測(cè)結(jié)果后,根據(jù)超額收益率大小進(jìn)行排序,選擇使超額收益最大的參數(shù)作為該股票的最優(yōu)參數(shù),并將相應(yīng)數(shù)據(jù)存入csv文件。
最后,在遍歷完所有A股后,我們可以得到每只股票在最優(yōu)參數(shù)組下使用EMV策略的回測(cè)結(jié)果,并和股票的年化收益及最大回撤做了一下對(duì)比。---實(shí)戰(zhàn)---
為了檢驗(yàn)EMV策略在A股的實(shí)際效果,本文將該策略在所有A股都運(yùn)行一遍。由于策略用不同的參數(shù)回測(cè)結(jié)果也不一樣,因此對(duì)每只股票回測(cè)時(shí)都遍歷一遍參數(shù),選擇使超額收益率最大的參數(shù)作為該股票的最優(yōu)參數(shù)。具體步驟如下:
一、遍歷數(shù)據(jù)文件夾中所有股票文件的文件名,得到股票代碼列表
用python提取股票歷史數(shù)據(jù)文件夾下每個(gè)股票對(duì)應(yīng)的文件名(即股票代碼)并存放到一個(gè)列表里,這樣就得到了所有A股的代碼列表。
接著遍歷股票代碼的列表,讀取每只股票的歷史數(shù)據(jù)。
二、計(jì)算股票的后復(fù)權(quán)價(jià)格
在讀取某只股票的歷史數(shù)據(jù)后,為了回測(cè)結(jié)果的可靠性,本文重新計(jì)算了復(fù)權(quán)后的開盤價(jià)、收盤價(jià)、最高價(jià)和最低價(jià),后面計(jì)算指標(biāo)值和漲跌幅都以復(fù)權(quán)后的數(shù)據(jù)為基礎(chǔ)。有些上市不久的股票由于時(shí)間太短可能不具有代表性,因此本文在運(yùn)行策略之前會(huì)先判斷該股票上市至今的交易天數(shù),剔除掉上市不到1年半的股票。
三、遍歷參數(shù)進(jìn)行回測(cè)
接著就是計(jì)算EMV指標(biāo)并給出每天的信號(hào)了,在計(jì)算EMV和MAEMV時(shí)本文用到參數(shù)范圍分別是n取16到26,間隔為2,m取20到25,間隔為1。即遍歷該范圍內(nèi)的所有參數(shù)組合,每一參數(shù)組都會(huì)輸出對(duì)應(yīng)的每天的信號(hào),根據(jù)買賣信號(hào),可以得到每天的倉位,進(jìn)而可以得到資金曲線及相關(guān)的回測(cè)指標(biāo)(相關(guān)內(nèi)容可參考量化小講堂
http://xalimeijing.com/thread-4745852-1-1.html)。在得到所有參數(shù)的回測(cè)結(jié)果后,根據(jù)超額收益率大小進(jìn)行排序,選擇使超額收益最大的參數(shù)作為該股票的最優(yōu)參數(shù),并將相應(yīng)數(shù)據(jù)存入csv文件。
最后,在遍歷完所有A股后,我們可以得到每只股票在最優(yōu)參數(shù)組下使用EMV策略的回測(cè)結(jié)果,并和股票的年化收益及最大回撤做了一下對(duì)比。