text:
Rolling Analysis of Time Series
- Joel McKinney
- 3 years ago
- Views:
1 9 Rolling Analysis of Time Series 9.1 Introduction A rolling analysis of a time series model is often used to assess the model s stability over time. When analyzing financial time series data using a statistical model, a key assumption is that the parameters of the model are constant over time. However, the economic environment often changes considerably, and it may not be reasonable to assume that a model s parameters are constant. A common technique to assess the constancy of a model s parameters is to compute parameter estimates over a rolling window of a fixed size through the sample. If the parameters are truly constant over the entire sample, then the estimates over the rolling windows should not be too di erent. If the parameters change at some point during the sample, then the rolling estimates should capture this instability. Rolling analysis is commonly used to backtest a statistical model on historical data to evaluate stability and predictive accuracy. Backtesting generally works in the following way. The historical data is initially split into an estimation sample and a prediction sample. The model is then fit using the estimation sample and -step ahead predictions are made for the prediction sample. Since the data for which the predictions are made are observed -step ahead prediction errors can be formed. The estimation sample is then rolled ahead a given increment and the estimation and prediction exercise is repeated until it is not possible to make any more -step predictions. The statistical properties of the collection of -step ahead pre-
2 Rolling Analysis of Time Series diction errors are then summarized and used to evaluate the adequacy of the statistical model. Moving average methods are common in rolling analysis, and these methods lie at the heart of the technical analysis of financial time series. Moving averages typically use either equal weights for the observations or exponentially declining weights. One way to think of these simple moving average models is that they are a poor man s time varying parameter model. Sometimes simple moving average models are not adequate, however, and a general time varying parameter model is required. In these cases, the state space models discussed in Chapter 14 should be used. This chapter describes various types of rolling analysis of financial time series using S-PLUS. Section 9.2 covers rolling descriptive statistics for univariate and bivariate time series with an emphasis on moving average techniques, and Section 9.3 gives a brief review of technical analysis using S+FinMetrics functions. Section 9.4 discusses rolling regression using the S+FinMetrics function rollols and illustrates how rollols may be used for backtesting regression models. Section 9.5 describes rolling analysis of general models using the S+FinMetrics function roll. Rolling analysis of financial time series is widely used in practice but the technique is seldom discussed in textbook treatments of time series analysis. Notable exceptions are Alexander (2001) and Dacorogna et. al. (2001). Rolling analysis techniques in finance are generally discussed in the technical analysis literature, but the statistical properties of backtesting technical analysis are rarely addressed. A comprehensive treatment of technical analysis indicators is given in Colby and Meyers (1988) and a critical evaluation of technical analysis is provided in Bauer and Dahlquist (1999). The econometric literature on evaluating the predictive accuracy of models through backtesting has matured over the last decade. The main reference is Diebold and Mariano (1995). 9.2 Rolling Descriptive Statistics Univariate Statistics Considertheanalysisofaunivariatetimeseries over a sample from =1. Whether the mean and variance (or standard deviation) parameters of the distribution of are constant over the entire sample is of interest. To assess parameter constancy, let denote the width of a sub-sample or window and define the rolling sample means, variances and
3 9.2 Rolling Descriptive Statistics 315 standard deviations ˆ ( ) = 1 1 X (9.1) ˆ 2 ( ) = ˆ ( ) = =0 1 1 X ( ˆ 1 ( )) 2 =0 q (9.2) ˆ 2 ( ) (9.3) for windows =. The rolling mean and variance estimates at time with window width are the usual sample estimates using the most recent observations. Provided the windows are rolled through the sample one observation at a time, there will be + 1 rolling estimates of each parameter. The rolling mean ˆ ( ) is sometime called a -period simple moving average. Computing Rolling Descriptive Statistics Using the S-PLUS Function aggregateseries Consider the monthly continuously compounded returns on Microsoft stock over the period February 1990 through January 2001 computed from the monthly closing prices in the S+FinMetrics timeseries singleindex.dat > msft.ret = getreturns(singleindex.dat[,"msft"]) > start(msft.ret) [1] Feb 1990 > end(msft.ret) [1] Jan 2001 > nrow(msft.ret) [1] month rolling mean and standard deviations may be computed easily using the S-PLUS function aggregateseries 1 > roll.mean = aggregateseries(msft.ret,moving=24,adj=1,fun=mean) > roll.sd = aggregateseries(msft.ret,moving=24,adj=1,fun=stdev) The arguments moving=24, adj=1 and FUN=mean(stdev) tell the S-PLUS function aggregateseries to evaluate the mean (stdev) function on a rolling window of size 24 and to adjust the output positions to the end of each window. roll.mean and roll.sd are timeseries objects containing 109 rolling estimates: > class(roll.mean) 1 aggregateseries is the method function of the generic S-PLUS function aggregate for objects of class timeseries and signalseries.
4 Rolling Analysis of Time Series Returns Rolling mean Rolling sd FIGURE 9.1. Monthly returns on Microsoft stock along with 24 month rolling means and standard deviations. [1] "timeseries" > nrow(roll.mean) [1] 109 > roll.mean[1:5] Positions 1 Jan Feb Mar Apr May The monthly returns along with the rolling means and standard deviations may be plotted together using > plot(msft.ret,roll.mean,roll.sd,plot.args=list(lty=c(1,3,4))) > legend(0,-0.2,legend=c("returns","rolling mean","rolling sd"), + lty=c(1,3,4)) which is illustrated in Figure 9.1. The 24 month rolling estimates ˆ (24) and ˆ (24) clearly vary over the sample. The rolling means start out around 5%, fall close to 0% in 1994, rise again to about 5% until 2000 and then fall below 0%. The rolling ˆ (24) values start out around 10%, fall slightly until 1997 and then begin to steadily rise for the rest of the sample. The
5 9.2 Rolling Descriptive Statistics 317 end of sample value of ˆ (24) is almost twice as big as the beginning of sample value. The moving average estimates (9.1) - (9.3) are one-sided backward looking estimates. The S-PLUS function aggregateseries may also compute two-sided asymmetric moving averages by specifying a value between 0 and 1 for the optional argument adj. For example, to compute a 24 month symmetric two-sided simple moving average set adj=0.5 > roll.mean.5 = aggregateseries(msft.ret,moving=24,adj=0.5, + FUN=mean) > roll.mean.5[1:5] Positions MSFT Feb Mar Apr May Jun Instead of computing the rolling means and standard deviations in separate calls to aggregateseries, they can be computed in a single call by supplying a user-written function to aggregateseries that simply returns the mean and standard deviation. One such function is > mean.sd = function (x) { > tmp1 = mean(x) > tmp2 = stdev(x) > ans = concat(tmp1,tmp2) > ans > } The call to aggregateseries to compute the rolling means and standard deviations is then > roll.mean.sd = aggregateseries(msft.ret,moving=24,adj=1, + FUN=mean.sd,colnames=c("mean","sd")) > roll.mean.sd[1:5,] Positions mean sd Jan Feb Mar Apr May Notice that the column names of roll.mean.sd are specified using optional argument colnames=c("mean","sd") in the call to aggregateseries.
6 Rolling Analysis of Time Series Standard error bands around the rolling estimates of and may be computed using the asymptotic formulas cse(ˆ ( )) = ˆ ( ) c SE(ˆ ( )) = ˆ ( ) 2 Using the rolling estimates in roll.mean.sd, the S-PLUS commands to compute and plot the rolling estimates along with approximate 95% confidence bands are > lower.mean = roll.mean.sd[,"mean"]- + 2*roll.mean.sd[,"sd"]/sqrt(24) > upper.mean = roll.mean.sd[,"mean"]+ + 2*roll.mean.sd[,"sd"]/sqrt(24) > lower.sd = roll.mean.sd[,"sd"]- + 2*roll.mean.sd[,"sd"]/sqrt(2*24) > upper.sd = roll.mean.sd[,"sd"]+ + 2*roll.mean.sd[,"sd"]/sqrt(2*24) > par(mfrow=c(2,1)) > plot(roll.mean.sd[,"mean"],lower.mean,upper.mean, + main="24 month rolling means",plot.args=list(lty=c(1,2,2))) > plot(roll.mean.sd[,"sd"],lower.sd,upper.sd, + main="24 month rolling standard deviations", + plot.args=list(lty=c(1,2,2))) Figure 9.2 shows the results. In general, the rolling ˆ (24) values are estimated much more precisely than the rolling ˆ (24) values. The rolling means, variances and standard deviations are not the only rolling descriptive statistics of interest, particularly for asset returns. For risk management purposes, one may be interested in extreme values. Therefore, one may want to compute rolling minima and maxima. These may be computed using aggregateseries with FUN=min and FUN=max. Computing Rolling Means, Variances, Maxima and Minima Using the S+FinMetrics Functions SMA, rollvar, rollmax and rollmin The S-PLUS function aggregateseries is extremely flexible but not efficient for computing rolling means, variances, maxima and minima. The S+FinMetrics functions SMA (simple moving average), rollvar, rollmax and rollmin implement e cient algorithms for computing rolling means, variances, maxima and minima. The arguments expected by these functions are > args(sma) function(x, n = 9, trim = T, na.rm = F) > args(rollvar) function(x, n = 9, trim = T, unbiased = T, na.rm = F)
7 9.2 Rolling Descriptive Statistics month rolling means month rolling standard deviations FIGURE month rolling estimates of ˆ (24) and ˆ (24) for Microsoft with 95% confidence bands. > args(rollmax) function(x, n = 9, trim = T, na.rm = F) > args(rollmin) function(x, n = 9, trim = T, na.rm = F) where x is a vector or univariate timeseries, n is the window width, trim determines if start-up values are trimmed from the output series and na.rm determines if missing values are to be removed. For rollvar, the 1 option unbiased=t computes the unbiased variance estimator using 1 as a divisor and unbiased=f computes the biased estimator using 1. To illustrate the use of SMA, rollvar, rollmax and rollmin 24 month rolling means, standard deviations, maxima and minima from the monthly returns on Microsoft are computed as > roll2.mean = SMA(msft.ret,n=24) > roll2.sd = sqrt(rollvar(msft.ret,n=24)) > roll.max = rollmax(msft.ret,n=24) > roll.min = rollmin(msft.ret,n=24) These estimates are identical to those computed using aggregateseries, but the computation time required is much less. To compare the compu-
8 Rolling Analysis of Time Series tation times in seconds within S-PLUS 6 for Windows the S-PLUS function dos.time may be used 2 > dos.time(sma(msft.ret,n=24)) [1] 0.05 > dos.time(aggregateseries(msft.ret,moving=24,adj=1,fun=mean)) [1] 4.23 > dos.time(sqrt(rollvar(msft.ret,n=24))) [1] 0.06 > dos.time(aggregateseries(msft.ret,moving=24,adj=1,fun=stdev)) [1] 6.76 Example 49 Computing rolling standard deviations from high frequency returns Rolling estimates of 2 and based on high frequency continuously compounded return data are often computed assuming the mean return is zero ˆ 2 ( ) = 1 X =1 2 In this case the rolling estimates of 2 may be computed using the computationally e cient S+FinMetrics function SMA. For example, consider computing rolling estimates of based on the daily continuously compounded returns for Microsoft over the 10 year period from January 1991 through January The squared return data is computed from the daily closing price data in the S+FinMetrics timeseries object DowJones30 > msft.ret2.d = getreturns(dowjones30[,"msft"], + type="continuous")^2 Rolling estimates of based on 25, 50 and 100 day windows are computed using SMA > roll.sd.25 = sqrt(sma(msft.ret2.d,n=25)) > roll.sd.50 = sqrt(sma(msft.ret2.d,n=50)) > roll.sd.100 = sqrt(sma(msft.ret2.d,n=100)) The rolling estimates ˆ ( ) are illustrated in Figure 9.3 created using > plot(roll.sd.25,roll.sd.50,roll.sd.100, + plot.args=(list(lty=c(1,3,4)))) > legend(0,0.055,legend=c("n=25","n=50","n=100"), + lty=c(1,3,4)) 2 The computations are carried out using S-PLUS 6 Professional Release 2 on a Dell Inspiron MHz Pentium II with 96MB RAM.
9 9.2 Rolling Descriptive Statistics n=25 n=50 n= FIGURE , 50 and 100 day rolling estimates of for the daily returns on Microsoft stock. There is considerable variation in the rolling estimates of daily, and there appears to be a seasonal pattern with higher volatility in the summer months and lower volatility in the winter months Bivariate Statistics Consider now the analysis of two univariate time series 1 and 2 over thesamplefrom =1. To assess if the covariance and correlation between 1 and 2 isconstantovertheentiresamplethe -period rolling sample covariances and correlations ˆ 12 ( ) = ˆ 12 ( ) = may be computed. 1 1 X ( 1 ˆ 1 1 ( ))( 2 ˆ 2 ( )) =0 ˆ 12 ( ) ˆ 1 ( )ˆ 2 ( ) Example month rolling correlations between the returns on Microsoft and the S&P 500 index Consider the monthly continuously compounded returns on Microsoft stock and S&P 500 index over the period February 1990 through Jan-
10 Rolling Analysis of Time Series uary 2001 computed from the monthly closing prices in the S+FinMetrics timeseries objectsingleindex.dat > ret.ts = getreturns(singleindex.dat,type="continuous") > colids(ret.ts) [1] "MSFT" "SP500" The 24-month rolling correlations between the returns on Microsoft and S&P 500 index may be computed using the S-PLUS function aggregateseries with a user specified function to compute the correlations. One such function is > cor.coef = function(x) cor(x)[1,2] The 24-month rolling correlations are then computed as > smpl = positions(ret.ts)>=start(roll.cor) > roll.cor = aggregateseries(ret.ts,moving=24,together=t, + adj=1,fun=cor.coef) > roll.cor[1:5] Positions 1 Jan Feb Mar Apr May In the call to aggregateseries the argument together=t passes all of the columns of ret.ts to the function cor.coef instead of passing each column separately. The monthly returns on Microsoft and the S&P 500 index along with the rolling correlations are illustrated in Figure 9.4 which is created by > par(mfrow=c(2,1)) > plot(ret.ts[smpl,],main="returns on Microsoft and + S&P 500 index", + plot.args=list(lty=c(1,3))) > legend(0,-0.2,legend=c("microsoft","s&p 500"), + lty=c(1,3)) > plot(roll.cor,main="24-month rolling correlations") At the beginning of the sample, the correlation between Microsoft and the S&P 500 is fairly high at 0 6. The rolling correlation declines steadily, hits
11 9.2 Rolling Descriptive Statistics 323 Returns on Microsoft and S&P 500 index Microsoft S&P month rolling correlations FIGURE 9.4. Returns on Microsoft and the S&P 500 index along with 24-month rolling correlations. a low of about 0 1 at the beginning of 1997, then increases quickly to 0 6 and stabilizes at this value through the end of the sample Exponentially Weighted Moving Averages The rolling descriptive statistics described in the previous sections are based on equally weighted moving averages of an observed time series.equally weighted moving averages are useful for uncovering periods of instability but may produce misleading results if used for short-term forecasting. This is because equally weighted averages are sensitive (not robust) to extreme values. To illustrate, consider = 100 observations from a simulated time series (0 1) with an outlier inserted at = 20: i.e., 20 = 10. The data and rolling values ˆ (10) and ˆ (10) are illustrated in Figure 9.5. Notice how the outlier at = 20 inflates the rolling estimates ˆ (10) and ˆ (10) for 9 periods. 3 Approximate standard errors for the rolling correlations may be computed using d (ˆ ( )) = s 1 ˆ ( ) 2
12 Rolling Analysis of Time Series Rolling mean Rolling sd FIGURE 9.5. E ect of an outlier on equally weighted rolling estimates of and. To mitigate the e ects of extreme observations on moving average estimates the observations in a rolling window can be weighted di erently. A common weighting scheme that puts more weight on the most recent observations is based on exponentially declining weights and the resulting weighted moving average is called an exponentially weighted moving average (EWMA). An -period EWMA of a time series is defined as 1 X 1 ( ) = = P 1 =0 1 =0 where 0 1 is the decay parameter. As, 0, 0, and the EWMA converges to ( ) =(1 ) X (9.4) so the EWMA may be defined independently of the window width. The EWMA in (9.4) may be e ciently computed using the recursion =0 ( ) =(1 ) + 1 ( ) (9.5) From (9.5), it is clear that the closer is to one the more weight is put on the the previous period s estimate relative to the current period s observation.
13 9.2 Rolling Descriptive Statistics 325 Therefore, may be interpreted as a persistence parameter. The recursive formula (9.5) requires a starting value 0 ( ). Common choices are the first observation and the average over a local window. EWMA estimates of descriptive statistics for continuously compounded asset returns are usually computed using high frequency data with the assumption that the mean returns are zero. Accordingly, the EWMA estimates of 2 and 12 are 2 ( ) = (1 ) ( ) (9.6) 12 ( ) = (1 ) ( ) where denotes the continuously compounded return on an asset. The EWMA estimate of volatility (9.6) is in the form of a IGARCH(1,1) model without an constant term. Computing EWMA Estimates Using the S+FinMetrics Function EWMA EWMA estimates based on (9.5) may be e ciently computed using the S+FinMetrics function EWMA. The arguments expected by EWMA are > args(ewma) function(x, n = 9, lambda = (n - 1)/(n + 1), start = "average", na.rm = F) where x is the data input, n is a window width, lambda is the decay parameter and start specifies the starting value for the recursion (9.5). The implied default value for is 0 8. Valid choices for start are "average" and "first". TheuseofEWMA is illustrated with the following examples. Example 51 Outlier example Consider again the outlier example data shown in Figure 9.5. EWMA estimates of for =0 95, 0 75 and 0 5 are computed and plotted in Figure 9.6 using > ewma95.mean = EWMA(e,lambda=0.95) > ewma75.mean = EWMA(e,lambda=0.75) > ewma50.mean = EWMA(e,lambda=0.5) > tsplot(ewma95.mean,ewma75.mean,ewma50.mean) > legend(60,4,legend=c("lamda=0.95","lamda=0.75", + "lamda=0.50"),lty=1:3) Notice that the EWMA estimates with =0 95, which put the most weight on recent observations, are only minimally a ected by the one-time outlier whereas the EWMA estimates with =0 75 and 0 5 increase sharply at thedateoftheoutlier. Example 52 EWMA estimates of standard deviations and correlations from high frequency data
14 Rolling Analysis of Time Series lamda=0.95 lamda=0.75 lamda= FIGURE 9.6. EWMA estimates of for outlier example data. EWMA estimates of asset return standard deviations computed from high frequency data are commonly used as local or short-term estimates of volatility. Similarly, EWMA estimates of pairwise return correlations are often used to infer local interactions between assets. Indeed, J.P. Morgan s RiskMetrics r methodology is based on EWMA estimates of volatility and correlation. To illustrate, consider computing EWMA estimates of volatility and correlation with =0 95 using daily closing price data on Microsoft and IBM stock over the five year period : > smpl = (positions(dowjones30) >= timedate("1/1/1996")) > msft.ret.d = getreturns(dowjones30[smpl,"msft"]) > ibm.ret.d = getreturns(dowjones30[smpl,"ibm"]) > msft.ewma95.sd = sqrt(ewma(msft.ret.d^2,lambda=0.95)) > ibm.ewma95.sd = sqrt(ewma(ibm.ret.d^2,lambda=0.95)) > cov.ewma95 = EWMA(msft.ret.d*ibm.ret.d,lambda=0.95) > cor.ewma95 = cov.ewma95/(msft.ewma95.sd*ibm.ewma95.sd) > par(mfrow=c(2,1)) > plot(msft.ewma95.sd,ibm.ewma95.sd, + main="rolling EWMA SD values", + plot.args=list(lty=c(1,3))) > legend(0,0.055,legend=c("microsoft","ibm"),lty=c(1,3)) > plot(cor.ewma95,main="rolling EWMA correlation values") Figure 9.7 shows the EWMA estimates of volatility and correlation. Daily
15 9.2 Rolling Descriptive Statistics 327 Rolling EWMA SD values Microsoft IBM Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q Rolling EWMA correlation values Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q FIGURE 9.7. EWMA estimates of daily volatility and correlation with =0 95. volatility for Microsoft and IBM varies considerably, exhibiting apparent seasonality and an increasing trend. The daily correlations fluctuate around 0 5 forthefirstpartofthesampleandthendroptoabout0 1 attheend of the sample Moving Average Methods for Irregularly Spaced High Frequency Data The use of moving average and rolling methods on irregularly spaced or inhomogeneous high frequency time series data requires care. The moving average tools discussed so far are designed to work on regularly spaced or homogeneous time series data. Two approaches have been used to apply moving average methods to irregularly spaced data. The first approach converts the irregularly spaced data to regularly spaced data and then applies the tools for appropriate for regularly spaced data. The second approach, pioneered by Zumbach and Müller (2001), utilizes moving average methods specifically designed for irregularly spaced data. Converting Inhomogeneous Time Series to Homogeneous Time Series To illustrate the conversion of a inhomogeneous time series to a homogeneous time series, consider the transactions level data on 3M corporation
16 Rolling Analysis of Time Series stock for December 1999 in the S+FinMetrics data frame highfreq3m.df. As in Chapter 2, a timeseries object may be created using > td = timedate(julian=(highfreq3m.df$trade.day-1), + ms=highfreq3m.df$trade.time*1000, + in.origin=c(month=12,day=1,year=1999),zone="gmt") > hf3m.ts = timeseries(pos=td,data=highfreq3m.df) > hf3m.ts[1:20,] Positions trade.day trade.time trade.price 12/1/99 9:33:32 AM /1/99 9:33:34 AM /1/99 9:33:34 AM /1/99 9:34:45 AM /1/99 9:34:47 AM The trade time is measured in second from midnight. Notice that many of the first trades took place at the same price and that there are instances of multiple transactions at the same time. The analysis is limited to the first three trading days of December > smpl = positions(hf3m.ts) < timedate("12/4/1999") > hf3m.ts = hf3m.ts[smpl,] The data in hf3m.ts may be made homogeneous by use of an interpolation method to align the irregularly spaced time sequence and associated data to a regularly spaced time sequence. For example, consider creating a homogeneous time series of five minute observations. Since the data in hf3m.ts may not be recorded at all five minute intervals, some interpolation scheme must be used to create the data. Two common interpolation schemes are: previous tick interpolation, and linear interpolation. The former method uses the most recent values, and the latter method uses observations bracketing the desired time. The S-PLUS functions align may be used to perform these interpolation schemes. The function align takes a timeseries and a timedate vector of new positions to align to. An easy way to create a timedate sequenceof five minute observations covering the trading hours for 3M stock is to use the S-PLUS function aggregateseries as follows: > tmp = aggregateseries(hf3m.ts,by="minutes",k.by=5,fun=mean) The positions slot of timeseries tmp contains the desired five minute timedate sequence: > positions(tmp[1:4]) [1] 12/1/99 9:30:00 AM 12/1/99 9:35:00 AM [3] 12/1/99 9:40:00 AM 12/1/99 9:45:00 AM
17 9.2 Rolling Descriptive Statistics 329 To align the 3M price data to the five minute time sequence using previous tick interpolation use > hf3m.5min = align(hf3m.ts[,"trade.price"], positions(tmp), + how="before") > hf3m.5min[1:5,] Positions trade.price 12/1/99 9:30:00 AM NA 12/1/99 9:35:00 AM /1/99 9:40:00 AM /1/99 9:45:00 AM /1/99 9:50:00 AM To align the price data using linear interpolation use > hf3m.5min = align(hf3m.ts[,"trade.price"], positions(tmp), + how="interp") > hf3m.5min[1:5,] Positions trade.price 12/1/99 9:30:00 AM NA 12/1/99 9:35:00 AM /1/99 9:40:00 AM /1/99 9:45:00 AM /1/99 9:50:00 AM The usual methods for the analysis of homogeneous data may now be performed on the newly created data. For example, to compute and plot an EWMA of price with =0 9 use > hf3m.5min.ewma = EWMA(hf3M.5min,lambda=0.9,na.rm=T) > plot(hf3m.5min.ewma) The resulting plot is shown in Figure 9.8. Inhomogeneous Moving Average Operators Zumbach and Müller (2001) presented a general framework for analyzing inhomogeneous time series. A detailed exposition of this framework is beyond the scope of this book. Only a brief description of the most fundamental inhomogeneous time series operators is presented and reader is referred to Zumbach and Müller (2001) or Dacorogna et. al. (2001) for technical details and further examples. Zumbach and Müller (2001) distinguished between microscopic and macroscopic operations on inhomogeneous time series. A microscopic operation depends on the actual sampling times of the time series, whereas a macroscopic operator extracts an average over a specified range. Macroscopic operations on high frequency inhomogeneous time series are advantageous because they are essentially immune to small variations in the individual
18 Rolling Analysis of Time Series :00 12:00 2:00 4:00 10:00 12:00 2:00 4:00 10:00 12:00 2:00 4:00 Dec Dec Dec FIGURE 9.8. EWMA of five minute prices on 3M stock. data observations and are better behaved and more robust than microscopic operations. The S+FinMetrics functions for analyzing inhomogeneous time series are based on a subset of the macroscopic operators discussed in Zumbach and Müller (2001). These functions are summarized in Table 9.1. In general, given a continuous time signal ( ), a macroscopic operator can be defined as a convolution with a causal kernel ( ): ( ) = Z 0 ( ) ( ) (9.7) for 0. Note that for a causal kernel ( ) = 0 for any 0, since future information cannot be utilized. In addition, it is usually required that Z 0 ( ) =1 so that the operator can be interpreted as a weighted moving average of the signal ( ). For example, the exponential moving average (EMA) operator is defined with an exponential kernel: and it is easy to verify that ( ) = Z 0 =1 (9.8)
19 Function iema ima imnorm imvar imsd imskewness imkurtosis imcor idiff iema.kernel ima.kernel 9.2 Rolling Descriptive Statistics 331 Description Inhomogeneous EWMA Inhomogeneous moving average Inhomogeneous moving norm Inhomogeneous moving variance Inhomogeneous moving SD Inhomogeneous moving skewness Inhomogeneous moving kurtosis Inhomogeneous moving correlation Inhomogeneous moving di erence Kernel function for iema Kernel function for ima TABLE 9.1. S+FinMetrics inhomogeneous time series function The parameter can be shown to be the range of the EMA kernel. 4 In reality, a time series signal is usually observed at discrete times. In addition, financial transactions level data are usually observed on irregular intervals. For the EMA operator, Zumbach and Müller suggest to use the following iterative formula to compute a discrete time approximation to (9.7): 5 EMA( ; ) = EMA( 1 ; )+(1 ) ( )+( )[ ( ) ( 1 )] (9.9) where = =(1 ) and =( 1 ) Note that when is very small, 1+ and it can be shown that. In this case, the above formula reduces to the same iteration for evenly spaced EWMA operator. Using the basic EMA operator, di erent operators can be constructed. For example, Zumbach and Müller suggested that the basic EMA operator can be iterated a finite number of times to obtain an operator with a di erent kernel, denoted EMA( ). The EMA( ) operator can be summed to obtain the analog of the moving average (MA) operator for inhomogeneous time series: MA( )= 1 X EMA( ) =1 where =2 ( + 1) so that the range of MA( )isequalto, independent of. 4 The range is defined as the first moment of the kernel, i.e., R 0 ( ). 5 This formula is actually obtained by assuming linear interpolation between points. If previous tick interpolation is used, then =1.
20 Rolling Analysis of Time Series The S+FinMetrics functions iema.kernel and ima.kernel can be used to plot the kernel functions for EMA and MA operators, while iema and ima can be used to compute the EMA and MA operator for inhomogeneous time series. For example, the following code plots the EMA( )andma( ) kernel functions for =1and =1 2 10: > par(mfrow=c(2,1)) > knl = iema.kernel(1, 1) > plot(knl, type="l", main="ema Kernel") > for(i in 2:10) { > knl = iema.kernel(1, i) > lines(knl, lty=i) > } > knl = ima.kernel(1, 1) > plot(knl, type="l", main="ma Kernel") > for(i in 2:10) { > knl = ima.kernel(1, i) > lines(knl, lty=i) > } > par(mfrow=c(1,1)) and the resulting plot is shown in Figure 9.9. From the figure, it can be seen that when =1,EMA( )andma( 1) are equivalent by definition. However, as gets larger, the kernel function of EMA( ) becomes flatter, while the kernel function of MA( 1) becomes more like a rectangle. In fact, Zumbach and Müller showed that the range of EMA( )is, whilethe range of MA( 1) becomes a constant for 2 as.asaresult,to obtain an MA operator with window width equal to 9 (which corresponds to a range of 8, i.e., using 8 observations in the past), one sets =4and to a large number: > ima(1:100, 4, iter=10) [1] [8] [15] [22] [29] [36] [43] [50] [57] [64] [71] [78] [85]
21 9.2 Rolling Descriptive Statistics 333 EMA Kernel knl$y knl$x MA Kernel knl$y knl$x FIGURE 9.9. Kernel function for EMA and MA operators for inhomogeneous time series. [92] [99] The S+FinMetrics ima function requires at least two arguments: the first is the input series, and the second specifies the value for. Inthe above example, the optional argument iter is used to specify the number of iterations ; in addition, since the input series is not a timeseries object, ima treats it as evenly spaced and is in units of observations. If the input series is a timeseries object, then should be specified in units of business days. To illustrate the usage of ima in this case, first create a timeseries object representing the transaction price data from hf3m.ts created earlier 6 : > smpl2 = positions(hf3m.ts) < timedate("12/02/1999") > hf3m.1min = aggregateseries(hf3m.ts[smpl2,"trade.price"], + by="minutes", FUN=mean) > hf3m.1min[103:110] Positions trade.price 12/1/ :28:00 AM The S-PLUS function aggregateseries is used to eliminate multiple transactions that occur at the same time. Currently, the S+FinMetrics inhomogeneous time series functions do not work if there are multiple observations with the same time stamp.
22 Rolling Analysis of Time Series :30 10:00 11:00 12:00 1:00 1:30 2:00 2:30 3:00 3:30 4:00 Dec FIGURE minute moving average computed from ima for 3M stock prices. 12/1/ :30:00 AM /1/ :32:00 AM /1/ :33:00 AM /1/ :34:00 AM /1/ :36:00 AM /1/ :37:00 AM /1/ :39:00 AM Note that the data is not evenly spaced. To obtain a 20 minute moving average of hf3m.1min, set =10 (6 5 60) because there are 6.5 hours for the default trading hours (from 9:30 AM to 4:00 PM): > hf3m.ma = ima(hf3m.1min, 10/(6.5*60), iter=10) > plot(seriesmerge(hf3m.1min, hf3m.ma), + plot.args=list(lty=c(1,3))) The original data and the 20 minutes moving average hf3m.ma are plotted together in Figure Rolling Analysis of Miscellaneous Functions The standard analysis tools for time series require the data to be stationary. Rolling analysis of descriptive statistics can give an indication of structural change or instability in the moments of a time series. Level shifts and
23 9.2 Rolling Descriptive Statistics 335 S&P 500 Annual D/P D/P FIGURE S & P 500 annual dividend/price ratio. variance changes can usually be detected by rolling analyses. The S-PLUS function aggregateseries may be used to perform rolling analysis with a variety of functions to uncover periods of instability and nonstationarity. The following example illustrates the use of aggregateseries with the S+FinMetrics function unitroot to determine periods of unitroot nonstationarity of a time series. Example 53 Rolling unit root tests applied to annual dividend/price ratio Predictive regressions of asset returns on valuation ratios like dividend/ price or earnings/price require the valuation ratios to be stationary or, more generally, (0), for the regressions to be statistically valid. Since asset returns are (0), if valuation ratios are (1) then the predictive regressions are unbalanced and the results will be nonsensical. To illustrate, consider the annual dividend-price (D/P) ratio on S&P 500 index taken from the S+FinMetrics timeseries shiller.annual > dp.ratio = shiller.annual[,"dp.ratio"] > plot(dp.ratio,main="s&p 500 Annual D/P",ylab="D/P") shown in Figure For most of the sample the annual D/P looks to be (0) with mean near 5%. However, there are long periods when the ratio stays above or below 5% suggesting periods of non-mean reverting (nonstationary) behavior. Also, there is a clear drop in the ratio at the
24 Rolling Analysis of Time Series end of the sample suggesting a fundamental change in the mean. Rolling unit root tests may be used to uncover periods of nonstationary behavior in D/P. To compute rolling ADF t-tests and normalized bias statistics using the S-PLUS function aggregateseries create the following function adf.tests > adf.tests = function(x, trend = "c", lags = 3) > { > tmp1 = unitroot(x,trend=trend,lags=lags,statistic="t") > tmp2 = unitroot(x,trend=trend,lags=lags,statistic="n") > ans = concat(tmp1$sval,tmp2$sval) > ans > } The function adf.tests takes a time series x,passesittothes+finmetrics function unitroot twice and returns the ADF t-statistic and normalized bias statistic. Three lags are chosen for the tests based on a full sample analysis using the Ng-Perron backward selection procedure. Rolling unit root tests using a window of 50 years are then computed using the function aggregateseries: > roll.adf = aggregateseries(dp.ratio,moving=50,adj=1, + FUN=adf.tests,colnames=c("t.test","norm.bias")) The object roll.adf is a timeseries containing the rolling unit root tests > roll.adf[1:3,] Positions t.test norm.bias Dec Dec Dec Figure 9.12 is created using > cvt.05 = qunitroot(0.05,trend="c",n.sample=50) > cvn.05 = qunitroot(0.05,trend="c",statistic="n", + n.sample=50) > par(mfrow=c(2,1)) > plot(roll.adf[,"t.test"], reference.grid=f, + main="rolling ADF t-statistics") > abline(h=cvt.05) > plot(roll.adf[,"norm.bias"], reference.grid=f, + main="rolling ADF normalized bias") > abline(h=cvn.05) and shows the rolling unit root tests along with 5% critical values. The results indicate that D/P is stationary mainly in the middle of the sample and becomes nonstationary toward the end of the sample. However, some
25 9.3 Technical Analysis Indicators 337 Rolling ADF t-statistics Rolling ADF normalized bias FIGURE year rolling ADF t-statistics and normalized bias statistics for the S&P 500 dividend-price ratio. care must be used when interpreting the significance of the rolling unit root tests. The 5% critical values shown in the figures are appropriate for evaluating a single test and not a sequence of rolling tests. Critical values appropriate for rolling unit root tests are given in Banerjee, Lumsdaine and Stock (1992). 9.3 Technical Analysis Indicators Technical analysis is, perhaps, the most widely used method for analyzing financial time series. Many of the most commonly used technical indicators are based on moving average techniques so it is appropriate to include a discussion of them here. A comprehensive survey of technical analysis is beyond the scope of this book. Useful references are Colby and Meyers (1988) and Bauer and Dahlquist (1999). The S+FinMetrics technical analysis indicators are implemented using the definitions in Colby and Meyers (1988). Broadly, the main technical indicators can be classified into four categories: price indicators, momentum indicators and oscillators, volatility indicators and volume indicators.
26 Rolling Analysis of Time Series Price Indicators Function TA.Bollinger TA.medprice TA.typicalPrice TA.wclose Description Bollinger band Median price Typical price Weighted close TABLE 9.2. S+FinMetrics price indicators The S+FinMetrics price indicator functions are summarized in Table 9.2. To illustrate the use of these functions, consider the calculation of the typical daily price, which is defined to be the average of the highest, lowest and closing prices during the day, using the S+FinMetrics function TA.typicalPrice. The arguments expected by TA.typicalPrice are > args(ta.typicalprice) function(high, low, close) In order to compute this indicator, a data set with high, low and close prices is required. To compute the typical price for the Dow Jone Industrial Average over the period January 1, 1990 to February 20, 1990 using the S-PLUS timeseries djia, use > smpl = positions(djia) >= timedate("1/1/1990") > dj = djia[smpl,] > tp.dj = TA.typicalPrice(dj[,"high"], + dj[,"low"],dj[,"close"]) > class(tp.dj) [1] "timeseries" The typical price along with the high, low, open and close prices may be plotted together using > plot.out = plot(dj[,1:4],plot.type="hloc") > lines.render(positions(tp.dj),seriesdata(tp.dj), + x.scale=plot.out$scale) and the resulting plot is shown in Figure Momentum Indicators and Oscillators The S+FinMetrics momentum indicator and oscillator functions are summarized in Table 9.3. For example, consider the popular moving average convergence divergence (MACD) indicator. This is an oscillator that represents the di erence between two exponential moving averages. A signal line is computed as the exponential moving average of MACD. When the oscillator crosses above the signal line, it indicates a buy signal; when
27 9.3 Technical Analysis Indicators 339 Dow Jones Industrial Average Jan 8 Jan 15 Jan 22 Jan 29 Feb 5 Feb 12 Feb FIGURE Typical price along with high, low, open and close prices for the Dow Jones Industrial Average. the oscillator crosses below the signal line, it indicates a sell signal. The S+FinMetrics function TA.macd computes the MACD and has arguments > args(ta.macd) function(x, n.short = 12, n.long = 26, n.signal = 9, start = "average", na.rm = F) where x is a price series, n.short is a positive integer specifying the number of periods to be used for calculating the short window EWMA, n.long is a positive integer specifying the number of periods to be used for the calculating the long window EWMA, and n.signal is a positive integer Function Description TA.accel Acceleration TA.momentum Momentum TA.macd Moving average convergence divergence TA.roc Pricerateofchange TA.rsi Relative strength index TA.stochastic Stochastic Oscillator TA.williamsr Williams %R TA.williamsad Williams accumulation distribution TABLE 9.3. S+FinMetrics momentum indicators
28 Rolling Analysis of Time Series MACD Signal Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct FIGURE MACD and signal for daily closing prices on Microsoft stock. Function TA.adoscillator TA.chaikinv TA.garmanKlass Description accumulation/distribution oscillator Chaikin s volatility Garman-Klass estimator of volatility TABLE 9.4. S+FinMetrics volatility indicator functions giving the number of periods for the signal line. To compute and plot the MACD using daily closing prices on Microsoft use > msft.macd = TA.macd(msft.dat[,"Close"]) > colids(msft.macd) = c("macd","signal") > plot(msft.macd,plot.args=list(lty=c(1:3))) > legend(0.5,-3,legend=colids(msft.macd), + lty=c(1,3)) Figure 9.14 shows the plot of the MACD and signal Volatility Indicators The S+FinMetrics volatility indicator functions are summarized in Table 9.4. These functions compute estimates of volatility based on high, low, open and close information. For example, consider Chaikin s volatility indicator computed using the S+FinMetrics function TA.chaikin. It com-
29 9.3 Technical Analysis Indicators Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct FIGURE Chainkin s volatility estimate using the daily prices on Microsoft stock. pares the spread between a security s high and low prices and quantifies volatility as a widening of the range between the high and low price. Let and represent the highest and lowest price for period, respectively. Chaikin s volatility is calculated as the percentage change in the EWMA of = : 100 where is a positive number specifying the number of periods to use for computing the percentage change. To compute and plot Chaikin s volatility with = 10 and a ten day EWMA for the daily high and low price for Microsoft stock use > msft.cv = TA.chaikinv(msft.dat[,"High"], + msft.dat[,"low"],n.range=10,n.change=10) > plot(msft.cv) Figure 9.15 shows the estimated Chaikin volatility Volume Indicators The S+FinMetrics volume indicator functions are summarized in Table 9.5. These indicators relate price movements with volume movements. To illustrate, consider the S+FinMetrics function TA.adi which computes the
30 Rolling Analysis of Time Series Function Description TA.adi Accumulation/distribution indicator TA.chaikino Chaikin oscillator TA.nvi Negative volume index TA.pvi Positive volume index TA.obv On balance volume TA.pvtrend Price-volume trend TABLE 9.5. S+FinMetrics volume indicator functions accumulations/distribution (A/D) indicator. This indicator associates price changes with volume as follows. Let denote the closing price, the highest price, the lowest price, and the trading volume for time. The A/D indicator is the cumulative sum = X =1 ( ) When moves up, it indicates that the security is being accumulated; when it moves down it indicates that the security is being distributed. To compute and plot the A/D indicator for Microsoft stock use > msft.adi = TA.adi(msft.dat[,"High"],msft.dat[,"Low"], + msft.dat[,"close"],msft.dat[,"volume"]) > plot(msft.adi) The resulting plot is shown in Figure Rolling Regression For the linear regression model, rolling analysis may be used to assess the stability of the model s parameters and to provide a simple poor man s time varying parameter model. For a window of width,therolling linear regression model may be expressed as y ( ) =X ( ) ( )+ ( ) = (9.10) where y ( ) isan( 1) vector of observations on the response, X ( ) is an ( ) matrix of explanatory variables, ( ) isan( 1) vector of regression parameters and ( ) isan( 1) vector of error terms. The observations in y ( ) andx ( ) arethe most recent values from times +1 to. It is assumed that. The rolling least squares estimates
31 9.4 Rolling Regression 343-5e+008-4e+008-3e+008-2e+008-1e+008 Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct FIGURE Accumulation/distribution indicator for Microsoft stock. are ˆ ( ) = [X ( ) 0 X ( )] 1 X ( ) 0 y ( ) ˆ 2 1 ( ) = ˆ ( ) 0ˆ ( ) 1 h i 0 h i = y ( ) X ( )ˆ ( ) y ( ) X ( )ˆ ( ) [ (ˆ ( )) = ˆ 2 ( ) [X ( ) 0 X ( )] Estimating Rolling Regressions Using the S+FinMetrics Function rollols The S+FinMetrics function rollols may be used to estimate general rolling regression models. rollols is based on the S+FinMetrics regression function OLS and implements e cient block updating algorithms for fast computation of rolling estimates. The arguments expected by rollols are > args(rollols) function(formula, data, subset, na.rm = F, method = "fit", contrasts = NULL, start = NULL, end = NULL, width = NULL, incr = 1, tau = 1e-010, trace = T,...)
32 Rolling Analysis of Time Series which are similar to those used by OLS. Inparticular,AR may be used in formulas to allow for lagged dependent variables and tslag and pdl may be used to allow for lagged independent variables. The argument width determines the rolling window width and the argument incr determines the increment size by which the windows are rolled through the sample. The output of rollols is an object of class rollols for which there are print, summary, plot and predict methods and extractor function coefficients. The use of rollols is illustrated with the following example. Example 54 Rolling estimation of CAPM for Microsoft Consider the estimation of the capital asset pricing model (CAPM) for an asset using rolling regression on the excess returns market model = + ( )+ (0 2 ) (9.11) where denotes the monthly return on an asset, denotes the 30 day T-bill rate, and denotes the monthly return on a market portfolio proxy. The coe cient measures the magnitude of market risk, and the CAPM imposes the restriction that = 0. Positive values of indicate an average excess return above that predicted by the CAPM and negative values indicate an average return below that predicted by the CAPM. Rolling regression can be used to assess the stability of the CAPM regression over time and to uncover periods of time where an asset may have been overpriced or underpriced relative to the CAPM. The monthly excess return data on Microsoft stock and S&P 500 index over the ten year period February 1990 through December 2000 are in the S+FinMetrics timeseries object excessreturns.ts. > colids(excessreturns.ts) [1] "MSFT" "SP500" > start(excessreturns.ts) [1] Feb 1990 > end(excessreturns.ts) [1] Dec 2000 The full sample CAPM estimates using the S+FinMetrics function OLS are > ols.fit = OLS(MSFT~SP500,data=excessReturns.ts) > summary(ols.fit) Call: OLS(formula = MSFT ~SP500, data = excessreturns.ts) Residuals: Min 1Q Median 3Q Max
33 9.4 Rolling Regression 345 Coefficients: Value Std. Error t value Pr(> t ) (Intercept) SP Regression Diagnostics: R-Squared Adjusted R-Squared Durbin-Watson Stat Residual standard error: on 129 degrees of freedom Time period: from Feb 1990 to Dec 2000 F-statistic: on 1 and 129 degrees of freedom, the p-va lue is 2.055e-012 The estimated full sample for Microsoft is 1 57, which indicates that Microsoft was riskier than the market. Also, the full sample estimate of is significantly di erent from zero so, on average, the returns on Microsoft are larger than predicted by the CAPM. Consider now the 24-month rolling regression estimates incremented by 1 month computed using rollols > roll.fit = rollols(msft~sp500, data=excessreturns.ts, + width=24,incr=1) Rolling Window #1: Total Rows = 24 Rolling Window #2: Total Rows = 25 Rolling Window #3: Total Rows = Rolling Window #108: Total Rows = 131 To suppress the printing of the window count, specify trace=f in the call to rollols. The returned object roll.fit is of class rollols and has components > names(roll.fit) [1] "width" "incr" "nwin" "contrasts" "rdf" [6] "coef" "stddev" "sigma" "terms" "call" [11] "positions" The components coef, stddev and sigma give the estimated coe cients, standard errors, and residual standard deviations for each of the nwin regressions. The positions component gives the start and end date of the estimation sample. The print method, invoked by typing the object s name, gives a brief report of the fit
34 Rolling Analysis of Time Series > roll.fit Call: rollols(formula = MSFT ~SP500, data = excessreturns.ts, width = 24, incr = 1) Rolling Windows: number width increment Time period: from Feb 1990 to Dec 2000 Coefficients: (Intercept) SP500 mean std. dev Coefficient Standard Deviations: (Intercept) SP500 mean std. dev Residual Scale Estimate: mean std. dev Regression estimates are computed for 108 rolling windows. The mean and standard deviation are computed for the estimates and for the estimated coe cient standard errors. The average and standard deviation of the ˆ values are and , respectively, and the average and standard deviation of the SE(ˆ ) valuesare and , respectively. Hence, most of the ˆ values appear to be not significantly di erent from zero as predicted by the CAPM. The average and standard deviation of the ˆ values are and , respectively. The ˆ values are quite variable and indicate that amount of market risk in Microsoft is not constant over time. The rolling coe cient estimates for each rolling regression may be viewed using summary > summary(roll.fit) Call: rollols(formula = MSFT ~ SP500, data = excessreturns.ts, width = 24, incr = 1) Rolling Windows: number width increment
35 Time period: from Feb 1990 to Dec 2000 Coefficient: (Intercept) Value Std. Error t value Pr(> t ) Jan Feb Mar Coefficient: SP500 Value Std. Error t value Pr(> t ) Jan Feb Mar Rolling Regression 347 or by using the coef extractor function. Notice that the first 24-month rolling estimates are computed for January 1992, which is 24 months after the sample start date of February The rolling estimates, however, are best viewed graphically using plot > plot(roll.fit) Make a plot selection (or 0 to exit): 1: plot: All 2: plot: Coef Estimates 3: plot: Coef Estimates with Confidence Intervals 4: plot: Residual Scale Estimates Selection: Plot selections 3 and 4 are illustrated in Figures 9.17 and From the graphs of the rolling estimate it is clear that ˆ is significantly positive only at the very beginning of the sample. The ˆ values are near unity for most windows and increase sharply at the end of the sample. However, the large standard errors make it di cult to determine if is really changing over time. The residual scale estimates, ˆ, increase sharply after This implies that the magnitude of the non-market risk in Microsoft increased after In rollols, the optional argument incr sets the number of observations between the rolling blocks of data of length determined by width. Therefore, rolling regressions may be computed for arbitrary overlapping and non-overlapping blocks of data. For example, consider computing the CAPM estimates for Microsoft over the two non-overlapping but adjacent subsamples, February June 1995 and July November 2000 using rollols:
36 Rolling Analysis of Time Series Rolling Coefficients (Intercept) Value SP Rolling Window FIGURE Rolling regression estimates of CAPM coe cients ˆ and ˆ for Microsoft. Rolling Scale roll.fit sigma Rolling Window FIGURE Rolling regression estimates of CAPM residual standard error for Microsoft.
37 9.4 Rolling Regression 349 > roll.fit2 = rollols(msft~sp500, data=excessreturns.ts, + width=65, incr=65) Rolling Window #1: Total Rows = 65 Rolling Window #2: Total Rows = 130 > summary(roll.fit2) Call: rollols(formula = MSFT ~SP500, data = excessreturns.ts, width = 65, incr = 65) Rolling Windows: number width increment Time period: from Feb 1990 to Dec 2000 Coefficient: (Intercept) Value Std. Error t value Pr(> t ) Jun Nov Coefficient: SP500 Value Std. Error t value Pr(> t ) Jun e-006 Nov e Rolling Predictions and Backtesting Rolling regressions may be used to evaluate a model s predictive performance based on historical data using a technique commonly referred to as backtesting. To illustrate, consider the rolling regression model (9.10). The out-of-sample predictive performance of (9.10) is based on the rolling -step predictions and prediction errors ˆ + = x 0 + ˆ ( ) (9.12) ˆ + = + ˆ + = + x 0 + ˆ ( ) (9.13) The predictions are out-of-sample because ˆ ( ) onlyusesdataupto time, whereas the predictions are for observations at times + for 0. The rolling predictions are adaptive since ˆ ( ) is updated when is increased. When = 1 there are rolling 1-step predictions {ˆ +1 ˆ ˆ 1 },when =2thereare 1 rolling 2-step predictions {ˆ +2 ˆ ˆ 2 } and so on.
38 Rolling Analysis of Time Series Forecast Evaluation Statistics The rolling forecasts (9.12) may be evaluated by examining the properties of the rolling forecast errors (9.13). Common evaluation statistics are ME = MSE( ) = 1 X ˆ + (9.14) +1 = 1 X +1 RMSE( ) = p ( ) MAE( ) = MAPE( ) = = ˆ X ˆ = X = ˆ + + The first measure evaluates the bias of the forecasts, and the other measures evaluate bias and precision. Example 55 Backtesting the CAPM Consider again the estimation of the CAPM (9.11) for Microsoft using rolling regression. The rolling regression information is contained in the rollols object roll.fit. The rolling -step predictions (9.12) may be computed using the generic predict method. For example, the rolling 1- step forecasts are computed as > roll.pred = predict(roll.fit,n.step=1) > class(roll.pred) [1] "listof" > names(roll.pred) [1] "1-Step-Ahead Forecasts" The argument n.step determines the step length of the predictions. The object roll.pred is of class listof whose list component is a timeseries object containing the rolling 1-step predictions: > roll.pred[[1]] Positions 1 Feb Mar Dec The prediction errors (9.13) are then computed as ehat.1step = excessreturns.ts[,"msft"]-roll.pred[[1]]
39 9.4 Rolling Regression 351 Returns on MSFT and 1-step forecasts Return per month Actual 1-step forecast step forecast error Return per month FIGURE Monthly returns on Microsoft, 1-step rolling forecasts and forecast errors. The monthly returns on Microsoft, 1-step forecasts and 1-step forecast errors are shown in Figure 9.19 created by > par(mfrow=c(2,1)) > plot(excessreturns.ts[,"msft"], roll.pred[[1]], + main="returns on MSFT and 1-step forecasts", + plot.args=list(lty=c(1,3))) > legend(0, -0.2, legend=c("actual","1-step forecast"), + lty=c(1,3)) > plot(ehat.1step,main="1-step forecast error") The forecast evaluation statistics (9.14) may be computed as > me.1step = mean(ehat.1step) > mse.1step = as.numeric(var(ehat.1step)) > rmse.1step = sqrt(mse.1step) > mae.1step = mean(abs(ehat.1step)) > mape.1step = mean(abs(ehat.1step/excessreturns.ts[,"msft"]), + na.rm=t) To compute just the 2-step forecasts, specify n.step=2 in the call to predict. To compute the 1-step and 2-step forecasts specify n.step=1:2 > roll.pred.12 = predict(roll.fit,n.steps=1:2)
40 Rolling Analysis of Time Series > names(roll.pred.12) [1] "1-Step-Ahead Forecasts" "2-Step-Ahead Forecasts" > roll.pred.12[[1]] Positions 1 Feb Mar Dec > roll.pred.12[[2]] Positions 1 Mar Apr Dec Since the 1-step and 2-step predictions are components of the list object roll.pred.12, thes-plus function lapply may be used to simplify the computation of the forecast errors and evaluation statistics. To illustrate, supplying the user-defined function > make.ehat = function(x,y) { + ans = y - x + ans[!is.na(ans),] + } to lapply creates a named object containing the 1-step and 2-step forecasts errors as components: > ehat.list = lapply(roll.pred.12, make.ehat, + excessreturns.ts[,"msft"]) > names(ehat.list) [1] "1-Step-Ahead Forecasts" "2-Step-Ahead Forecasts" The forecast evaluation statistics (9.14) may be computed for each component of ehat.list using lapply with the following user-defined function > make.errorstats = function(x){ + me = mean(x) + mse = as.numeric(var(x)) + rmse = sqrt(mse) + mae = mean(abs(x)) + ans = list(me=me,mse=mse,rmse=rmse,mae=mae) + ans + } > errorstat.list = lapply(ehat.list,make.errorstats)
41 9.4 Rolling Regression 353 > unlist(errorstat.list) 1-Step-Ahead Forecasts.ME 1-Step-Ahead Forecasts.MSE Step-Ahead Forecasts.RMSE 1-Step-Ahead Forecasts.MAE Step-Ahead Forecasts.ME 2-Step-Ahead Forecasts.MSE Step-Ahead Forecasts.RMSE 2-Step-Ahead Forecasts.MAE The S-PLUS function sapply may be used instead of lapply to summarize the forecast error evaluation statistics: > sapply(ehat.list,make.errorstats) 1-Step-Ahead Forecasts 2-Step-Ahead Forecasts [1,] [2,] [3,] [4,] Comparing Predictive Accuracy Backtesting is often used to compare the forecasting accuracy of two or more competing models. Typically, the forecast evaluation statistics (9.14) are computed for each model, and the model that produces the smallest set of statistics is judged to be the better model. Recently, Diebold and Mariano (1995) proposed a simple procedure using rolling -step forecast errors for statistically determining if one model s forecast is more accurate than another s. Let ˆ 1 + and ˆ 2 + denote the -step forecast errors from two competing models, and let denote the number of -step forecasts. The accuracy of each forecast is measured by a particular forecast evaluation or loss function (ˆ + ) =1 2 ³ Two popular loss functions are the squared error loss (ˆ + ) = ˆ 2 + and absolute error loss (ˆ + ) = ˆ +. To determine if one model forecasts better than another Diebold and Mariano (1995) suggested computing the loss di erential = (ˆ 1 + ) (ˆ 2 + ) and testing the null hypothesis of equal forecasting accuracy 0 : [ ]=0
42 Rolling Analysis of Time Series The Diebold-Mariano test statistic is the simple ratio where DM = = 1 clrv( ) 1 2 (9.15) is the average loss di erential, and c lrv( ) is a consistent estimate of the long-run asymptotic variance of. Diebold and Mariano suggest computing c lrv( ) using the Newey-West nonparametric estimator with a rectangular weight function and a lag truncation parameter equal to the forecast step length,, less one. Diebold and Mariano showed that under the null hypothesis of equal predictive accuracy the statistic is asymptotically distributed (0 1). Example 56 Backtesting regression models for predicting asset returns To illustrate model comparison and evaluation by backtesting, consider the problem of predicting the annual real return on S&P 500 index using two di erent valuation ratios. The regression model is of the form X =1 = (9.16) where denotes the natural logarithm of the annual real total return on S&P 500 index and denotes the natural logarithm of a valuation ratio. The first valuation ratio considered is the dividend/price ratio and the second ratio is the earning/price ratio. The data are constructed from the S+FinMetrics timeseries shiller.annual as follows: > colids(shiller.annual) [1] "price" "dividend" "earnings" [4] "cpi" "real.price" "real.dividend" [7] "real.earnings" "pe.10" "dp.ratio" [10] "dp.yield" > # compute log of real data > ln.p = log(shiller.annual[,"real.price"]) > colids(ln.p) = "ln.p" > ln.dpratio = log(dp.ratio) > colids(ln.dpratio) = "ln.dpratio" > ln.epratio = -log(shiller.annual[,"pe.10"]) > ln.epratio = ln.epratio[!is.na(ln.epratio),] > colids(ln.epratio) = "ln.epratio" > # compute cc real total returns - see CLM pg. 261 > ln.r = diff(ln.p) + log(1+exp(ln.dpratio[-1,])) > colids(ln.r) = "ln.r"
43 9.4 Rolling Regression 355 > stock.ts = seriesmerge(ln.p,ln.d,ln.dpratio, + ln.epratio,ln.r,pos=positions(ln.epratio)) > start(stock.ts) [1] Dec 1881 > end(stock.ts) [1] Dec 2000 Rolling regression estimates of (9.16) with the two valuation ratios using a 50 year window incremented by 1 year are computed as > roll.dp.fit = rollols(ln.r~tslag(ln.dpratio),data=stock.ts, + width=50,incr=1) Rolling Window #1: Total Rows = 50 Rolling Window #2: Total Rows = > roll.ep.fit = rollols(ln.r~tslag(ln.epratio),data=stock.ts, + width=50,incr=1) Rolling Window #1: Total Rows = 50 Rolling Window #2: Total Rows = Rolling Window #70: Total Rows = 119 Figures 9.20 and 9.21 show the rolling coe cient estimates from the two models along with standard error bands. The rolling estimates of for the two models are similar. For both models, the strongest evidence for return predictability occurs between 1960 and The value of for the earning/price model appears to be di erent from zero during more periods than the value of for the dividend/price model. The rolling -step predictions for =1 5 and prediction errors are > roll.dp.pred = predict(roll.dp.fit,n.steps=1:5) > roll.ep.pred = predict(roll.ep.fit,n.steps=1:5) > ehat.dp.list = lapply(roll.dp.pred,make.ehat, + stock.ts[,"ln.r"]) > ehat.ep.list = lapply(roll.ep.pred,make.ehat, + stock.ts[,"ln.r"]) The forecast evaluation statistics are > errorstats.dp.list = lapply(ehat.dp.list,make.errorstats) > errorstats.ep.list = lapply(ehat.ep.list,make.errorstats) > tmp = cbind(unlist(errorstats.dp.list), + unlist(errorstats.ep.list)) > colids(tmp) = c("d/p","e/p") > tmp numeric matrix: 20 rows, 2 columns. D/P E/P 1-Step-Ahead Forecasts.ME
44 Rolling Analysis of Time Series Rolling Coefficients (Intercept) Value tslag(ln.dpratio) Rolling Window FIGURE year rolling regression estimates of (9.16) using dividend/price ratio. Rolling Coefficients (Intercept) Value tslag(ln.epratio) Rolling Window FIGURE year rolling regression estimates of (9.16) using earning/price.
45 1-Step-Ahead Forecasts.MSE Step-Ahead Forecasts.RMSE Step-Ahead Forecasts.MAE Step-Ahead Forecasts.ME Step-Ahead Forecasts.MSE Step-Ahead Forecasts.RMSE Step-Ahead Forecasts.MAE Step-Ahead Forecasts.ME Step-Ahead Forecasts.MSE Step-Ahead Forecasts.RMSE Step-Ahead Forecasts.MAE Step-Ahead Forecasts.ME Step-Ahead Forecasts.MSE Step-Ahead Forecasts.RMSE Step-Ahead Forecasts.MAE D/P E/P 5-Step-Ahead Forecasts.ME Step-Ahead Forecasts.MSE Step-Ahead Forecasts.RMSE Step-Ahead Forecasts.MAE Rolling Regression 357 The forecast evaluation statistics are generally smaller for the model using the earning/price ratio. The Diebold-Mariano statistics based on squared error and absolute error loss functions may be computed using > for (i in 1:5) { + d.mse[,i] = ehat.dp.list[[i]]^2 - ehat.ep.list[[i]]^2 + DM.mse[i] = mean(d.mse[,i])/sqrt(asymp.var(d.mse[,i], + bandwidth=i-1,window="rectangular")) + d.mae[,i] = abs(ehat.dp.list[[i]]) - abs(ehat.ep.list[[i]]) + DM.mae[i] = mean(d.mae[,i])/sqrt(asymp.var(d.mae[,i], + bandwidth=i-1,window="rectangular")) + } > names(dm.mse) = names(ehat.dp.list) > names(dm.mae) = names(ehat.dp.list) > cbind(dm.mse,dm.mae) DM.mse DM.mae 1-Step-Ahead Forecasts Step-Ahead Forecasts Step-Ahead Forecasts Step-Ahead Forecasts Step-Ahead Forecasts Since the DM statistics are asymptotically standard normal, one cannot reject the null hypothesis of equal predictive accuracy at any reasonable
46 Rolling Analysis of Time Series significance level based on the 1-step through 5-step forecast errors for the two models. 9.5 Rolling Analysis of General Models Using the S+FinMetrics Function roll The S-PLUS aggregateseries function is appropriate for rolling analysis of simple functions and the S+FinMetrics function rollols handles rolling regression. The S+FinMetrics function roll is designed to perform rolling analysis of general S-PLUS modeling functions that take a formula argument describing the relationship between a response and explanatory variables and where the data, usually a data frame or timeseries object with a data frame in the data slot, is supplied explicitly in a data argument. The arguments expected by roll are > args(roll) function(fun, data, width, incr = 1, start = NULL, end = NULL, na.rm = F, save.list = NULL, arg.data = "data", trace = T,...) where FUN is the S-PLUS modeling function to be applied to each rolling window, data is the data argument to FUN which must be either a data frame or a timeseries with a data frame in the data slot,width specifies the width of the rolling window and incr determines the increment size by which the windows are rolled through the sample. The argument save.list specifies the components of the object returned by FUN to save in the object returned by roll. If FUN requires more arguments in addition to data, for example a formula relating a response to a set of explanatory variables, then these arguments should be supplied in place of... The use of roll is illustrated with the following examples. Example 57 Rolling regression In this example, the 24-month rolling regression estimation of the CAPM for Microsoft using the timeseries excessreturns.ts is repeated using the S+FinMetrics function roll with FUN=OLS. OLS requires a formula argument for model specification and a data frame or timeseries in data argument. The 24 month rolling CAPM estimates using roll are > roll.fit = roll(fun=ols, data=excessreturns.ts, + width=24, incr=1, formula=msft~sp500) Rolling Window #1: Total Rows = 24 Rolling Window #2: Total Rows = Rolling Window #108: Total Rows = 131
47 9.5 Rolling Analysis of General Models 359 > class(roll.fit) [1] "roll" The return roll.fit is an object of class roll for which there are no specific method functions. Since the data argument excessreturns.ts is a timeseries, the default components of roll.fit are the positions of the rolling windows and timeseries objects containing the components that are produced by OLS for each of the windows: > names(roll.fit) [1] "R" "coef" "df.resid" "fitted" [5] "residuals" "assign" "contrasts" "ar.order" [9] "terms" "call" "positions" > class(roll.fit$coef) [1] "timeseries" > nrow(roll.fit$coef) [1] 108 > class(roll.fit$residuals) [1] "timeseries" > nrow(roll.fit$residuals) [1] 108 The first column of the timeseries roll.fit$coef contains the rolling intercept estimates, and the second column contains the rolling slope estimates. > roll.fit$coef[1:2,] Positions 1 2 Jan Feb The rows of the timeseries roll.fit$residuals contain the residuals for the OLS fit on each 24-month window > roll.fit$residuals[1:2,] Positions Jan Feb If only some of the components of OLS are needed for each rolling window, these components may be specified in the optional argument save.list. For example, to retain only the components coef and residuals over the
48 Rolling Analysis of Time Series rolling windows specify save.list=c("coef","residuals") in the call to roll: > roll.fit = roll(fun=ols, data=excessreturns.ts, + width=24, incr=1, formula=msft~sp500, + save.list=c("coef","residuals"), trace=f) > names(roll.fit) [1] "coef" "residuals" "call" "positions" 9.6 References Alexander, C. (2001). Market Models: A Guide to Financial Data Analysis. John Wiley & Sons, Chichester, UK. Bauer, R.J. and J.R. Dahlquist (1999). Techincal Market Indicators: Analysis & Performance. John Wiley & Sons, New York. Banerjee, A. R. Lumsdaine and J.H. Stock (1992). Recursive and Sequential Tests of the Unit Root and Trend Break Hypothesis: Theory and International Evidence, Journal of Business and Economic Statistics, 10(3), Colby, R.W. and T.A Meyers (1988). The Encyclopedia of Technical Market Indicators. McGraw-Hill, New York. Dacorogna, M.M., R. Gençay, U.A. Müller, R.B. Olsen, and O.V. Pictet (2001). An Introduction to High-Frequency Finance. Academic Press, San Diego. Diebold, F.X. and R.S. Mariano (1995). Comparing Predictive Accuracy, Journal of Business and Economic Statistics, 13, Shiller, R. (1998). Irrational Exuberance. Princeton University Press, Princeton, NJ. Zumbach, G.O., and U.A. Müller (2001). Operators on Inhomogeneous Time Series, International Journal of Theoretical and Applied Finance, 4,
Module 6: Introduction to Time Series Forecasting
Using Statistical Data to Make Decisions Module 6: Introduction to Time Series Forecasting Titus Awokuse and Tom Ilvento, University of Delaware, College of Agriculture and Natural Resources, Food andMore information
Industry Environment and Concepts for Forecasting 1
Table of Contents Industry Environment and Concepts for Forecasting 1 Forecasting Methods Overview...2 Multilevel Forecasting...3 Demand Forecasting...4 Integrating Information...5 Simplifying the Forecast...6More information
Sensex Realized Volatility Index
Sensex Realized Volatility Index Introduction: Volatility modelling has traditionally relied on complex econometric procedures in order to accommodate the inherent latent character of volatility. RealizedMore information
NCSS Statistical Software Principal Components Regression. In ordinary least squares, the regression coefficients are estimated using the formula ( )
Chapter 340 Principal Components Regression Introduction is a technique for analyzing multiple regression data that suffer from multicollinearity. When multicollinearity occurs, least squares estimatesMore information
Time Series Analysis
Time Series Analysis Identifying possible ARIMA models Andrés M. Alonso Carolina García-Martos Universidad Carlos III de Madrid Universidad Politécnica de Madrid June July, 2012 Alonso and García-MartosMore information
High Frequency Equity Pairs Trading: Transaction Costs, Speed of Execution and Patterns in Returns
High Frequency Equity Pairs Trading: Transaction Costs, Speed of Execution and Patterns in Returns David Bowen a Centre for Investment Research, UCC Mark C. Hutchinson b Department of Accounting, FinanceMore information
TIME SERIES ANALYSIS L.M. BHAR AND V.K.SHARMA Indian Agricultural Statistics Research Institute Library Avenue, New Delhi-0 02 email@example.com. Introduction Time series (TS) data refers to observationsMore information
Jinadasa Gamage, Professor of Mathematics, Illinois State University, Normal, IL, e- mail: email@example.com
Submission for ARCH, October 31, 2006 Jinadasa Gamage, Professor of Mathematics, Illinois State University, Normal, IL, e- mail: email@example.com Jed L. Linfield, FSA, MAAA, Health Actuary, Kaiser Permanente,More information
Age to Age Factor Selection under Changing Development Chris G. Gross, ACAS, MAAA
Age to Age Factor Selection under Changing Development Chris G. Gross, ACAS, MAAA Introduction A common question faced by many actuaries when selecting loss development factors is whether to base the selectedMore information
Integrated Resource Plan
Integrated Resource Plan March 19, 2004 PREPARED FOR KAUA I ISLAND UTILITY COOPERATIVE LCG Consulting 4962 El Camino Real, Suite 112 Los Altos, CA 94022 650-962-9670 1 IRP 1 ELECTRIC LOAD FORECASTING 1.1More information
Median and Average Sales Prices of New Homes Sold in United States
Jan 1963 $17,200 (NA) Feb 1963 $17,700 (NA) Mar 1963 $18,200 (NA) Apr 1963 $18,200 (NA) May 1963 $17,500 (NA) Jun 1963 $18,000 (NA) Jul 1963 $18,400 (NA) Aug 1963 $17,800 (NA) Sep 1963 $17,900 (NA) OctMore information
A Trading Strategy Based on the Lead-Lag Relationship of Spot and Futures Prices of the S&P 500
A Trading Strategy Based on the Lead-Lag Relationship of Spot and Futures Prices of the S&P 500 FE8827 Quantitative Trading Strategies 2010/11 Mini-Term 5 Nanyang Technological University Submitted By:More information
The Best of Both Worlds:
The Best of Both Worlds: A Hybrid Approach to Calculating Value at Risk Jacob Boudoukh 1, Matthew Richardson and Robert F. Whitelaw Stern School of Business, NYU The hybrid approach combines the two mostMore information
MGT 267 PROJECT. Forecasting the United States Retail Sales of the Pharmacies and Drug Stores. Done by: Shunwei Wang & Mohammad Zainal
MGT 267 PROJECT Forecasting the United States Retail Sales of the Pharmacies and Drug Stores Done by: Shunwei Wang & Mohammad Zainal Dec. 2002 The retail sale (Million) ABSTRACT The present study aimsMore information
Example 1: Calculate and compare RiskMetrics TM and Historical Standard Deviation Compare the weights of the volatility parameter using,, and.
3.6 Compare and contrast different parametric and non-parametric approaches for estimating conditional volatility. 3.7 Calculate conditional volatility using parametric and non-parametric approaches. ParametricMore information
Is the Forward Exchange Rate a Useful Indicator of the Future Exchange Rate?
Is the Forward Exchange Rate a Useful Indicator of the Future Exchange Rate? Emily Polito, Trinity College In the past two decades, there have been many empirical studies both in support of and opposingMore information
Statistics in Retail Finance. Chapter 6: Behavioural models
Statistics in Retail Finance 1 Overview > So far we have focussed mainly on application scorecards. In this chapter we shall look at behavioural models. We shall cover the following topics:- BehaviouralMore information
Institute of Actuaries of India Subject CT3 Probability and Mathematical Statistics
Institute of Actuaries of India Subject CT3 Probability and Mathematical Statistics For 2015 Examinations Aim The aim of the Probability and Mathematical Statistics subject is to provide a grounding inMore information
Simple Predictive Analytics Curtis Seare
Using Excel to Solve Business Problems: Simple Predictive Analytics Curtis Seare Copyright: Vault Analytics July 2010 Contents Section I: Background Information Why use Predictive Analytics? How to useMore information
SAS Software to Fit the Generalized Linear Model
SAS Software to Fit the Generalized Linear Model Gordon Johnston, SAS Institute Inc., Cary, NC Abstract In recent years, the class of generalized linear models has gained popularity as a statistical modelingMore information
Stock Market Volatility during the 2008 Financial Crisis
Stock Market Volatility during the 2008 Financial Crisis Kiran Manda * The Leonard N. Stern School of Business Glucksman Institute for Research in Securities Markets Faculty Advisor: Menachem Brenner AprilMore information
Distressed Debt Prices and Recovery Rate Estimation
Distressed Debt Prices and Recovery Rate Estimation Robert Jarrow Joint Work with Xin Guo and Haizhi Lin May 2008 Introduction Recent market events highlight the importance of understanding credit risk.More information
JANUARY Jan 1 6.44 8.24 12.23 2.17 4.06 5.46 Jan 2 6.44 8.24 12.24 2.20 4.07 5.47 Jan 3 6.44 8.24 12.24 2.21 4.08 5.48 Jan 4 6.44 8.24 12.25 2.22 4.09 5.49 Jan 5 6.43 8.23 12.25 2.24 4.10 5.50 Jan 6 6.43More information
Methodology For Illinois Electric Customers and Sales Forecasts: 2016-2025
Methodology For Illinois Electric Customers and Sales Forecasts: 2016-2025 In December 2014, an electric rate case was finalized in MEC s Illinois service territory. As a result of the implementation ofMore information
Using Options Trading Data to Algorithmically Detect Insider Trading
MS&E 444 Final Project Report Using Options Trading Data to Algorithmically Detect Insider Trading Instructor: Prof. Kay Giesecke TA: Benjamin Armbruster Group Members: 1 Youdan Li Elaine Ou Florin RatiuMore information
Risk and return (1) Class 9 Financial Management, 15.414
Risk and return (1) Class 9 Financial Management, 15.414 Today Risk and return Statistics review Introduction to stock price behavior Reading Brealey and Myers, Chapter 7, p. 153 165 Road map Part 1. ValuationMore information
30-Apr-2004 28.35 29.00 28.20 28.46 28.55 03-May-2004 28.50 28.70 26.80 27.04 27.21 04-May-2004 26.90 26.99 26.00 26.00 26.38 05-May-2004 26.05 26.69 26.00 26.35 26.34 06-May-2004 26.31 26.35 26.05 26.26More information
Engineering Problem Solving and Excel. EGN 1006 Introduction to Engineering
Engineering Problem Solving and Excel EGN 1006 Introduction to Engineering Mathematical Solution Procedures Commonly Used in Engineering Analysis Data Analysis Techniques (Statistics) Curve Fitting techniquesMore information
ADVANCED FORECASTING MODELS USING SAS SOFTWARE Girish Kumar Jha IARI, Pusa, New Delhi 110 012 firstname.lastname@example.com 1. Transfer Function Model Univariate ARIMA models are useful for analysis and forecastingMore information
seven Statistical Analysis with Excel chapter OVERVIEW CHAPTER
seven Statistical Analysis with Excel CHAPTER chapter OVERVIEW 7.1 Introduction 7.2 Understanding Data 7.3 Relationships in Data 7.4 Distributions 7.5 Summary 7.6 Exercises 147 148 CHAPTER 7 StatisticalMore information
Multiple Linear Regression
Multiple Linear Regression A regression with two or more explanatory variables is called a multiple regression. Rather than modeling the mean response as a straight line, as in simple regression, it isMore information
The VAR models discussed so fare are appropriate for modeling I(0) data, like asset returns or growth rates of macroeconomic time series.
Cointegration The VAR models discussed so fare are appropriate for modeling I(0) data, like asset returns or growth rates of macroeconomic time series. Economic theory, however, often implies equilibriumMore information
Investment Statistics: Definitions & Formulas
Investment Statistics: Definitions & Formulas The following are brief descriptions and formulas for the various statistics and calculations available within the ease Analytics system. Unless stated otherwise,More information
AN EVALUATION OF THE PERFORMANCE OF MOVING AVERAGE AND TRADING VOLUME TECHNICAL INDICATORS IN THE U.S. EQUITY MARKET A Senior Scholars Thesis by BETHANY KRAKOSKY Submitted to Honors and Undergraduate ResearchMore information
Module 5: Multiple Regression Analysis
Using Statistical Data Using to Make Statistical Decisions: Data Multiple to Make Regression Decisions Analysis Page 1 Module 5: Multiple Regression Analysis Tom Ilvento, University of Delaware, CollegeMore information
2. Filling Data Gaps, Data validation & Descriptive Statistics
2. Filling Data Gaps, Data validation & Descriptive Statistics Dr. Prasad Modak Background Data collected from field may suffer from these problems Data may contain gaps ( = no readings during this period)More information
Analysis of Bayesian Dynamic Linear Models
Analysis of Bayesian Dynamic Linear Models Emily M. Casleton December 17, 2010 1 Introduction The main purpose of this project is to explore the Bayesian analysis of Dynamic Linear Models (DLMs). The mainMore information
A Review of Cross Sectional Regression for Financial Data You should already know this material from previous study
A Review of Cross Sectional Regression for Financial Data You should already know this material from previous study But I will offer a review, with a focus on issues which arise in finance 1 TYPES OF FINANCIALMore information
Predictability of Non-Linear Trading Rules in the US Stock Market Chong & Lam 2010
Department of Mathematics QF505 Topics in quantitative finance Group Project Report Predictability of on-linear Trading Rules in the US Stock Market Chong & Lam 010 ame: Liu Min Qi Yichen Zhang FengtianMore information
CALL VOLUME FORECASTING FOR SERVICE DESKS Krishna Murthy Dasari Satyam Computer Services Ltd. This paper discusses the practical role of forecasting for Service Desk call volumes. Although there are manyMore information
Financial Time Series Analysis (FTSA) Lecture 1: Introduction
Financial Time Series Analysis (FTSA) Lecture 1: Introduction Brief History of Time Series Analysis Statistical analysis of time series data (Yule, 1927) v/s forecasting (even longer). Forecasting is oftenMore information
JetBlue Airways Stock Price Analysis and Prediction
JetBlue Airways Stock Price Analysis and Prediction Team Member: Lulu Liu, Jiaojiao Liu DSO530 Final Project JETBLUE AIRWAYS STOCK PRICE ANALYSIS AND PREDICTION 1 Motivation Started in February 2000, JetBlueMore information
KSTAT MINI-MANUAL. Decision Sciences 434 Kellogg Graduate School of Management
KSTAT MINI-MANUAL Decision Sciences 434 Kellogg Graduate School of Management Kstat is a set of macros added to Excel and it will enable you to do the statistics required for this course very easily. ToMore information
Multiple Linear Regression in Data Mining
Multiple Linear Regression in Data Mining Contents 2.1. A Review of Multiple Linear Regression 2.2. Illustration of the Regression Process 2.3. Subset Selection in Linear Regression 1 2 Chap. 2 MultipleMore information
STATISTICA Formula Guide: Logistic Regression. Table of Contents
: Table of Contents... 1 Overview of Model... 1 Dispersion... 2 Parameterization... 3 Sigma-Restricted Model... 3 Overparameterized Model... 4 Reference Coding... 4 Model Summary (Summary Tab)... 5 SummaryMore information
2. Simple Linear Regression
Research methods - II 3 2. Simple Linear Regression Simple linear regression is a technique in parametric statistics that is commonly used for analyzing mean response of a variable Y which changes accordingMore information
Additional sources Compilation of sources: http://lrs.ed.uiuc.edu/tseportal/datacollectionmethodologies/jin-tselink/tselink.htm
Mgt 540 Research Methods Data Analysis 1 Additional sources Compilation of sources: http://lrs.ed.uiuc.edu/tseportal/datacollectionmethodologies/jin-tselink/tselink.htm http://web.utk.edu/~dap/random/order/start.htmMore information
Data Analysis Tools. Tools for Summarizing Data
Data Analysis Tools This section of the notes is meant to introduce you to many of the tools that are provided by Excel under the Tools/Data Analysis menu item. If your computer does not have that toolMore information
Performance of pairs trading on the S&P 500 index
Performance of pairs trading on the S&P 500 index By: Emiel Verhaert, studentnr: 348122 Supervisor: Dick van Dijk Abstract Until now, nearly all papers focused on pairs trading have just implemented theMore information
Technology Step-by-Step Using StatCrunch
Technology Step-by-Step Using StatCrunch Section 1.3 Simple Random Sampling 1. Select Data, highlight Simulate Data, then highlight Discrete Uniform. 2. Fill in the following window with the appropriateMore information
Change-Point Analysis: A Powerful New Tool For Detecting Changes
Change-Point Analysis: A Powerful New Tool For Detecting Changes WAYNE A. TAYLOR Baxter Healthcare Corporation, Round Lake, IL 60073 Change-point analysis is a powerful new tool for determining whetherMore information
AT&T Global Network Client for Windows Product Support Matrix January 29, 2015
AT&T Global Network Client for Windows Product Support Matrix January 29, 2015 Product Support Matrix Following is the Product Support Matrix for the AT&T Global Network Client. See the AT&T Global NetworkMore information
Integrating Financial Statement Modeling and Sales Forecasting
Integrating Financial Statement Modeling and Sales Forecasting John T. Cuddington, Colorado School of Mines Irina Khindanova, University of Denver ABSTRACT This paper shows how to integrate financial statementMore information
Extended control charts
Extended control charts The control chart types listed below are recommended as alternative and additional tools to the Shewhart control charts. When compared with classical charts, they have some advantagesMore information
business statistics using Excel OXFORD UNIVERSITY PRESS Glyn Davis & Branko Pecar
business statistics using Excel Glyn Davis & Branko Pecar OXFORD UNIVERSITY PRESS Detailed contents Introduction to Microsoft Excel 2003 Overview Learning Objectives 1.1 Introduction to Microsoft ExcelMore information
Time series Forecasting using Holt-Winters Exponential Smoothing
Time series Forecasting using Holt-Winters Exponential Smoothing Prajakta S. Kalekar(04329008) Kanwal Rekhi School of Information Technology Under the guidance of Prof. Bernard December 6, 2004 AbstractMore information
The information content of lagged equity and bond yields
Economics Letters 68 (2000) 179 184 www.elsevier.com/ locate/ econbase The information content of lagged equity and bond yields Richard D.F. Harris *, Rene Sanchez-Valle School of Business and Economics,More information
S&P Year Rolling Period Total Returns
S&P 500 10 Year Rolling Period Total Returns Summary: 1926 June 2013 700% 600% 500% 400% 300% 200% 100% 0% 100% Scatter chart of all 931 ten year periods. There were 931 ten year rolling periods from JanuaryMore information
TIME SERIES ANALYSIS Ramasubramanian V. I.A.S.R.I., Library Avenue, New Delhi- 110 012 firstname.lastname@example.com 1. Introduction A Time Series (TS) is a sequence of observations ordered in time. Mostly theseMore information
Exponential Smoothing with Trend. As we move toward medium-range forecasts, trend becomes more important.
Exponential Smoothing with Trend As we move toward medium-range forecasts, trend becomes more important. Incorporating a trend component into exponentially smoothed forecasts is called double exponentialMore information
DESCRIPTIVE STATISTICS AND EXPLORATORY DATA ANALYSIS SEEMA JAGGI Indian Agricultural Statistics Research Institute Library Avenue, New Delhi - 110 012 firstname.lastname@example.com 1. Descriptive Statistics StatisticsMore information
Overview of Violations of the Basic Assumptions in the Classical Normal Linear Regression Model
Overview of Violations of the Basic Assumptions in the Classical Normal Linear Regression Model 1 September 004 A. Introduction and assumptions The classical normal linear regression model can be writtenMore information
Exchange Traded Contracts for Difference: Design, Pricing and Effects
Exchange Traded Contracts for Difference: Design, Pricing and Effects Christine Brown, Jonathan Dark Department of Finance, The University of Melbourne & Kevin Davis Department of Finance, The UniversityMore information
Variance swaps and CBOE S&P 500 variance futures
Variance swaps and CBOE S&P 500 variance futures by Lewis Biscamp and Tim Weithers, Chicago Trading Company, LLC Over the past several years, equity-index volatility products have emerged as an asset classMore information
Comparing share-price performance of a stock
Comparing share-price performance of a stock A How-to write-up by Pamela Peterson Drake Analysis of relative stock performance is challenging because stocks trade at different prices, indices are calculatedMore information
The University of Chicago, Booth School of Business Business 41202, Spring Quarter 2013, Mr. Ruey S. Tsay Solutions to Final Exam
The University of Chicago, Booth School of Business Business 41202, Spring Quarter 2013, Mr. Ruey S. Tsay Solutions to Final Exam Problem A: (40 points) Answer briefly the following questions. 1. DescribeMore information
Please follow the directions once you locate the Stata software in your computer. Room 114 (Business Lab) has computers with Stata software
STATA Tutorial Professor Erdinç Please follow the directions once you locate the Stata software in your computer. Room 114 (Business Lab) has computers with Stata software 1.Wald Test Wald Test is usedMore information
Lecture Quantitative Finance
Lecture Quantitative Finance Spring 2011 Prof. Dr. Erich Walter Farkas Lecture 12: May 19, 2011 Chapter 8: Estimating volatility and correlations Prof. Dr. Erich Walter Farkas Quantitative Finance 11:More information
A Comparative Study of the Pickup Method and its Variations Using a Simulated Hotel Reservation Data
A Comparative Study of the Pickup Method and its Variations Using a Simulated Hotel Reservation Data Athanasius Zakhary, Neamat El Gayar Faculty of Computers and Information Cairo University, Giza, EgyptMore information
Quantitative Methods for Finance
Quantitative Methods for Finance Module 1: The Time Value of Money 1 Learning how to interpret interest rates as required rates of return, discount rates, or opportunity costs. 2 Learning how to explainMore information
ideas from RisCura s research team
ideas from RisCura s research team thinknotes april 2004 A Closer Look at Risk-adjusted Performance Measures When analysing risk, we look at the factors that may cause retirement funds to fail in meetingMore information
Section A. Index. Section A. Planning, Budgeting and Forecasting Section A.2 Forecasting techniques... 1. Page 1 of 11. EduPristine CMA - Part I
Index Section A. Planning, Budgeting and Forecasting Section A.2 Forecasting techniques... 1 EduPristine CMA - Part I Page 1 of 11 Section A. Planning, Budgeting and Forecasting Section A.2 ForecastingMore information
Chapter 1. Vector autoregressions. 1.1 VARs and the identi cation problem
Chapter Vector autoregressions We begin by taking a look at the data of macroeconomics. A way to summarize the dynamics of macroeconomic data is to make use of vector autoregressions. VAR models have becomeMore information
Demand forecasting & Aggregate planning in a Supply chain. Session Speaker Prof.P.S.Satish
Demand forecasting & Aggregate planning in a Supply chain Session Speaker Prof.P.S.Satish 1 Introduction PEMP-EMM2506 Forecasting provides an estimate of future demand Factors that influence demand andMore information
The Effect of Short-selling Restrictions on Liquidity: Evidence from the London Stock Exchange
The Effect of Short-selling Restrictions on Liquidity: Evidence from the London Stock Exchange Matthew Clifton ab and Mark Snape ac a Capital Markets Cooperative Research Centre 1 b University of Technology,More information
A Regime-Switching Model for Electricity Spot Prices. Gero Schindlmayr EnBW Trading GmbH firstname.lastname@example.com
A Regime-Switching Model for Electricity Spot Prices Gero Schindlmayr EnBW Trading GmbH email@example.com May 31, 25 A Regime-Switching Model for Electricity Spot Prices Abstract Electricity marketsMore information
In Chapter 2, we used linear regression to describe linear relationships. The setting for this is a
Math 143 Inference on Regression 1 Review of Linear Regression In Chapter 2, we used linear regression to describe linear relationships. The setting for this is a bivariate data set (i.e., a list of cases/subjectsMore information
Chapter 1. Return Calculations. 1.1 The Time Value of Money. 1.1.1 Future value, present value and simple interest.
Chapter 1 Return Calculations Updated: June 24, 2014 In this Chapter we cover asset return calculations with an emphasis on equity returns. Section 1.1 covers basic time value of money calculations. SectionMore information
Diversifying with Negatively Correlated Investments. Monterosso Investment Management Company, LLC Q1 2011
Diversifying with Negatively Correlated Investments Monterosso Investment Management Company, LLC Q1 2011 Presentation Outline I. Five Things You Should Know About Managed Futures II. Diversification andMore information
Deriving Investor Sentiment from Options Markets
Deriving Investor Sentiment from Options Markets Chikashi TSUJI February 28, 29 Abstract The purpose of this paper is to introduce the put call ratio (PCR) as an investor sentiment index, and show theMore information
Implied Volatility Skews in the Foreign Exchange Market. Empirical Evidence from JPY and GBP: 1997-2002
Implied Volatility Skews in the Foreign Exchange Market Empirical Evidence from JPY and GBP: 1997-2002 The Leonard N. Stern School of Business Glucksman Institute for Research in Securities Markets FacultyMore information
Chapter 10 Capital Markets and the Pricing of Risk
Chapter 10 Capital Markets and the Pricing of Risk 10-1. The figure below shows the one-year return distribution for RCS stock. Calculate a. The expected return. b. The standard deviation of the return.More information
Using Microsoft Excel to build Efficient Frontiers via the Mean Variance Optimization Method
Using Microsoft Excel to build Efficient Frontiers via the Mean Variance Optimization Method Submitted by John Alexander McNair ID #: 0061216 Date: April 14, 2003 The Optimal Portfolio Problem ConsiderMore information
Java Modules for Time Series Analysis
Java Modules for Time Series Analysis Agenda Clustering Non-normal distributions Multifactor modeling Implied ratings Time series prediction 1. Clustering + Cluster 1 Synthetic Clustering + Time seriesMore information
Smoothing methods. Marzena Narodzonek-Karpowska. Prof. Dr. W. Toporowski Institut für Marketing & Handel Abteilung Handel
Smoothing methods Marzena Narodzonek-Karpowska Prof. Dr. W. Toporowski Institut für Marketing & Handel Abteilung Handel What Is Forecasting? Process of predicting a future event Underlying basis of allMore information
A comparison between different volatility models. Daniel Amsköld
A comparison between different volatility models Daniel Amsköld 211 6 14 I II Abstract The main purpose of this master thesis is to evaluate and compare different volatility models. The evaluation is basedMore information
Time Series Analysis: Basic Forecasting.
Time Series Analysis: Basic Forecasting. As published in Benchmarks RSS Matters, April 2015 http://web3.unt.edu/benchmarks/issues/2015/04/rss-matters Jon Starkweather, PhD 1 Jon Starkweather, PhD firstname.lastname@example.com information
1. The Classical Linear Regression Model: The Bivariate Case
Business School, Brunel University MSc. EC5501/5509 Modelling Financial Decisions and Markets/Introduction to Quantitative Methods Prof. Menelaos Karanasos (Room SS69, Tel. 018956584) Lecture Notes 3 1.More information
Technical analysis is one of the most popular methods
Comparing Profitability of Day Trading Using ORB Strategies on Index Futures Markets in Taiwan, Hong-Kong, and USA Yi-Cheng Tsai, Mu-En Wu, Chin-Laung Lei, Chung-Shu Wu, and Jan-Ming Ho Abstract In literature,More information
Chapter 5: Bivariate Cointegration Analysis
Chapter 5: Bivariate Cointegration Analysis 1 Contents: Lehrstuhl für Department Empirische of Wirtschaftsforschung Empirical Research and und Econometrics Ökonometrie V. Bivariate Cointegration Analysis...More information
Calculating Interval Forecasts
Calculating Chapter 7 (Chatfield) Monika Turyna & Thomas Hrdina Department of Economics, University of Vienna Summer Term 2009 Terminology An interval forecast consists of an upper and a lower limit betweenMore information
Chapter 25 Specifying Forecasting Models
Chapter 25 Specifying Forecasting Models Chapter Table of Contents SERIES DIAGNOSTICS...1281 MODELS TO FIT WINDOW...1283 AUTOMATIC MODEL SELECTION...1285 SMOOTHING MODEL SPECIFICATION WINDOW...1287 ARIMAMore information
Forecasting Using Eviews 2.0: An Overview
Forecasting Using Eviews 2.0: An Overview Some Preliminaries In what follows it will be useful to distinguish between ex post and ex ante forecasting. In terms of time series modeling, both predict valuesMore information
FORECASTING. Operations Management
2013 FORECASTING Brad Fink CIT 492 Operations Management Executive Summary Woodlawn hospital needs to forecast type A blood so there is no shortage for the week of 12 October, to correctly forecast, aMore information
Unit Root Tests. 4.1 Introduction. This is page 111 Printer: Opaque this
4 Unit Root Tests This is page 111 Printer: Opaque this 4.1 Introduction Many economic and financial time series exhibit trending behavior or nonstationarity in the mean. Leading examples are asset prices,More information
Analysis of Financial Time Series with EViews
Analysis of Financial Time Series with EViews Enrico Foscolo Contents 1 Asset Returns 2 1.1 Empirical Properties of Returns................. 2 2 Heteroskedasticity and Autocorrelation 4 2.1 Testing forMore information
DOES IT PAY TO HAVE FAT TAILS? EXAMINING KURTOSIS AND THE CROSS-SECTION OF STOCK RETURNS By Benjamin M. Blau 1, Abdullah Masud 2, and Ryan J. Whitby 3 Abstract: Xiong and Idzorek (2011) show that extremelyMore information
Forecasting in supply chains
1 Forecasting in supply chains Role of demand forecasting Effective transportation system or supply chain design is predicated on the availability of accurate inputs to the modeling process. One of theMore information
FORECASTING DEPOSIT GROWTH: Forecasting BIF and SAIF Assessable and Insured Deposits
Technical Paper Series Congressional Budget Office Washington, DC FORECASTING DEPOSIT GROWTH: Forecasting BIF and SAIF Assessable and Insured Deposits Albert D. Metz Microeconomic and Financial StudiesMore information
MBA 611 STATISTICS AND QUANTITATIVE METHODS Part I. Review of Basic Statistics (Chapters 1-11) A. Introduction (Chapter 1) Uncertainty: Decisions are often based on incomplete information from uncertainMore information


text:
Framingham, MA | July 25, 2011 – ASG Software Solutions announced today that it has entered into a strategic marketing relationship with Correlsense, Inc., a Gartner Group "Cool Vendor" and APM Innovator. Headquartered in Framingham, MA, Correlsense offers cross-platform Application Performance Management through Business Transaction Management to help companies boost IT reliability, lower costs, and gain better visibility into the multi-tiered transaction systems.
"As enterprises migrate infrastructures and workloads to cloud technologies, they need new ways to monitor applications across these increasingly complex environments."
"Correlsense's SharePath provides a unique approach to monitoring applications and transactions which complements our diverse portfolio of network and application management tools," said Arthur Allen, President and CEO of ASG. "As enterprises migrate infrastructures and workloads to cloud technologies, they need new ways to monitor applications across these increasingly complex environments."
SharePath's patent–pending technology provides unprecedented transparency into the many paths that transactions follow throughout the enterprise. ASG will be marketing and selling SharePath along with ASG's real, synthetic and deep-dive monitoring tools such as TMON, TriTune, PERFMAN and others. SharePath views everything flowing into and out of a server at the operating system level. This low-overhead approach makes SharePath simple to implement, easy to use, and available for a diverse range of customer configurations. Today's dynamic distributed virtualized cloud environments can benefit from real-time tracking of transactions as they move from tier to tier, server to server, and application to application without system constraints. Enterprises can also mitigate mainframe MIPS costs by understanding which applications, transactions, and users create the greatest system loads.
"We are excited to partner with a market leader like ASG," said Oren Elias, CEO of Correlsense. "Using SharePath, along with TMON and other ASG products, provides in-depth views of application transactions from the end user all the way to the database and mainframe, giving CIOs and IT managers a more effective way to monitor and troubleshoot Cloud, virtual, and traditional IT applications."
About ASG
ASG Software Solutions is a global software solutions provider that helps more than 85 percent of the world's largest companies drive business success by managing complex IT operations across distributed, mainframe, and cloud environments.
More than 3,200 customers worldwide successfully reduce costs, improve business-service delivery, and reduce risks by using ASG's broad portfolio of solutions, including Cloud Management, Metadata Management, Information Management, Applications Management, Infrastructure Management, Operations Management, Performance Management, and Enterprise Automation Management (EAMS). To further capitalize on technology innovation, ASG's Cloud Orchestration Suite offers companies an easy on-ramp to the cloud by integrating cloud-based applications with existing applications and databases.
Founded in 1986 by Arthur L. Allen, ASG is a privately-held company based in Naples, Florida, USA, with approximately 1,100 employees and 74 Offices in 31 Countries. Learn more at www.asg.com.
About Correlsense
Correlsense is a leading provider of application performance management solutions. The company's flagship product, SharePath, is a transaction management solution which enables IT organizations to be more agile when introducing new business services in physical, virtual, or hybrid environments. Effortless to install, a SharePath solution can be up, running, and providing value in less than a day. Leveraging a unique approach that combines both transaction tracking and automatic application behavior modeling, SharePath provides IT organizations with actionable knowledge on how to avoid disruptions, maintain high service levels, and constantly improve end-user experience. For more information please visit www.correlsense.com or download the free Express edition of SharePath at www.real-user-monitoring.com

subset: commoncrawl