首先先安裝python繪圖用的matplotlib,安裝指令從以下網址擷取的
https://matplotlib.org/stable/tutorials/introductory/pyplot.html
安裝完之後一樣延續之前的程式碼,在optimizeMA函數的後面插入以下兩個函數。prefixProd可以把上一篇文章裡面回測和最佳化回傳的retseries轉換成報酬率曲線的series。而另一個計算MDD的函數則是看從頭往後搜尋,看創新高之後最多下跌多少比例
然後在最後面加上以下程式碼,一開始那段是製作買進並持有的報酬走勢圖,如果成功的話他會和下面一行的0050走勢差不多。接下來是繪製均線訊號的報酬走勢圖,最後計算買進持有的MDD和均線訊號的MDD。
買進持有報酬
0050走勢,這邊看起來和上面差不多,代表產生報酬走勢的部分沒有問題
均線訊號的報酬走勢,就肉眼上看起來在大跌的時候比買進持有好,至於好多少可以看MDD
最後出來的MDD,這邊看起來均線指標確實可以達到控制風險的效果,擁有更好的報酬風險比
均線指標看起來是有效果的,它的風險比買進並持有小,這代表冒同樣風險的情況下可以擁有更多的股票部位賺取更多報酬。剩下的問題是這邊最佳化的資料和產生報酬曲線的資料其實是同一筆,就像先偷看過考試題目再上考場烤出來的成績一樣沒意義,用這個結果來說均線指標有用是有些疑慮的,關於這個部分怎麼處理下一篇文章會探討。