Огляд структури індикатора

Фінансовий трейдинг в 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

Додаткова механіка індикаторів

  • Використовуйте 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

Давайте потренуємось!

Фінансовий трейдинг в R

Preparing Video For Download...