backtest-class {backtest} | R Documentation

## Class "backtest"

### Description

Contains results from the backtest function.

### Details

The primary method for accessing the `backtest` results is through the `summary` method. `summary` provides different displays depending on the type of `backtest` object. These displays are shown in the examples section. Accessor methods such as `means`, `counts`, `marginals`, `naCounts`, `turnover`, and `ci` may be used to extract other types of information from the object.

A `backtest` object with a `natural` value of TRUE may be graphed by calling the `plot` method. The default `plot` method graphs return. The other plots, turnover and cumulative return, must be explicitly specified as `plot(object, type = "turnover")` or `plot(object, type = "cumreturn")`.

The `backtest` object does not store the data frame used to create the `backtest.` It only stores the results and the names of the vectors used in calculating these results.

The results of a `backtest` are stored in a 5-dimensional array, `results`. The 1st dimension contains one value for every element of `ret.var`. The 2nd dimension contains one value for every element of `in.var`. The 3rd dimension contains one value for every element in `1:buckets[1]`, a vector from 1 through the number of `by.var` buckets. The 4th dimension contains one value for every element in `1:buckets[2]`, a vector from 1 through the number of `in.var` buckets. The 5th dimension contains 4 elements: `means`, `counts`, `trim.means`, and `NAs`.

### Objects from the Class

Objects can be created by calls to the function `backtest(data, in.var, ret.var, ...)`.

### Slots

`in.var`:
  Object of class `"character"` specifying the `in.var` values for this backtest.
`ret.var`:
  Object of class `"character"` containing the `ret.var` values for this backtest.
`by.var`:
  Object of class `"character"` containing the `by.var`, if specified, for this backtest.
`date.var`:
  Object of class `"character"` containing the `date.var`, if specified, for this backtest.
`buckets`:
  Object of class `"numeric"` containing the number(s) of buckets used create quantiles from the `in.var` and `by.var` values.
`results`:
  A 5-dimensional array containing the results of the backtest.
`rawstats`:
  Object of class `"data.frame"` containing some summary statistics for this backtest.
`natural`:
  Object of class `"logical"` expressing whether or not the intervals between observations, as specified by `date.var`, and returns, as specified by `ret.var`, match. If the interval between dates is one month, the interval between returns should also be one month.

### Methods

show
  `signature(object = "backtest")`: Prints the variables used in this backtest.
summary
  `signature(object = "backtest")`: Prints the results of the backtest.
means
  `signature(object = "backtest")`: Returns a list of matrices, with one matrix for each `in.var`, where the value of each cell is the mean of the returns for that `in.var` and `by.var` combination.
counts
  `signature(object = "backtest")`: Returns a list of matrices, with one matrix for each `in.var`, where the value of each cell is the number of observations for that `in.var` and `by.var` combination.
marginals
  `signature(object = "backtest")`: Returns a list of matrices, one matrix for each `in.var`, where the value of each cell is the number of observations for that `in.var` and `by.var` combination. Different from `counts` because the marginal sums have been appended to the matrices.
naCounts
  `signature(object = "backtest")`: Returns a list of matrices, with one matrix for each `in.var`, where the value of each cell is the number of NA observations for that `in.var` and `by.var` combination.
ci
  `signature(object = "backtest")`: Returns a matrix of confidence intervals for spreads.
turnover
  `signature(object = "backtest")`: Returns a `data.frame` of the turnovers if the `backtest` is `natural`.
plot
  `signature(x = "backtest", y = "missing")`: Plots returns, cumulative returns, or turnover, when passed a `type` argument of `return`, `cumreturn`, or `turnover`, respectively.

### Author(s)

Kyle Campbell kyle.w.campbell@williams.edu

### See Also

`backtest`

### Examples

    data(starmine)
    bt <- backtest(starmine, in.var = "smi", ret.var = "fwd.ret.1m", by.period = FALSE)

    ## Summary for a pooled backtest

    summary(bt)

    ## A natural backtest

    bt <- backtest(starmine, in.var = "smi", ret.var = "fwd.ret.1m",
                   date.var = "date", id.var = "id", natural = TRUE, by.period = FALSE)

    ## Summary for a natural backtest

    summary(bt)

    ## Other access methods

    means(bt)
    counts(bt)
    marginals(bt)
    naCounts(bt)

    ## Plotting methods

    plot(bt, type = "turnover")
    plot(bt, type = "return")
    plot(bt, type = "cumreturn")

[Package backtest version 0.2-1 Index]