R是很熱門的統計分析軟體,透過TTR套件我們可以很容易的新增各種技術分析指標,如下程式碼便可快速地將整個資料集MACD都計算出來,特別注意如果你使用的資料是多股資料,那務必先將資料進行排序(arrange)及分組(group_by),同時MACD常用的參與為12,26,9,因此資料的天數必須拉長,我建議至少要有半年的資料。

StockData <-

  StockData %>% group_by(code) %>% arrange(code, date) %>%   tq_mutate(     select = close,     mutate_fun = MACD,     nFast = 12,     nSlow = 26,     nSig  = 9,     percent = F   ) %>% rename("DIFF" = "macd", "MACD" = "signal")


在TTR套件中並不會產生OSC,因此我們必須在自己產生一次,OSC的公式為(DIFF-MACD),為了使數值更明顯,一般我會使用2*(DIFF-MACD) ,如此一來便完成了MACD指標的建立


StockData <- StockData %>% mutate(

  OSC = 2*(DIFF-MACD),   LagMacd=lag(MACD,1)   )


...


下面我會再介紹回測的部分