开始使用免费开始使用

运行您的策略

恭喜您在 quantstrat 中创建了一个策略!回顾一下,您的策略用了 3 个不同的指标和 5 个不同的信号。该策略要求 DVO_2_126 指标的阈值低于 20,且 SMA50 大于 SMA200 才会买入。当 DVO_2_126 上穿 80,或 SMA50 下穿 SMA200 时卖出。

为使该策略正常运行,您共设置了 5 个信号:

  1. sigComparisonSMA50 大于 SMA200
  2. sigThresholdcross 设为 FALSE,用于 DVO_2_126 小于 20;
  3. sigFormula:将二者联动,并将 cross 设为 TRUE
  4. sigCrossoverSMA50 小于 SMA200;以及
  5. sigThresholdcross 设为 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(___)
编辑并运行代码