Запуск стратегии
Поздравляем с созданием стратегии в 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(___)