arch.bootstrap.StepM

class arch.bootstrap.StepM(benchmark, models, size=0.05, block_size=None, reps=1000, bootstrap='stationary', studentize=True, nested=False)[source]

StepM multiple comparison procedure of Romano and Wolf.

Parameters
  • benchmark ({ndarray, Series}) – T element array of benchmark model losses

  • models ({ndarray, DataFrame}) – T by k element array of alternative model losses

  • size (float, optional) – Value in (0,1) to use as the test size when implementing the comparison. Default value is 0.05.

  • block_size (int, optional) – Length of window to use in the bootstrap. If not provided, sqrt(T) is used. In general, this should be provided and chosen to be appropriate for the data.

  • reps (int, optional) – Number of bootstrap replications to uses. Default is 1000.

  • bootstrap (str, optional) – Bootstrap to use. Options are ‘stationary’ or ‘sb’: Stationary bootstrap (Default) ‘circular’ or ‘cbb’: Circular block bootstrap ‘moving block’ or ‘mbb’: Moving block bootstrap

  • studentize (bool, optional) – Flag indicating to studentize loss differentials. Default is True

  • nested (bool, optional) – Flag indicating to use a nested bootstrap to compute variances for studentization. Default is False. Note that this can be slow since the procedure requires k extra bootstraps.

References

Romano, J. P., & Wolf, M. (2005). “Stepwise multiple testing as formalized data snooping.” Econometrica, 73(4), 1237-1282.

Notes

The size controls the Family Wise Error Rate (FWER) since this is a multiple comparison procedure. Uses SPA and the consistent selection procedure.

See 1 for detail.

See also

SPA

References

1

Romano, J. P., & Wolf, M. (2005). Stepwise multiple testing as formalized data snooping. Econometrica, 73(4), 1237-1282.

Methods

compute()

Compute the set of superior models.

reset()

Reset the bootstrap to it’s initial state.

seed(value)

Seed the bootstrap’s random number generator

Properties

superior_models

List of the indices or column names of the superior models