Predictability in finance Two techniques to discuss predicability Variance ratios in the time dimension (Lo-MacKinlay)x Construction of implementable trading strategies
Predictability, Autocorrelation and related topics In this lecture the focus is on dependencies in stock returns. The question is the possibility of forecastability of stock returns (or prices). As a background of this question recall the Fama [1970] overview of market efficiency. He defined his weak-form efficiency as saying that we could not use information in past prices to forecast expected future returns better than the market. Note that to make this statement precise we need to specify what we mean by the market expected return. Hence a discovery of dependencies in stock return may not contradict market efficiency if this dependency is reflecting changing expectations about future returns, we can only reject specific models of future expectations. Most of the literature in this area tends to be technical in nature, using econometric time series analysis.
Random walks The random walk hypothesis in its various forms is one of the oldest paradigms in finance, and has been tested in a large number of ways. Summarized: Can future prices be predicted on the basis of past prices only? Question: Is the possibility of forecasting future prices evidence of inefficiency in itself? No, because to some degree we can forecast returns: Basic assumption of finance: Riskier stocks have higher expected returns. Thus, the question should not be whether we can predict returns/prices, but whether we can predict the unexpected part of future returns: r t+k E t [r t+k ]
The Lo MacKinlay variance Ratio statistics Look at Lo and MacKinlay [1988] (LM) in detail. Idea is to generate a robust estimator of short term dependence (autocorrelation). Assumption about returns: Random Walk hypothesis E[P t ] = ap t 1 Take logs, X t = ln (P t ) X t = µ + X t 1 + ɛ t
Basis for test statistic: Estimated variance is linear in the sampling interval. Example: iid normal observations (ɛ t = N(0, σ 2 )). Define σ 2 a = 1 2n σ 2 b = 1 2n 2n t=1 (X t X t 1 µ) 2 n (X 2t X 2t 2 µ) 2 t=1 ( σ 2 a is sampled at double the frequency of σ 2 b )
Can show: the asymptotic variance of σ 2 b is twice that of σ2 a. 2n 2 ( σ a σ0 2 ) D N(0, 2σ 4 0 ) 2n 2 ( σ b σ0 2 ) D N(0, 4σ 4 0 ) The test statistic relies on the difference of these two, J r = σ2 b σ 2 a 1 This is a ratio of two variances, hence a variance ratio test. Limiting distribution of J t : 2nJr D N(0, 2) Test statistic: sample equivalents of J r.
Are modifications of iid examples to account for possible heteroskedastic and dependent error terms. The statistics used in the paper are ˆM r (q), the variance ratio, ˆM r (q) a.s. 0 z (q), which measures the significance of any deviation of ˆM r (q)from its expected value, z (q) D N(0, 1)
Doing Lo Mackinlay tests Let us look at some examples of running the Lo and MacKinlay (1988) test.
Calculate the Lo-MacKinlay(1988) variance ratio tests for daily and monthly return for Norwegian stock market indices for the post 1980 period.
library(zoo) DailyData <- read.zoo("../../../data/norway/stock_market_in header=true,sep=";",format="%y%m%d"); MonthlyData <- read.zoo("../../../data/norway/stock_market_ header=true,sep=";",format="%y%m%d" library(vrtest) Lo.Mac(DailyData$EW,c(2,5,10,25)) Lo.Mac(MonthlyData$EW,c(2,5,10,25))
> Lo.Mac(DailyData$EW,c(2,5,10,25)) $Stats M1 M2 k=2 10.69097 3.479136 k=5 10.52597 4.066680 k=10 10.89139 4.875556 k=25 13.92033 7.256480
> Lo.Mac(MonthlyData$EW,c(2,5,10,25)) $Stats M1 M2 k=2 5.340846 4.131435 k=5 5.774231 4.877904 k=10 4.577567 4.152579 k=25 2.180590 2.079820
Calculate the Lo-MacKinlay(1988) variance ratio tests for daily returns for the following Norwegian stocks. Norsk Hydro Sydvaranger Yara Use lags 2, 5,10, 25
library(zoo) SRets <- read.zoo("../../../data/norway/ose_individual_stoc header=true,skip=2,sep=","); NHY <- na.omit(srets$norsk.hydro) SYD <- na.omit(srets$sydvaranger) Yara <- na.omit(srets$yara) library(vrtest) Lo.Mac(NHY,c(2,5,10,25)) Lo.Mac(SYD,c(2,5,10,25)) Lo.Mac(Yara,c(2,5,10,25))
Results in the following > Lo.Mac(NHY,c(2,5,10,25)) $Stats M1 M2 k=2-1.689075-0.9729461 k=5-2.683630-1.5133240 k=10-2.804783-1.5754208 k=25-1.895138-1.0745694
> Lo.Mac(SYD,c(2,5,10,25)) $Stats M1 M2 k=2-9.042188-3.437486 k=5-7.556978-2.759202 k=10-6.087468-2.334330 k=25-3.789701-1.857751
> Lo.Mac(Yara,c(2,5,10,25)) $Stats M1 M2 k=2-0.3671920-0.2307072 k=5-1.4604640-0.8783124 k=10-1.2569212-0.7556081 k=25-0.1676446-0.1015701
Calculate the Lo-MacKinlay(1988) variance ratio tests for log differences of daily exchange rates. The exchange rates are against NOK CAD USD DKK SEK GBP Use lags 2, 5,10, 25
library(zoo) cur <- read.zoo("../../../data/exchange_rates/valutakurser_ header=true,format="%m/%d/%y",sep=",") library(vrtest) CAD <- na.omit(cur$cad) Lo.Mac(as.matrix(diff(log(CAD))),c(2,5,10,25)) USD <- na.omit(cur$usd) Lo.Mac(as.matrix(diff(log(USD))),c(2,5,10,25)) DKK <- na.omit(cur$dkk) Lo.Mac(as.matrix(diff(log(DKK))),c(2,5,10,25)) SEK <- na.omit(cur$sek) Lo.Mac(as.matrix(diff(log(SEK))),c(2,5,10,25)) GBP <- na.omit(cur$gbp) Lo.Mac(as.matrix(diff(log(GBP))),c(2,5,10,25))
> Lo.Mac(as.matrix(diff(log(CAD))),c(2,5,10,25)) $Stats M1 M2 k=2-3.227860-2.295264 k=5-2.296103-1.756712 k=10-2.487708-1.983288 k=25-1.918592-1.602299
> Lo.Mac(as.matrix(diff(log(USD))),c(2,5,10,25)) $Stats M1 M2 k=2-1.960159-1.458739 k=5-1.775541-1.327153 k=10-1.367814-1.035821 k=25-0.792811-0.618757
> Lo.Mac(as.matrix(diff(log(DKK))),c(2,5,10,25)) $Stats M1 M2 k=2-1.101529-0.4845684 k=5-2.392570-1.1452443 k=10-2.419335-1.2705111 k=25-1.684820-0.9911091
> Lo.Mac(as.matrix(diff(log(SEK))),c(2,5,10,25)) $Stats M1 M2 k=2 1.589021 1.110868 k=5-1.630007-1.141274 k=10-1.567742-1.139276 k=25-1.517931-1.064002
> Lo.Mac(as.matrix(diff(log(GBP))),c(2,5,10,25)) $Stats M1 M2 k=2 0.4678893 0.2750388 k=5-0.3771498-0.2354719 k=10-0.9058557-0.6065837 k=25-1.3870818-0.9962009
Trading Strategies Have shown existence of positive autocorrelation in index returns, cross-correlations in stocks. Also find other predictable variation in cross-sectional asset returns. predictability in short-horizon returns. Important question: Does predictability have any economic significance? One way to ask that question: Does the predictability affect trading decisions?
Trading strategies Construct trading strategies in terms of a plan for buying and selling stocks based on current & past price behaviour to try to measure economic importance of predictability, or: Can we make a million in the stock market? How do we construct a portfolio?
Example: Lehmann [1990]. Given N securities over T periods. Period t: buy ω it k dollars of security i. Some strategies that have been investigated: Buy winners & sell losers (price continuation) Buy losers & sell winners (price reversals) Strategy: Reversals Choose ω it k > 0 if last return was negative Choose ω it k < 0 if last return was positive
Let R it k be return on asset i in period t k, and R t k be the average return in period t k. Can write strategy as ω it k > 0 if R it k < R t k or R it k R t k < 0 ω it k > 0 if R it k > R t k or R it k R t k > 0 If we also want to buy more of the worst losers, make weights proportional to returns ω it k = (R it k R t k ) This is what Lehmann does.
His strategy of re-balancing the portfolio every week has a very high profit. If he investest 100 in winners and 100 in losers, get average semiannual profits less transaction costs of 38.77. Conclude: Construct portfolios in a way that seem feasible, generate large profits. Sign of market inefficiency? Open question, Again: large literature, good fight.
Eugene F Fama. Efficient capital markets: A review of theory and empirical work. Journal of Finance, 25:383 417, 1970. Bruce N Lehmann. Fads, martingales and market efficiency. Quarterly Journal of Economics, 105:1 28, February 1990. Andrew W Lo and A Craig MacKinlay. Stock market returns do not follow random walks: Evidence from a simple specification test. Review of Financial Studies, 1:41 60, 1988.