UNC-Wilmington Department of Economics and Finance ECN 377 Dr. Chris Dumas Estimating Growth Rates Using Time Series Data Professionals in Economics and Finance often need to estimate the growth rates of economic and business variables. The growth rate of a variable is its change per unit of time, on average, between a starting time and an ending time. Growth rates can be daily, monthly, yearly, etc., depending on the unit of time chosen for the analysis. (Growth rates can even be “instantaneous,” or “continuous,” if the unit of time is allowed to become very small, as in “continuous compounding” in Finance.) Some examples of important growth rates include the growth rate of GDP, interest rates (the growth rates of interest), inflation (the growth rate of prices), and the internal rate of return (IRR). Time Series Data are often used to estimate growth rates. Many variables can be involved when trying to estimate a growth rate, but the most basic analysis involves a dataset that provides measurements of a variable of interest at different points in time, and the time at which each measurement occurs. For example, consider the timeseriesdata.xls dataset discussed in the Autocorrelation handout. The dataset contains annual measurements from 1959 to 2002 for three variables: year (TIME), an index of real wages in the U.S. (RWAGES), and an index of Gross Domestic Product (PRODUCT). TIME 1959 1960 1961 RWAGES 59.20000 60.70000 62.50000 PRODUCT 48.60000 49.50000 51.30000 ⁞ ⁞ ⁞ 1998 1999 2000 2001 2002 104.80000 107.20000 111.00000 112.10000 113.50000 110.20000 113.00000 116.50000 118.80000 125.10000 The Compound Growth Equation, presented below, is an equation that is often used to estimate growth rates based on time series data. Yt = Y0·(1+r)t Hey! That’s just the Future Value (FV) formula from Finance! Yes, yes it is. The world is a small place. where t indicates the time period, Y is the variable for which we want to estimate the growth rate, Yt is the value of Y in time period t, Y0 is the value of Y in the first, initial, time period in the dataset, and r is the unknown growth rate per time period that we want to estimate. (CAUTION: In this handout, “r” is the growth rate, NOT the Pearson correlation coefficient.) For our example dataset, we can estimate two growth rates, the growth rate of RWAGES and the growth rate of PRODUCT. We would like to use the Compound Growth Equation and OLS regression analysis. We'll conduct an OLS regression twice, once for RWAGES, and once for PRODUCT, to estimate each growth rate. Because we have annual data, we plan to estimate average annual growth rates--that is, growth rates per year, on average, from 1959 to 2002. 1 UNC-Wilmington Department of Economics and Finance ECN 377 Dr. Chris Dumas However, we have a problem: the Compound Growth Equation is nonlinear in parameter r. (spooky music) Recall that in order to use OLS regression analysis, the equation must be linear in the parameters. We can overcome this problem by taking the natural logarithm of both sides of the equation and then rearranging it a bit: Yt = Y0·(1+r)t ln(Yt) = ln[Y0·(1+r)t] ln(Yt) = ln(Y0) + ln[(1+r)t] ln(Yt) = ln(Y0) + t·[ln(1+r)] ln(Yt) = ln(Y0) + [ln(1+r)]·t Next, we can put the last equation above into regression analysis form by letting: β0 = ln(Y0) and β1 = [ln(1+r)] and adding e as an error term to obtain: ln(Yt) = β0 + β1·t + e, The equation above is called a “Semi-Log" Functional Form, because a logarithm appears on one side of the equation but not on the other (in contrast to the “Log-Log” functional form in which a log appears on both sides of the equation). The Semi-Log Functional Form is linear in the parameters, so its parameters can be estimated using OLS regression. For example, to estimate the growth rate of RWAGES, we use ln(RWAGES) as the “Y” variable in the equation and TIME as the “t” variable. To estimate the growth rate of PRODUCT, we do a separate regression with ln(PRODUCT) as the “Y” variable and TIME as the “t” variable. After we use regression analysis to find β1, we can find the value of r by plugging β1 back into the equation β1 = [ln(1+r)] and solving for r: β1 = [ln(1+r)] eβ1 = eln(1+r) eβ1 = (1+r) r = eβ1 – 1 (note that “e” is the math constant 2.718282, not the error term) The value of r calculated in the last equation above is the growth rate of Y per time period. Estimating Growth Rates Using the Semi Log Functional Form and SAS As an example, let’s focus on estimating the growth rate of RWAGES using the timeseriesdata.xls dataset discussed in the Autocorrelation handout. First, use PROC IMPORT to bring the dataset into SAS: proc import datafile="v:\ECN377\timeseriesdata.xls" dbms=xls out=dataset01 replace; run; RWAGES will be our Y variable, but we need to use the natural log of our Y variable in the Semi Log regression. So, use a Data Step to create the natural log of variable RWAGES: 2 UNC-Wilmington Department of Economics and Finance ECN 377 Dr. Chris Dumas data dataset02; set dataset01; LNRWAGES = log(RWAGES); run; Next, run a regression analysis of LNRWAGES on TIME. Use the “dw” option to run a Durbin Watson test to check for the Autocorrelation Problem (because we are working with Time Series data). Also, save the residuals (let’s name them “ehat”) so that we can plot them against time as another check for the Autocorrelation Problem. proc reg data=dataset02; model LNRWAGES = TIME / dw; output out=dataset02 residual=ehat; run; Based on the results of the regression, β1 = 0.01284, so our initial estimate of the annual growth rate of RWAGES is (do the following calculation on paper, not in SAS): r = eβ1 – 1 = e0.01284 – 1 = 0.0129 = 1.29 percent per year. However, we need to check for the Autocorrelation Problem. The plot of the ehats against time (you can use PROC PLOT to do this) shows the cycling up-and-down pattern associated with positive autocorrelation, and positive autocorrelation is confirmed by the value of the Durbin-Watson statistic (dtest = 0.1016). So, we need to correct the initial OLS regression for the effects of autocorrelation. 3 UNC-Wilmington Department of Economics and Finance ECN 377 Dr. Chris Dumas We can correct the regression for the effects of first-order positive autocorrelation by using PROC AUTOREG with the nlag=1 option as follows (save the residuals as “ehatnew” so that we can plot them against time and see whether correcting for autocorrelation reduces the pattern in the residuals): proc autoreg data=dataset02; model LNRWAGES = TIME / nlag=1; output out=dataset02 residual=ehatnew; run; Based on the results of the autocorrelation-corrected regression, β1 = 0.0141, so our estimate of the annual growth rate of RWAGES is now (again, do the following calculation on paper, not in SAS): r = eβ1 – 1 = e0.0141 – 1 = 0.0142 = 1.42 percent per year. Plotting the ehatnew residuals against time (you can use PROC PLOT to do this) confirms that the pattern of positive autocorrelation in the residuals is greatly reduced. As a second example, you can try to estimate the growth rate of the PRODUCT variable. Without correcting for autocorrelation, we find using PROC REG that β1 = 0.0193, giving a growth rate estimate of r = 1.95 percent per year. However, the Durbin-Watson dtest = 0.1603, indicating positive autocorrelation. Running a second regression using PROC AUTOREG and nlag = 1 to correct for autocorrelation, we obtain β1 = 0.0206, and r = 2.08 percent per year. 4