指標結構複習

R 的金融交易

Ilya Kipnis

Professional Quantitative Analyst and R programmer

複習:使用 add.indicator()

add.indicator(strategy = strategy.st, name = "SMA",
              arguments = list(x = quote(Cl(mktdata)), 
                               n = 200),
              label = "SMA200")
R 的金融交易

指標命名

  • 使用有意義的指標名稱

    • 例如:將 200 日簡單移動平均命名為「SMA200」,不要只叫「SMA」
  • 指標名稱力求簡潔

R 的金融交易

applyIndicators()

  • 建立包含市場資料與指標的中介資料集
test <- applyIndicators(strategy = strategy.st, 
                          mktdata = OHLC(LQD))
head(test, n = 3)
           LQD.Open LQD.High  LQD.Low LQD.Close SMA.SMA200 
SMA.SMA50 DVO.DVO_2_126           
2003-01-02 58.37216 58.37216 57.32224  57.49366         NA    
 NA            NA
2003-01-03 57.63829 57.82042 57.45616  57.82042         NA 
 NA            NA
2003-01-06 57.71864 57.79363 57.39724  57.79363         NA        
 NA            NA
tail(test, n = 3)
           LQD.Open LQD.High  LQD.Low LQD.Close SMA.SMA200 SMA.SMA50 DVO.DVO_2_126
2015-12-23 113.9586 114.1979 113.8888   114.178   115.1378  115.0177     65.873016
2015-12-24 114.3400 114.5500 114.2000   114.550   115.1258  114.9885     92.857143
2015-12-28 114.3600 114.5600 114.2100   114.410   115.1147  114.9575     80.952381
  • 在 quantstrat 中,指標標籤由原始名稱、句點和你的標籤組成。
R 的金融交易

applyIndicators() 續篇

tail(test, n = 3)
           LQD.Open LQD.High  LQD.Low LQD.Close SMA.SMA200 
SMA.SMA50 DVO.DVO_2_126
2015-12-23 113.9586 114.1979 113.8888   114.178   115.1378  
115.0177     65.873016
2015-12-24 114.3400 114.5500 114.2000   114.550   115.1258  
114.9885     92.857143
2015-12-28 114.3600 114.5600 114.2100   114.410   115.1147  
114.9575     80.952381
  • 在 quantstrat 中,指標標籤由原始名稱、句點和你的標籤組成。
R 的金融交易

更多指標機制

  • HLC() 會回傳 high、low、close 為 xts 物件
head(HLC(LQD))
           LQD.High  LQD.Low LQD.Close
2002-07-30 52.35639 51.97142  52.03302
2002-07-31 52.48472 52.12541  52.35126
2002-08-01 52.92102 52.51038  52.86456
2002-08-02 53.02368 52.58738  52.97235
2002-08-05 53.20334 52.61818  52.84402
2002-08-06 52.69004 52.40772  52.66437
R 的金融交易

更多指標機制

  • 搭配 HLC() 使用 object[date/date] 來篩選 xts 物件
HLC(LQD["2012-01-01/2012-01-07"])
           LQD.High  LQD.Low LQD.Close
2012-01-03 97.05994 96.63424  96.77897
2012-01-04 97.01737 96.58316  96.85560
2012-01-05 96.85560 96.37881  96.43841
2012-01-06 96.90669 96.54058  96.81303
R 的金融交易

一起來練習吧!

R 的金融交易

Preparing Video For Download...