回测包 R 从对象中提取 returns

backtest package R extracting returns from object

我想从回测包中提取 returns,它们根据手册存储在一个名为 'results')

的 5 维数组中

这是回测包:

https://cran.r-project.org/web/packages/backtest/backtest.pdf

一个简单的例子如下所示:

library(backtest)
data(starmine)
bt <- backtest(starmine, in.var = c("smi"),
           ret.var = "ret.0.1.m", date.var = "date",
           id.var = "id", buckets = 10,
           natural = TRUE, by.period = TRUE)
summary(bt)

当您运行 summary 命令时,它会为每个十分位数打印出return 系列。我想将这些提取到一个数据框中,我可以将其用于进一步分析。

有人知道我如何访问 return 系列或提取它吗?

bt对象是classbacktest的对象(我们从class(bt)看出)。 summary() 函数有一个为 backtest 对象定义的方法,它只将信息打印到屏幕上。如果您尝试通过 stuff <- summary(bt) 分配信息,stuff 对象将是 NULL。要访问 summary(bt) 打印到屏幕上的数据,您应该使用为该对象创建的 accessor 函数(它们在 ?'backtest-class' 中有描述)。这些功能包括:

  • means()
  • counts()
  • summary()
  • marginals()
  • summaryStats()
  • turnover()

为了访问作为summary(bt)的副作用打印的月份汇总统计数据框,您可以运行summaryStats(bt)。请参阅 backtest help files 的第 5-8 页了解更多信息。