Skip to contents

Tests whether the data satisfies the key assumptions required for Rigobon's (2003) identification strategy.

Usage

validate_rigobon_assumptions(
  data,
  regime_var = "regime",
  exog_vars = "Xk",
  verbose = TRUE
)

Arguments

data

Data.frame. Must contain Y1, Y2, regime, and X variables.

regime_var

Character. Name of regime variable (default: "regime").

exog_vars

Character vector. Names of exogenous variables.

verbose

Logical. Whether to print progress messages (default: TRUE).

Value

A list containing test results:

  • regime_heteroskedasticity: Test for different variances across regimes

  • covariance_restriction: Test that Cov(Z, e1*e2) = 0

  • constant_covariance: Test that Cov(e1, e2) is constant across regimes

  • all_valid: Logical indicating if all assumptions are satisfied

Details

The function tests three key assumptions:

  1. Heteroskedasticity across regimes in at least one equation

  2. The covariance restriction (centered regime dummies uncorrelated with error product)

  3. Constant covariance between errors across regimes

References

Rigobon, R. (2003). Identification through heteroskedasticity. Review of Economics and Statistics, 85(4), 777-792. doi:10.1162/003465303772815727

Examples

if (FALSE) { # \dontrun{
# Generate test data
params <- list(
  beta1_0 = 0.5, beta1_1 = 1.5, gamma1 = -0.8,
  beta2_0 = 1.0, beta2_1 = -1.0,
  alpha1 = -0.5, alpha2 = 1.0,
  regime_probs = c(0.4, 0.6),
  sigma2_regimes = c(1.0, 2.5)
)
data <- generate_rigobon_data(1000, params)

# Validate assumptions
validation <- validate_rigobon_assumptions(data)
} # }