{smcl}
{* 21apr2004/18oct2005}{...}
{hline}
help for {hi:mvcorr}
{hline}
{title:Generate moving-window correlations in time series or panel}
{p 8 17 2}{cmd:mvcorr}
{it:tsvar1 tsvar2}
[{cmd:if} {it:exp}]
[{cmd:in} {it:range}]
{cmd:,} {cmdab:g:enerate(}{it:newvar}{cmd:)}
{cmdab:w:indow(}{it:#}{cmd:)}
[
{cmd:end}
{cmd:force}
]
{p 4 4 2}
{cmd:mvcorr} is for use with time-series data. You must {cmd:tsset} your
data before using {cmd:mvcorr}; see help {help tsset}.
{p 4 4 2}
{it:varname} may contain time-series operators; see help {help varlist}.
{title:Description}
{p 4 4 2}{cmd:mvcorr} computes a moving-window correlation coefficient for
{it:tsvar1} and {it:tsvar2} which must be time series variables under the aegis
of
{cmd:tsset}. If a panel calendar is in effect, the coefficient is calculated
for each time series within the panel. The correlation coefficient is placed
in a new variable, specified with the {cmd:generate()} option. Although
{cmd:mvcorr} works with unbalanced panels (where the start and/or end points
differ across units), {cmd:mvcorr} does not allow gaps within the observations
of a time series; that is, the value of an observation for a given period may
be missing, but the observation itself must be defined. Gaps in time series may
be dealt with via the {cmd:tsfill} command.
{p 4 4 2}
By using time-series operators, {cmd:mvcorr} may also be used to generate moving
autocorrelations.
{title:Options}
{p 4 8 2}{cmd:generate(}{it:newvar}{cmd:)} specifies the name of a new variable
in which the results are to be placed.
This is a required option.
{p 4 8 2}{cmd:window(}{it:#}{cmd:)} specifies the width of the window for
computation of the statistics, which must be an integer and at least 3. By
default, results for odd-length windows are placed in the middle of the window
and results for even-length windows are placed at the end of the window. The
first default can be over-ridden by the {cmd:end} option. This is a required option.
{p 4 8 2}{cmd:end} forces results to be placed at the end of the window in
the case where the window width is an odd number.
{p 4 8 2}{cmd:force} forces results to be computed when some of a particular
window's values are missing.
{title:Remarks}
{p 4 4 2}Occasionally people want to use {cmd:if}
and/or {cmd:in} when calculating moving correlations, but
that raises a complication not usually encountered.
What would you expect from a moving correlation calculated with
either kind of restriction? Let us identify two possibilities:
{p 8 8 2}Weak interpretation: I don't want to see any results for
the excluded observations.
{p 8 8 2}Strong interpretation: I don't even want you to use the
values for the excluded observations.
{p 4 4 2}Here is a concrete example. Suppose as a consequence of
some restriction, observations 1-42 are included, but not
observations 43 on. But the moving correlation for 42 will depend,
among other things, on the value for observation 43 if the summary
extends backwards and forwards and is of length at least 3,
and it will similarly depend on some of the observations 44
onwards in some circumstances.
{p 4 4 2}Our guess is that most people would go for the weak
interpretation, which is employed in {cmd:mvcorr}. If not,
you should ignore what you don't want or even set unwanted values
to missing afterwards by using {cmd:replace}.
{title:Examples}
{p 4 8 2}{stata "webuse grunfeld" :. webuse grunfeld}{p_end}
{p 4 8 2}{stata "mvcorr invest mvalue, win(5) gen(rho)" :. mvcorr invest mvalue, win(5) gen(rho)}{p_end}
{p 4 8 2}{stata "mvcorr invest L.invest, win(5) gen(acf) end" :. mvcorr invest L.invest, win(5) gen(acf) end}{p_end}
{title:Authors}
{p 4 4 2}Christopher F Baum, Boston College, USA{break}
baum@bc.edu
{p 4 4 2}Nicholas J. Cox, Durham University, U.K.{break}
n.j.cox@durham.ac.uk
{title:Acknowledgements}
{p 4 4 2}This routine is based on Cox's {cmd:movsumm} and the authors'
{cmd:mvsumm} and {cmd:statsmat}. Its development was encouraged by a query from
Nathalie Carcenac.
{title:Also see}
{p 4 13 2}On-line: {help correlate}, {help tsset}, {help tsfill}