backtest包R从对象

时间:2018-02-12 19:28:32

标签: r data-extraction back-testing

我想从backtest包中提取返回值,这些返回包是根据存储在名为“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命令时,它将打印出每个十进制的返回系列。我想将这些数据提取到一个可用于进一步分析的数据框中。

有人知道,我如何访问返回系列或提取它?

1 个答案:

答案 0 :(得分:1)

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

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

为了按照summary(bt)的副作用打印按月打印的摘要统计数据框,您可以运行summaryStats(bt)。有关详细信息,请参阅backtest help files的第5-8页。