ComenzarEmpieza gratis

Uso de sigCrossover

Aunque contar con un filtro largo es necesario, no es suficiente para abrir una operación en esta estrategia. Además, en el momento en que la condición deje de cumplirse, la estrategia no debería mantener ninguna posición. En este ejercicio, implementarás lo contrario de la regla indicada arriba usando la función sigCrossover().

A diferencia de sigComparison(), que siempre indica si una condición se cumple o no, sigCrossover() solo devuelve un positivo en el momento en que la señal ocurre por primera vez y después no se repite. Esto es útil para una señal que se utilizará para iniciar una transacción, ya que en la mayoría de los casos solo quieres una transacción, en lugar de que se dispare una y otra vez.

En este caso, implementarás la función sigCrossover() especificando que la SMA50 cruza por debajo de la SMA200. Etiquetarás esta señal como filterexit, ya que saldrá de tu posición cuando el filtro de medias móviles indique que el entorno no es adecuado para que la estrategia mantenga una posición.

Este ejercicio forma parte del curso

Trading financiero en R

Ver curso

Instrucciones del ejercicio

  • Usa add.signal() para añadir una sigCrossover especificando que la SMA50 cruza por debajo de la SMA200.
  • Etiqueta esta señal como filterexit.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Add a sigCrossover which specifies that the SMA50 is less than the SMA200 and label it filterexit
add.signal(strategy.st, name = "___",
           
           # We're interested in the relationship between the SMA50 and the SMA200
           arguments = list(columns = c("___", "___"),
                            
                            # The relationship is that the SMA50 crosses under the SMA200
                            relationship = "___"),
           
           # Label it filterexit
           label = "___")
Editar y ejecutar código