Open tbeason opened 2 years ago
In principle that should work, yes. The new MeanSpec
, e.g., GarchM
, would basically need to implement the
mean(at, ht, lht, data, meanspec::GarchM{T}, meancoefs, t) where {T}
appropriately. However, one might also want users to be able to combine, e.g., ARMA together with GARCH-M. That would require a bigger redesign, e.g., via composition: all MeanSpec
s could have a field GarchMSpec
.
I make no promises, but I predict myself needing the basic GARCH-M functionality soon (next couple of months), so I could perhaps tackle that.
I see what you are saying about extending the whole of the MeanSpec
but I think that is way less common, isn't it? I can't recall off the top of my head any research in equity volatility that uses such a specification, for example (doesn't mean they don't exist I guess).
You may be right about ARMA models, but I could imagine that people in empirical asset pricing might want a regression specification (another MeanSpec
) to go with the GARCH-M term?
Having said that, maybe it doesn't hurt to implement the simple case first, and then generalizing later (though that would then be breaking).
While I'm here and looking over the code, another thing that would be useful is the addition of a
MeanSpec
which includes the variance (or volatility or log volatility -- I'm not sure which is the most common convention).I'm guessing it wouldn't represent a huge change? Would it be mostly a copy-paste of the code for
Intercept
?