指标结构回顾

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() 以 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 中的金融交易

更多指标机制

  • 使用 object[date/date] 与 HLC() 对 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 中的金融交易

¡Vamos a practicar!

R 中的金融交易

Preparing Video For Download...