Rularea strategiei tale
Felicitări pentru că ai creat o strategie în quantstrat! Ca recapitulare, strategia ta folosește trei indicatori separați și cinci semnale separate. Strategia necesită ca pragul indicatorului DVO_2_126 să fie sub 20 și ca SMA50 să fie mai mare decât SMA200. Strategia vinde atunci când DVO_2_126 depășește 80 în sens ascendent sau când SMA50 coboară sub SMA200.
Pentru ca această strategie să funcționeze corect, ai specificat cinci semnale separate:
sigComparisonpentru caSMA50să fie mai mare decâtSMA200;sigThresholdcucrosssetat laFALSEpentruDVO_2_126mai mic de 20;sigFormulapentru a le combina și a setacrosslaTRUE;sigCrossovercuSMA50mai mic decâtSMA200; șisigThresholdcucrosssetat laTRUEpentruDVO_2_126mai mare de 80.
Strategia investește 100.000 $ (valoarea initeq) în fiecare tranzacție și poate include un efect minor de mediere a costurilor dacă DVO_2_126 oscilează în jurul valorii de 20 (deși efectul este în mare parte neglijabil față de alocarea inițială).
În acest ultim capitol, vei învăța cum să vizualizezi rezultatele reale ale portofoliului tău. Dar mai întâi, pentru a genera aceste rezultate, trebuie să rulezi strategia și să completezi câteva linii de cod standard, astfel încât quantstrat să înregistreze totul. Codul din acest exercițiu este unul pe care îl vei putea copia și folosi și în viitor.
Acest exercițiu face parte din cursul
Tranzacționare financiară în R
Instrucțiuni pentru exercițiu
- Folosește applyStrategy() pentru a aplica strategia ta (
strategy.st) portofoliului tău (portfolio.st). Salvează rezultatul în obiectulout. - Rulează funcțiile necesare pentru a înregistra rezultatele strategiei tale, inclusiv
updatePortf()și setareadaterange, precum șiupdateAcct()șiupdateEndEq(). - Pe baza acestor informații, încearcă să identifici data ultimei tranzacții.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(___)