ComeçarComece de graça

Usando add.rule() para implementar uma regra de entrada

Excelente! Você dominou todos os elementos do processo de construção de regras no quantstrat. Até aqui você adicionou regras passo a passo; agora é hora de juntar tudo e ver o quanto conseguiu absorver deste capítulo.

O oposto de uma regra de saída é uma regra de entrada. Em regras de entrada, orderqty não pode ser definido como "all" porque não existe uma posição inicial sobre a qual atuar. Neste exercício, você vai implementar uma regra de entrada que referencia o sinal longentry na sua estratégia e comprará uma ação de um ativo.

Este exercício faz parte do curso

Negociação financeira em R

Ver curso

Instruções do exercício

  • Especifique os argumentos em add.rule() para implementar sua nova regra de entrada.
  • Sua regra deve ser acionada quando o sinal longentry for igual a TRUE.
  • Sua regra deve comprar 1 ação de um ativo como uma ordem de "market".
  • O lado da sua regra deve ser long e replace deve ser FALSE.
  • Sua regra deve comprar na abertura (Open) do dia seguinte após observar um sinal.

Exercício interativo prático

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

# Create an entry rule of 1 share when all conditions line up to enter into a position
add.rule(strategy.st, name = "ruleSignal", 
         
         # Use the longentry column as the sigcol
         arguments=list(sigcol = "___", 
                        
                        # Set sigval to TRUE
                        sigval = ___, 
                        
                        # Set orderqty to 1
                        orderqty = ___,
                        
                        # Use a market type of order
                        ordertype = "___",
                        
                        # Take the long orderside
                        orderside = "___",
                        
                        # Do not replace other signals
                        replace = ___, 
                        
                        # Buy at the next day's opening price
                        prefer = "___"),
         
         # This is an enter type rule, not an exit
         type = "___")
Editar e executar o código