运行您的策略
恭喜您在 quantstrat 中创建了一个策略!回顾一下,您的策略用了 3 个不同的指标和 5 个不同的信号。该策略要求 DVO_2_126 指标的阈值低于 20,且 SMA50 大于 SMA200 才会买入。当 DVO_2_126 上穿 80,或 SMA50 下穿 SMA200 时卖出。
为使该策略正常运行,您共设置了 5 个信号:
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(___)