Запуск вашої стратегії
Вітаємо зі створенням стратегії в quantstrat! Нагадаємо: ваша стратегія використовує три окремі індикатори та п'ять окремих сигналів. Вона вимагає, щоб поріг індикатора DVO_2_126 був нижче 20 і водночас SMA50 був вищим за SMA200. Стратегія продає, коли DVO_2_126 перетинає рівень 80 знизу вгору або коли SMA50 перетинає SMA200 зверху вниз.
Щоб стратегія працювала, ви задали п'ять сигналів:
sigComparisonдля перевірки, щоSMA50більший заSMA200;sigThresholdзcross = FALSEдляDVO_2_126менше 20;sigFormula, щоб поєднати їх і встановитиcross = TRUE;sigCrossoverдля випадку, колиSMA50менший заSMA200;sigThresholdзcross = TRUEдляDVO_2_126більше 80.
Стратегія інвестує 100 000 $ (ваш initeq) у кожну угоду та може виконувати невелике усереднення ціни в доларах, якщо DVO_2_126 коливається навколо 20 (хоча цей ефект зазвичай незначний порівняно з початковим розподілом).
У цьому фінальному розділі ви навчитеся переглядати фактичні результати свого портфеля. Але спершу, щоб згенерувати результати, потрібно запустити стратегію і додати трохи шаблонного коду, аби quantstrat усе зафіксував. Код у цій вправі — це те, що вам доведеться копіювати й вставляти надалі.
Ця вправа є частиною курсу
Фінансовий трейдинг в R
Інструкції до вправи
- Використайте applyStrategy(), щоб застосувати вашу стратегію (
strategy.st) до вашого портфеля (portfolio.st). Збережіть результат в об'єктіout. - Запустіть потрібні функції для фіксації результатів стратегії, зокрема
updatePortf()і встановленняdaterange, а такожupdateAcct()іupdateEndEq(). - На основі цієї інформації спробуйте знайти дату останньої угоди.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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(___)