ComenzarEmpieza gratis

Ejecutar tu estrategia

¡Enhorabuena por crear una estrategia en quantstrat! Para repasar: tu estrategia usa tres indicadores y cinco señales. La estrategia requiere que el umbral del indicador DVO_2_126 esté por debajo de 20 y que la SMA50 sea mayor que la SMA200. La estrategia vende cuando DVO_2_126 cruza por encima de 80, o cuando la SMA50 cruza por debajo de la SMA200.

Para que esta estrategia funcione correctamente, has especificado cinco señales:

  1. sigComparison para SMA50 mayor que SMA200;
  2. sigThreshold con cross en FALSE para DVO_2_126 menor que 20;
  3. sigFormula para combinarlas y establecer cross en TRUE;
  4. sigCrossover con SMA50 menor que SMA200; y
  5. sigThreshold con cross en TRUE para DVO_2_126 mayor que 80.

La estrategia invierte 100.000 $ (tu initeq) en cada operación y puede hacer un pequeño promedio del coste en dólares si DVO_2_126 oscila alrededor de 20 (aunque el efecto es en gran parte despreciable frente a la asignación inicial).

En este último capítulo aprenderás a ver los resultados reales de tu porfolio. Pero antes, para generar los resultados, necesitas ejecutar tu estrategia y completar algo de código base adicional para asegurarte de que quantstrat lo registre todo. El código de este ejercicio es código que tendrás que copiar y pegar en el futuro.

Este ejercicio forma parte del curso

Trading financiero en R

Ver curso

Instrucciones del ejercicio

  • Usa applyStrategy() para aplicar tu estrategia (strategy.st) a tu porfolio (portfolio.st). Guarda el resultado en el objeto out.
  • Ejecuta las funciones necesarias para registrar los resultados de tu estrategia, incluyendo updatePortf() y establecer el daterange, así como updateAcct() y updateEndEq().
  • Con esta información, intenta encontrar la fecha de la última operación.

Ejercicio interactivo práctico

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

# Use applyStrategy() to apply your strategy. Save this to out
out <- applyStrategy(strategy = ___, portfolios = ___)

# Update your portfolio (portfolio.st)
updatePortf(___)
daterange <- time(getPortfolio(___)$summary)[-1]

# Update your account (account.st)
updateAcct(___, daterange)
updateEndEq(___)
Editar y ejecutar código