【问题标题】:Using the addDiv(command) in R from quantstrat/blotter在 quantstrat/blotter 中使用 R 中的 addDiv(command)
【发布时间】:2015-07-22 23:42:55
【问题描述】:

在 R 中使用 addDiv 命令的格式是什么?就输入而言,我知道如何使用该功能,但我无法弄清楚它应该放在哪里超出一般的想法。我是否将它放在我实例化投资组合的位置之后?以下是 R 提供的帮助文章:

将现金股息交易添加到投资组合中。

说明

添加现金分红不影响持仓数量,如分股 会的。

用法

addDiv(Portfolio, Symbol, TxnDate, DivPerShare, ..., TxnFees = 0,  
       ConMult = NULL, verbose = TRUE)

参数

Portfolio 指向投资组合对象的投资组合名称 结构为initPortf

Symbol 包含在 投资组合,例如 IBM。

TxnDate 交易日期为 ISO 8601,例如,'2008-09-01' 或 '2010-01-05 09:54:23.12345'。

DivPerShare每股或每股派发的现金股利金额 单位数量。

TxnFees 与交易相关的费用,例如佣金。看 详情。

ConMult 符号的合约或工具乘数(如果不是) 在仪器规范中定义。

verbose 如果TRUE(默认)该函数打印 在屏幕上一行进行交易,例如,“2007-01-08 IBM 50 @ 77.6”。 使用FALSE 抑制。

... 任何其他直通参数。

注意

**# TODO 将 TxnTypes 添加到 $txn 表

**# TODO 添加 AsOfDate****

【问题讨论】:

  • 我自己没有使用过,但是“将现金红利交易添加到投资组合”建议您应该在创建投资组合之后而不是之前这样做。否则,我猜你可以在任何对你的代码有意义的地方添加它。

标签: r quantmod quantitative-finance quantstrat blotter


【解决方案1】:

这是一个如何使用它的示例,它基于来自 blotter 包的demo("longtrend")。如您所见,事后调用它很好,因为吸墨纸知道您的位置。

也就是说,如果您需要知道您的总损益以做出交易决策,则需要同时调用它。

require(blotter)
demo(longtrend, ask=FALSE)

# Add dividends from SPY
spyDiv <- getDividends("SPY", from=initDate)
for(i in 1:nrow(spyDiv)) {
  obs <- spyDiv[i,]
  addDiv("longtrend", "GSPC", index(obs), obs)
}
# Need to update portfolio, account, etc again, since
# we added new transactions
updatePortf("longtrend")
updateAcct("longtrend")
updateEndEq("longtrend")

# Plot position with dividends, calling dev.new() so
# we can compare it to the original plot from the demo.
dev.new()
chart.Posn("longtrend", "GSPC", Dates="1998::")
add_SMA(n=10, col="darkgreen", on=1)

#look at a transaction summary
getTxns(Portfolio="longtrend", Symbol="GSPC")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多