IniziaInizia gratis

Eseguire la tua strategia

Congratulazioni per aver creato una strategia in quantstrat! In sintesi, la tua strategia usa tre indicatori e cinque segnali distinti. Richiede che la soglia dell’indicatore DVO_2_126 sia inferiore a 20 e che la SMA50 sia maggiore della SMA200. La strategia vende quando il DVO_2_126 supera 80 con un attraversamento verso l’alto, oppure quando la SMA50 scende sotto la SMA200.

Per far funzionare correttamente questa strategia, hai specificato cinque segnali:

  1. sigComparison per SMA50 maggiore di SMA200;
  2. sigThreshold con cross impostato a FALSE per DVO_2_126 minore di 20;
  3. sigFormula per combinarli e impostare cross a TRUE;
  4. sigCrossover con SMA50 minore di SMA200; e
  5. sigThreshold con cross impostato a TRUE per DVO_2_126 maggiore di 80.

La strategia investe 100.000 $ (il tuo initeq) in ogni trade e può effettuare un leggero dollar cost averaging se il DVO_2_126 oscilla attorno a 20 (anche se l’effetto è per lo più trascurabile rispetto all’allocazione iniziale).

In questo capitolo finale imparerai a visualizzare i risultati effettivi del tuo portafoglio. Prima, però, per generare i risultati devi eseguire la tua strategia e aggiungere un po’ di codice standard in modo che quantstrat registri tutto. Il codice in questo esercizio è quello che in futuro dovrai copiare e incollare.

Questo esercizio fa parte del corso

Trading finanziario in R

Visualizza il corso

Istruzioni dell'esercizio

  • Usa applyStrategy() per applicare la tua strategia (strategy.st) al tuo portafoglio (portfolio.st). Salvalo nell’oggetto out.
  • Esegui le funzioni necessarie per registrare i risultati della tua strategia, inclusi updatePortf() e l’impostazione di daterange, oltre a updateAcct() e updateEndEq().
  • In base a queste informazioni, prova a individuare la data dell’ultimo trade.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(___)
Modifica ed esegui il codice