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) )
...
下面我會再介紹回測的部分