-
Notifications
You must be signed in to change notification settings - Fork 1
ccmm_svot
The CCMM Stochastic Volatility VAR with Jumps and Large Shocks represents the most flexible specification in the CCMM framework, combining smooth stochastic volatility evolution with explicit modeling of both outliers and volatility jumps. This estimator handles both smooth volatility changes and sudden jumps in volatility, making it the most comprehensive approach for modeling complex volatility patterns during both normal and crisis periods.
The CCMMSVOT specification features:
- Constant VAR coefficients with Minnesota-type priors
- Stochastic volatility following random walk processes
- Explicit outlier detection and accommodation
- Volatility jumps modeled through degrees of freedom variation
- Most comprehensive CCMM volatility specification available
This approach captures smooth volatility evolution, occasional outliers, and sudden jumps in volatility levels, providing maximum flexibility in volatility modeling.
-
Autoregression: Prior on first-order autoregression
- Range: [0, 1]
- Default: 0.8
- Controls the belief in random walk behavior for own lags
-
Lambda1: Overall tightness of priors
- Range: (0, ∞)
- Default: 0.1
- Smaller values impose tighter priors (more shrinkage)
-
Lambda2: Variable weighting
- Range: (0, ∞)
- Default: 0.5
- Controls relative weights between own-variable and cross-variable lags
-
Lambda3: Lag decay
- Range: (0, ∞)
- Default: 1
- Controls how quickly prior importance decays with lag length
-
Lambda4: Exogenous variable tightness
- Range: (0, ∞)
- Default: 100
- Controls prior tightness on exogenous variable coefficients
-
Lambda5: Block exogeneity shrinkage
- Range: (0, ∞)
- Default: 0.001
- Controls shrinkage when block exogeneity is imposed
-
DoFLowerBound: Lower bound for degrees of freedom uniform prior
- Range: [2, ∞)
- Default: 3
- Minimum degrees of freedom for inverse gamma distribution
-
DoFUpperBound: Upper bound for degrees of freedom uniform prior
- Range: [DoFLowerBound, ∞)
- Default: 40
- Maximum degrees of freedom for inverse gamma distribution
-
OutlierFreq: Mean outlier frequency (one outlier every X years)
- Range: [1, ∞)
- Default: 10
- Controls the expected frequency of outlier occurrences
-
PriorObsYears: Outlier prior strength (precision matches X years of prior data)
- Range: [1, ∞)
- Default: 10
- Controls how strongly outliers are identified and treated
-
HeteroskedasticityScale: Scaling factor for IW distribution of heteroscedasticity parameter
- Range: (0, ∞)
- Default: 0.15
- Controls the prior scaling of the volatility process
-
Turningpoint: Latest point of range for getting mean prior for B matrix
- Type: Date
- Default: "" (empty)
- Controls the training sample end point for prior construction
-
Exogenous: Priors on exogenous variables flag
- Default: false
- Enables specialized priors for exogenous variables
-
BlockExogenous: Block exogeneity flag
- Default: false
- Imposes block exogeneity restrictions
-
Burnin: Number of burn-in draws
- Range: [0, ∞)
- Default: 0
- Recommended: Extensive burn-in due to model complexity
-
StabilityThreshold: Threshold for maximum eigenvalue magnitude
- Range: (0, ∞)
- Default: null (no stability check)
- Ensures VAR stability by rejecting draws with eigenvalues above threshold
-
MaxNumUnstableAttempts: Maximum number of unstable sampling attempts
- Range: [1, ∞)
- Default: 1000
- Maximum attempts to find stable draw before stopping
- Complex volatility patterns: When data exhibits both smooth changes and sudden jumps
- Crisis modeling: When both outliers and volatility regime changes occur
- Comprehensive volatility analysis: When understanding all sources of volatility variation is crucial
- Financial applications: When modeling markets with multiple types of extreme events
- Simple volatility patterns: When basic stochastic volatility is sufficient
- Computational constraints: Extremely computationally demanding
- Short time series: Insufficient data for complex volatility identification
- Model parsimony concerns: When simpler specifications are preferred
- Requires very long time series for reliable parameter identification
- Extremely computationally intensive - plan for extended estimation times
- Careful tuning of all outlier and jump parameters is essential
- Consider whether full complexity is justified by improved performance
y_t = X_t β + A^{-1} Σ_t^{1/2} ε_t + o_t
where β are constant, Σ_t follows stochastic volatility with jumps, and o_t represents outliers.
log(σ²_{i,t}) = log(σ²_{i,t-1}) + η_{i,t} + J_{i,t}
where J_{i,t} represents volatility jumps.
Degrees of freedom vary to capture jumps:
ν_t ~ Uniform(ν_low, ν_high)
affecting the tail behavior of the volatility innovations.
o_t ~ (1-p_t) × 0 + p_t × N(0, Ω_t)
with time-varying outlier probabilities and variances.
- Speed: Very slow - among the most computationally demanding estimators
- Memory: Extremely high memory requirements
- Convergence: Complex convergence due to multiple parameter interactions
- Numerical stability: Requires careful numerical implementation
- Joint estimation of volatility, jumps, and outliers
- Complex parameter interactions require specialized algorithms
- Extensive MCMC tuning required
- High-dimensional parameter space
- Adds: Outliers and volatility jumps
- Complexity: Much more complex estimation
- Performance: Better handling of extreme events
- Speed: Significantly slower
- Adds: Volatility jumps
- Complexity: Additional jump modeling complexity
- Scope: More comprehensive extreme event modeling
- Robustness: Maximum robustness to various extreme patterns
- Start with simpler CCMM variants for initialization
- Add complexity incrementally (outliers, then jumps)
- Use multiple chains with overdispersed starting values
- Extensive convergence monitoring across all parameter dimensions
- Degrees of freedom bounds require careful specification
- Outlier parameters need economic calibration
- Monitor acceptance rates for all parameter blocks
- Consider adaptive MCMC approaches
- Compare volatility estimates with known economic events
- Validate outlier identification against crisis periods
- Assess jump timing with structural break dates
- Evaluate forecasting performance across different periods
- Outliers should align with known extreme events
- Jumps should correspond to volatility regime changes
- Parameter estimates should be economically plausible
- Consider policy implications of identified patterns
- Check convergence across all parameter types
- Monitor cross-correlations between parameter blocks
- Assess effective sample sizes for all parameters
- Use multiple diagnostic criteria
- Compare with nested simpler specifications
- Assess marginal likelihood improvements
- Evaluate out-of-sample forecasting gains
- Consider computational cost vs. performance trade-offs
- Chan, J.C.C., G. Koop, R.W. Poirier, and J.L. Tobias (2019). "A New Model of Trend Inflation"
- Nakajima, J. and M. West (2013). "Bayesian Analysis of Latent Threshold Dynamic Models"
- Omori, Y., S. Chib, N. Shephard, and J. Nakajima (2007). "Stochastic Volatility with Leverage: Fast and Efficient Likelihood Inference"
- Lopes, H.F. and M. West (2004). "Bayesian Model Assessment in Factor Analysis"