640 likes | 785 Views
Econ 240 C. Lecture 11. Benchmark Forecasts. “Naïve Forecasts” Time series is level: use mean Time series is trended: use trend to forecast, e.g. Lab 2 Time series is random walk: best forecast for next period is this period ARMA model forecasts
E N D
Econ 240 C Lecture 11
Benchmark Forecasts • “Naïve Forecasts” • Time series is level: use mean • Time series is trended: use trend to forecast, e.g. Lab 2 • Time series is random walk: best forecast for next period is this period • ARMA model forecasts • Also uses the past to extrapolate the future
? Output Y(t) Dynamic Relationship Input X(t)
Distributed Lag • Y(t) = c0x(t) + c1x(t-1) + c2x(t-2) + … + resid(t) • Y(t) = c0 x(t) + c1 Z x(t) + c2 Z2 x(t) + … resid(t) • Y(t) = [c0 + c1 Z + c2 Z2 + …] x(t) + resid(t)
Resid(t) + Dynamic relationship C(Z) Input X(t) + Output Y(t)
Pre-midterm Resid(t) + Dynamic relationship C(Z) Input X(t) + Output Y(t)
Dynamic Model Building • Process • Identification of C(Z) • How many lags? • Which lags • Use cross-correlation function to answer specification of lags • Identification of resid(t) • Resid(t) captures part of y(t) • Use the univariate ARMA model for y(t) as a starting point for modeling resid(t)
Part II: Estimation of Distributed Lag Models • Why not use simple OLS regression of SP500 on consumer sentiment in levels?
Part II: Estimation of Distributed Lag Models • Example from Lab 6: The Index of Consumer Sentiment and the Standard & Poors 500 Index • Does consumer sentiment affect the stock market?
Resid(t) + Dynamic relationship C(Z) Input X(t) consumer sentiment [c0 + c1 Z + c2 Z2 + …] + Output Y(t) sp500
Regress sp500 on a distributed lag of consumer sentiment • sp500(t) = c0consen(t) + c1consen(t-1) + c2consen(t-2) + … + resid(t)
Distributed Lag Model of SP500 on Consumer Sentiment • Why are not the t-statistics more significant
Distributed Lag Model of SP500 on Consumer Sentiment • Fixup: Taking logarithms is not enough
Correlogram of natural logarithm of the Index of Consumer Sentiment
Distributed Lag Model of SP500 on Consumer Sentiment • Fixup: Taking logarithms is not enough • First difference after taking natural logarithm to obtain the fractional change in the Index of Consumer Sentiment
Resid(t) + Dynamic relationship C(Z) Input X(t) D lnconsumer sentiment [c0 + c1 Z + c2 Z2 + …] + Output Y(t) D lnsp500
Distributed Lag Model of Fractional Changes in SP500 on Fractional Changes in Consumer Sentiment • Why does this work? Because fractional changes in consumer sentiment are orthogonal!
Correlogram of fractional changes in consumer sentiment
Contemporary correlation • dlnsp500(t) = c0 dlncons(t) + c1 dlncons(t-1) + c2 dlncons(t-2) + c3 dlncons(t-3) + resid(t) • multiply by dlcons(t) and take expectations
E{dlnsp500(t)*dlncons(t) = c0 [dlncons(t)]2 + c1 dlncons(t-1)*dlncons(t) + c2 dlncons(t-2)*dlncons(t) + c3 dlncons(t-3)*dlmcons(t) + resid(t)*dlncons(t)} • cov dlnsp500(t) dlncons(t) = c0 var dlncons(t) + 0 • c0 = cov[dlny*dlnx]/var[dlnx]
Correlation at lag one • dlnsp500(t) = c0 dlncons(t) + c1 dlncons(t-1) + c2 dlncons(t-2) + c3 dlncons(t-3) + resid(t) • multiply by dlcons(t-1) and take expectations
E{dlnsp500(t)*dlncons(t-1) = c0 [dlncons(t)*dlncons(t-1)] + c1 dlncons(t-1)*dlncons(t-1) + c2 dlncons(t-2)*dlncons(t-1) + c3 dlncons(t-3)*dlmcons(t-1) + resid(t)*dlncons(t-1)} • crosscov dlnsp500(t) dlncons(t-1) = c1 autocov dlncons(t-1)*dlncons(t-1)) + 0 • c1 = cov[dlny(t)*dlnx(t-1)]/var[dlnx]
Part III: Definitions of Cross-Covariance and Cross-Correlation • In general, the cross-covariance function where y depends on current and lagged values of x:
Part III: Definitions of Cross-Covariance and Cross-Correlation • If y and x are covariance stationary, then the cross-correlation function depends on lag only:
Part III: Definitions of Cross-Covariance and Cross-Correlation • Definition of cross-correlation • rx,y(u) = gx,y(u)/sx sy • note: (sy/ sx) * rx,y(u) = gx,y(u)/sx2 is the cross covariance function divided by the variance of x and reveals the distributed lag of y on lagged values of x
E{dlnsp500(t)*dlncons(t-1) = c0 [dlncons(t)*dlncons(t-1)] + c1 dlncons(t-1)*dlncons(t-1) + c2 dlncons(t-2)*dlncons(t-1) + c3 dlncons(t-3)*dlmcons(t-1) + resid(t)*dlncons(t-1)} • crosscov dlnsp500(t) dlncons(t-1) = c1 autocov dlncons(t-1)*dlncons(t-1)) + 0 • c1 = cov[dlny(t)*dlnx(t-1)]/var[dlnx]
What happens if the input(x, dlncons) is not orthogonal? • Then we need to make it orthogonal. This is the Box-Jenkins procedure for estimating distributed lags and we will study it in Lab 7.
Part IV. Moving Averages • Example from Lab 6 • dlnsp500(t)
Part IV. Moving Averages • So lnsp500(t) is a random walk with drift(trend) • Suppose we take a 15 month moving average. This takes the first 15 observations and calculates the average. Then it takes observations 2 through 16 and calculates an average, and so on.
Part IV. Moving Averages • Movavlnsp500 = @movav(lnsp500, 15)
Part IV. Moving Averages • We could advance movavlnsp500(t) by 7 periods to center it using GENR • movcen=movavlnsp500(7)