我对R来说相对较新,对quantstrat / blotter来说也很陌生。在我看过的所有示例中,字符串被加载到一个组合和帐户(portfolio.st,account.st)。
这样做的目的是什么?我没有将信息保存到该字符串中,并且通常会删除rm.strat
(portfolio.st)以加载另一个组合。也许我不太明白帐户和投资组合对象是如何运作的。
示例:
portfolio.st <- "Port.Luxor.Stop.Loss" #Why load a string here? Why not just call the portfolio "portfolio.SL"?
account.st <- "Acct.Luxor.Stop.Loss"
strategy.st <- "Strat.Luxor.Stop.Loss"
rm.strat(portfolio.st)
rm.strat(account.st)
initPortf(name = portfolio.st,
symbols = symbols,
initDate = init_date)
答案 0 :(得分:1)
首先,我强烈建议您仔细阅读Guy Yollin关于quantstrat的说明。然后,我强烈建议您将browser()
添加到quantstrat库中的每个函数。然后,您将开始了解Portfolio.st,account.st和strategy.st对脚本的贡献。
在对R适应了6个月之后,我才了解了所有这一切。
首先运行整个代码。然后在终端中输入.strategy$
,您将开始看到策略名称。每当添加指标,信号或规则时,都会发现环境存储了所有这些指标。
不幸的是,当您真的不熟悉R和quantstrat时,很难解释环境。相信我,我去过那里。如果您想让我在这里解释一下,请随时向我发送消息。
答案 1 :(得分:0)
portfolio.st <- "Port.Luxor.Stop.Loss" #Why load a string here? Why not just call the portfolio "portfolio.SL"?
无论你喜欢什么,都可以打电话给你,但你必须把它称之为东西。 quantstrat
和blotter
的结构方式,您创建的对象具有将存储在单独环境中的属性。您正在阅读的示例使用顶部的名称进行结构化,以便更轻松地找到它们。选择名称("Port.Luxor.Stop.Loss"
vs "portfolio.SL"
)完全取决于您,但它对您和您正在与之合作的任何人(包括您未来的自我)都应该有意义。< / p>