НачатьНачать бесплатно

Реализация индикатора — часть I

Настало время разобраться в механике добавления индикатора в рамках библиотеки quantstrat. В этом упражнении вы узнаете, как добавить индикатор к своей стратегии. Вы будете использовать стратегию strategy.st, созданную в предыдущих упражнениях. В качестве первого индикатора добавьте 200-дневное простое скользящее среднее.

Чтобы добавить индикатор, используйте функцию add.indicator(). Задайте параметр strategy равным имени вашей стратегии, name — имени нужной функции в кавычках, а arguments — аргументам этой функции в виде списка. Например, если функция называется SMA, параметр arguments должен содержать её аргументы:

add.indicator(strategy = strategy.st, 
              name = "SMA", 
              arguments = list(x = quote(Cl(mktdata)), n = 500), 
              label = "SMA500")

При обращении к динамическим рыночным данным внутри вызова add.indicator() оборачивайте mktdata в функцию quote(). Дело в том, что эти данные формируются внутри quantstrat и изменяются в зависимости от инструмента, с которым работает пакет в данный момент. Функция quote() гарантирует, что данные будут динамически обновляться на протяжении всего выполнения стратегии.

В этом упражнении добавьте 200-дневное SMA к существующей стратегии strategy.st. Пакеты quantstrat и quantmod уже загружены.

Это упражнение является частью курса

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

Посмотреть курс

Инструкции к упражнению

  • Вызовите add.indicator() для существующей стратегии strategy.st, ориентируясь на пример кода выше.
  • Передайте функцию SMA в качестве аргумента name.
  • Укажите нужные аргументы функции SMA: цену закрытия mktdata и период ретроспективного анализа n, равный 200 дням.
  • Задайте метку индикатора "SMA200".

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Add a 200-day SMA indicator to strategy.st
add.indicator(strategy = ___, 
              
              # Add the SMA function
              name = ___, 
              
              # Create a lookback period
              arguments = list(___), 
              
              # Label your indicator SMA200
              label = ___)
Редактировать и запускать код