Začněte nyníZačněte zdarma

Spuštění strategie

Gratulujeme k vytvoření strategie v quantstrat! Jako připomenutí: tvoje strategie využívá tři samostatné indikátory a pět samostatných signálů. Strategie vyžaduje, aby hodnota indikátoru DVO_2_126 byla pod 20 a zároveň SMA50 bylo větší než SMA200. Strategie prodává, když DVO_2_126 překročí hodnotu 80 směrem nahoru, nebo když SMA50 klesne pod SMA200.

Pro správné fungování této strategie jsi definoval/a pět samostatných signálů:

  1. sigComparison pro případ, kdy je SMA50 větší než SMA200;
  2. sigThreshold s cross nastaveným na FALSE pro DVO_2_126 menší než 20;
  3. sigFormula pro jejich propojení s cross nastaveným na TRUE;
  4. sigCrossover pro případ, kdy SMA50 klesne pod SMA200; a
  5. sigThreshold s cross nastaveným na TRUE pro DVO_2_126 větší než 80.

Strategie investuje 100 000 $ (tvoje initeq) do každého obchodu a může docházet k mírnému průměrování nákladů, pokud DVO_2_126 osciluje okolo hodnoty 20 (efekt je ale oproti počáteční alokaci většinou zanedbatelný).

V této závěrečné kapitole se naučíš, jak zobrazit skutečné výsledky svého portfolia. Nejdřív je ale potřeba strategii spustit a doplnit potřebný kód, který zajistí, aby quantstrat vše zaznamenal. Kód z tohoto cvičení se ti bude hodit i v budoucnu – prostě ho zkopíruješ a použiješ.

Toto cvičení je součástí kurzu

Finanční obchodování v R

Zobrazit kurz

Pokyny k cvičení

  • Pomocí applyStrategy() aplikuj svoji strategii (strategy.st) na portfolio (portfolio.st). Výsledek ulož do objektu out.
  • Spusť potřebné funkce pro zaznamenání výsledků strategie – konkrétně updatePortf(), nastav daterange, a také zavolej updateAcct() a updateEndEq().
  • Na základě těchto informací zkus zjistit datum posledního obchodu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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(___)
Upravit a spustit kód