大家好,我是 格子衫小C ,上次最後給大家出了一個問題,今天先公佈答案吧 。
問題:15年上證消費指數下,71日均線 和 203日均線,哪個回報率更高?
前面看過那麼多均線,大家對均線的各種特性都非常瞭解,我們試着分析一下:
以A股的調性來看,71日均線 和 203日均線 應該都能吃到牛市。
203均線太大了,滯後性更嚴重,所以在牛市裏應該回撤更深。
A股在這15年裏,有2個牛市,收益率疊加2個牛市以後,71日均線的優勢應該很明顯。
實測結果也確實如此。
多次牛市疊加以後,大的均線會因為更大的滯後效應,回報率更低。
這裏 203日均線 在2012年、2013年間虧損還更嚴重一些,進一步説明 203日均線 在回測裏的表現有些過擬合了。
(對了,你答對了麼? )
這裏再強調一次過擬合,類似這樣用算力來確定參數的方法,都會遇到過擬合問題。
我們應該先從原理上分析,看到底是運氣好,還是真的有道理的。
譬如第一篇裏看到的 2日均線,仔細觀察過 2日均線 就會發現它和實際價格曲線走勢非常接近,只稍平滑一點,和價格曲線的交叉更接近於隨機,應該就是運氣好,過擬合了(後面也通過擴大數據複測證明這點)。
然後,一定要在回測數據以外再複測。
現在我們回測數據是近7年的,複測數據是近15年的數據,這樣對整體走勢的影響才能看清楚(如果回測數據在前面,回測裏先拿到一個很好的回報,再測新數據,不容易分清楚是前期起點過高還是適用性廣)。
不同的策略,需要用不同的複測方法。
完全獨立的2次測試是最好的,我們的方法省事了些(但勝在結果夠直觀 )。
前面我們基於多個市場的多種投資標的,研究了最簡單的 SMA(Simple Moving Average,基於算術平均數的均線),並得出以下結論:
均線和價格處於同一數值區間,可以用 “穿過” 或 “在上方或下方” 的判斷方法來判斷。
均線適合有明顯上漲和下跌的行情,不適合長期單邊且小起伏的行情。
合適的均線可以吃掉大的上漲區間,避開大的下跌區間。但一種投資標的不太可能被一條均線長期完美切割(這句話有點繞口啊,意思能傳達清楚就好 )。
均線不適用於突然的劇烈價格變化。譬如2020年初疫情導致的突然下跌。
均線不適用於震盪期。震盪期裏,均線的收益幾乎都是收窄的。
“小的均線”因為距離實際價格曲線太近,交點過多,不適合交叉算法。
“大的均線”因為滯後性嚴重,也不適合交叉算法。會導致該拿下的上漲沒吃到,該避開的下跌也沒躲過。
“大的均線”會因為滯後性,造成牛市後期有明顯回撤,而這個回撤如果疊加多次,其收益差距會倍數級的放大。
最近有朋友提出了個思路:
均線不是很容易誤操作麼(假突破),我們在 連續2天 或 3天價格擊穿均線以後,再執行買入或賣出操作,是不是效果會好一些呢?
這個思路來源於他看到的一篇 廣發 的文章,原文裏也有詳盡的測試過程,先是用回測結果證明了 連續2天擊穿均線策略 效果很好(但並未提供單均線的數據對比),緊接着又用回測證明了 連續3天擊穿均線策略 比 2天的還要好。
今天我們一起驗證一下這個思路。
上圖是 滬深300指數 和 30日均線圖 。
從圖上看起來,確實有不少短期擊穿均線又馬上回來的情況(假突破),如果連續幾天都上穿或下穿再執行操作,粗看起來,確實能減少這方面的損失。
但同時應該也很容易想到,這種優化,勢必會導致操作點右移,加重均線的滯後性。
以下數據來源於 jqdata ,code 為 000300.XSHG 。
為了和前面的研究對齊,如無特別説明,時間區間為 2013-05-01 到 2020-09-30。
空想不如實幹,我們直接回測:連續2天擊穿均線後買入或賣出。
依然是從 2日均線 一直到 240日均線,一共239條均線。
結果並不太理想,並沒有比單均線提升多少(還記得單均線的數據麼 )。
乾脆,我們把 連續3天擊穿均線策略 和 連續4天擊穿均線策略 都測一下。
看起來都沒特別好的,我們直接看對比。
上圖是最簡單的單均線,和分別擊穿2天、3天、4天均線策略回報率表。
從結果上看,多次擊穿均線確實沒有帶來特別明顯的提升。
回報率最好的是 135日均線 策略,這個前面已經被確定屬於過擬合了,再後面就是 連續3日擊穿168均線策略。
上圖是這 168日均線 的4個策略。
可以看到差距是從2015年牛市結束時拉開的,按道理連續3日擊穿再賣出,會比連續2日擊穿再賣出要晚一天,價格應該更低才對,為什麼這裏反而會比2日和4日都要高呢?
放大後可以看到,原來2015年8月27號是第一次擊穿168日均線,接着28號小幅下跌,但29號突然來了個大漲,然後30日又跌回來(這可真是一波三折啊 ),所以剛好擊穿均線3天后賣出在了高點。
純粹是運氣好,和策略沒關係(過擬合)。
53日均線的情況也是類似,正好第二天又漲起來了,所以 2次擊穿53日均線 策略的收益率更高。
再來看 42日均線 的對比。連續2天穿越均線再操作,果然導致牛市退出更晚,回撤更深(運氣不那麼好的話 ),但在後面震盪期裏,確實有收窄趨勢,所以這種優化對震盪期有一定效果。
只是,咱A股市場裏,把握住牛市的優勢實在太大了,牛市回撤更少,震盪期就算多損失一點,整體回報還是要更大。
老規矩,最後還是把數據放大複測。
這裏加入了40日,是因為廣發原文裏用的參數就是40日。
單看40日均線,3次擊穿40日均線 確實好於 2次擊穿40日均線,只是40日均線直接操作效果更好。
結果已經很清楚了,連續N次擊穿均線策略 並沒有比均線更有效。
今天結論如下:
連續擊穿N天后再買入的優化策略,在優化了假突破的同時,進一步加重了均線策略的滯後性。
在A股市場,把握住牛市得到的收益會遠高於熊市震盪期誤操作的損失。
那麼問題來了,這個優化策略,在納指這樣的市場有效果麼?
如果您錯過了前面的文章,可以關注我們,查看歷史文章。
希望您能一如既往的支持我們,也歡迎各種疑難雜症各種勾搭。
均線系列:
均線 (一):基於滬深300指數初步分析 SMA 。
均線 (二):就 SMA 時間粒度做進一步分析。
均線 (三):簡單的單一均線在A股市場都能有用處,讓我們看看在成熟市場會有怎樣的效果呢?
均線 (四):單一均線不適合成熟市場,我們再回頭看看A股其它行業指數。
注:
題圖來源於 pexels,感謝 Olya Kobrusev。
本文數據來源於 jqdata,感謝 jqdata 提供免費的高品質數據。
本文公式編輯採用 latexlive,感謝 latexlive 提供的公式編輯服務。