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:
sigComparisonperSMA50maggiore diSMA200;sigThresholdconcrossimpostato aFALSEperDVO_2_126minore di 20;sigFormulaper combinarli e impostarecrossaTRUE;sigCrossoverconSMA50minore diSMA200; esigThresholdconcrossimpostato aTRUEperDVO_2_126maggiore 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
Istruzioni dell'esercizio
- Usa applyStrategy() per applicare la tua strategia (
strategy.st) al tuo portafoglio (portfolio.st). Salvalo nell’oggettoout. - Esegui le funzioni necessarie per registrare i risultati della tua strategia, inclusi
updatePortf()e l’impostazione didaterange, oltre aupdateAcct()eupdateEndEq(). - 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(___)