ComeçarComece de graça

Implementando um indicador - I

Agora é hora de entrar na mecânica de implementar um indicador dentro do escopo da biblioteca quantstrat. Neste exercício, você vai aprender a adicionar um indicador à sua estratégia. Para este exercício, você usará a estratégia que criou nos exercícios anteriores, strategy.st. Para o seu primeiro indicador, você vai adicionar uma média móvel simples de 200 dias.

Para adicionar um indicador à sua estratégia, você usará a função add.indicator(). Defina strategy como o nome da sua estratégia, name como o nome de uma função entre aspas, e arguments como os argumentos da função nomeada na forma de uma lista. Por exemplo, se o nome da sua função fosse SMA, o argumento arguments conteria os argumentos da função SMA:

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

Ao referenciar dados de mercado dinâmicos na sua chamada a add.indicator(), inclua mktdata dentro da função quote() porque ela é criada dentro do quantstrat e mudará dependendo do instrumento que o pacote estiver usando no momento. quote() garante que os dados possam mudar dinamicamente ao longo da execução da sua estratégia.

Neste exercício, você vai adicionar uma SMA de 200 dias à sua estratégia existente strategy.st. Os pacotes quantstrat e quantmod também já estão carregados para você.

Este exercício faz parte do curso

Negociação financeira em R

Ver curso

Instruções do exercício

  • Use add.indicator() na sua estratégia existente strategy.st. Siga de perto o código de exemplo.
  • Forneça a função SMA como argumento name.
  • Especifique os argumentos desejados de SMA, usando o preço de fechamento de mktdata e uma janela de retrocesso n de 200 dias.
  • Rotule seu indicador como "SMA200".

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 = ___)
Editar e executar o código