【问题标题】:Quantstrat Naming of accounts and portfoliosQuantstrat 账户和投资组合的命名
【发布时间】:2018-06-14 00:19:20
【问题描述】:

我对 R 比较陌生,对 quantstrat/blotter 也很陌生。在我见过的所有示例中,一个字符串被加载到一个投资组合和帐户(portfolio.st、account.st)中。 这样做的目的是什么?我没有将信息保存到该字符串中,通常会删除 rm.strat (portfolio.st) 以加载另一个投资组合。也许我不太明白 account 和portfolio 对象是如何工作的。

示例:

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)

【问题讨论】:

    标签: r quantstrat


    【解决方案1】:

    首先,我强烈建议您阅读Guy Yollin 在 quantstrat 上的说明。然后我强烈建议您将browser() 添加到 quantstrat 库中的每个函数中。然后您将开始了解portfolio.st、account.st 和strategy.st 对脚本的贡献。

    在熟悉 R 6 个月后,我学会了所有这些。

    首先运行整个代码。然后在终端输入.strategy$,您将开始看到您的策略名称。每当您添加指标、信号或规则时,您都会发现您的环境存储了所有这些内容。

    不幸的是,当您是 R 和 quantstrat 的新手时,很难解释环境。相信我,我去过那里。如果你想让我在这里解释一些事情,请随时给我发消息。

    【讨论】:

      【解决方案2】:

      portfolio.st &lt;- "Port.Luxor.Stop.Loss" #Why load a string here? Why not just call the portfolio "portfolio.SL"?

      你可以给它起任何你喜欢的名字,但你必须给它起个名字。 quantstratblotter 的结构方式是创建一个具有将存储在单独环境中的属性的对象。您正在阅读的示例采用顶部的名称进行结构化,以便更容易找到它们。名称的选择("Port.Luxor.Stop.Loss""portfolio.SL")再次完全取决于您,但它应该对您和与您一起工作的任何人(包括您未来的自己)都有意义。

      【讨论】:

      • 谢谢丹。我认为我缺乏理解的根本原因是我不理解 quantstrat 的结构。你能解释一下它是如何将对象存储在另一个环境中的吗?其他环境是strategy.st吗?你有什么资源可以让我自己探索(删节,所以我不只是阅读 R-Forge 文档)?
      • quantstratblotter 不使用典型的 R 编程方法,因此如果您是新手,可能很难立即理解它。如果你的问题是:为什么我必须在我的代码顶部给portfolio.st 一个字符向量,我想我已经为你回答了(你没有)。如果您想了解有关环境的更多信息,Hadley Wickham 的高级 R 书籍有 a good chapter。这可能会有所帮助。您可以使用在那里学到的一些知识来了解 quantstrat 源代码并探索 .strategy 和 .blotter 环境。
      猜你喜欢
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 2011-07-08
      • 1970-01-01
      • 2020-09-27
      相关资源
      最近更新 更多