Chapter 1
The Constant Expected Return
Model
Date: February 5, 2015
The first model of asset returns we consider is the very simple constant expected return (CER) model. This model is motivated by the stylized facts formonthly asset returns. The CER model assumes that an asset’s return (simple or continuously compounded) over time is independent and identicallynormally distributed with a constant (time invariant) mean and variance.
The model allows for the returns on diﬀerent assets to be contemporaneously correlated but that the correlations are constant over time. The CER
model is widely used in finance. For example, it is used in risk analysis(e.g., computing Value-at-Risk) for assets and portfolios, in mean-variance
portfolio analysis, in the Capital Asset Pricing Model (CAPM), and in theBlack-Scholes option pricing model. Although this model is very simple, it
provides important intuition about the statistical behavior of asset returns
and prices and serves as a benchmark against which more complicated models
can be compared and evaluated. It allows us to discuss and develop several
important econometric topics such as Monte Carlo simulation, estimation,bootstrapping, hypothesis testing, forecasting and model evaluation.

1.1

CER Model Assumptions

Let  denote the simple or continuously compounded (cc) return on asset 
over the investment horizon between times −1 and  (e.g., monthly returns).
1

2CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL
We make the following assumptions regarding the probability distribution of for  = 1      assets for all times 
Assumption 1(i) Covariance stationarity and ergodicity: {1       } = { }=1 is acovariance stationary and ergodic stochastic process with [ ] =  
var( ) =  2 , cov(   ) =   and cor(   ) =  (ii) Normality:  ∼ (   2 ) for all  and  and all joint distributions
are normal.
(iii) No serial correlation: cov(   ) = cor(   ) = 0 for  6=  and  = 1     
Assumption 1 states that in every time period asset returns are jointly(multivariate) normally distributed, that the means and the variances of
all asset returns, and all of the pairwise contemporaneous covariances andcorrelations between assets are constant over time. In addition, all of theasset returns are serially uncorrelatedcor(   ) = cov(   ) = 0 for all  and  6= and the returns on all possible pairs of assets  and  are serially uncorrelatedcor(   ) = cov(   ) = 0 for all  6=  and  6= In addition, under the normal distribution assumption lack of serial correlation implies time indpendence of returns over time. Clearly, these are verystrong assumptions. However, they allow us to develop a straightforward
probabilistic model for asset returns as well as statistical tools for estimating
the parameters of the model, testing hypotheses about the parameter values
and assumptions.

1.1.1

Regression Model Representation

A convenient mathematical representation or model of asset returns can begiven based on Assumption 1. This is the CER regression model. For assets

3

1.1 CER MODEL ASSUMPTIONS
 = 1      and time periods  = 1      the CER regression model is{ }=1=  +  ∼ GWN(0  2 )⎧⎨ =

cov(   ) =⎩ 0  6= 

(1.1)

The notation  ∼ GWN(0  2 ) stipulates that the stochastic process { }=1
is a Gaussian white noise process with [ ] = 0 and var( ) =  2  In
addition, the random error term  is independent of  for all assets  6= and all time periods  6= .
Using the basic properties of expectation, variance and covariance, we
can derive the following properties of returns in the CER model:[ ] = [ +  ] =  + [ ] =  
var( ) = var( +  ) = var( ) =  2 
cov(   ) = cov( +    +  ) = cov(   ) =   cov(   ) = cov( +    +  ) = cov(   ) = 0  6= Given that covariances and variances of returns are constant over time implies that the correlations between returns over time are also constant: 
cov(   )cor(   ) = p==   
var( )var( )0cov(   )== 0  6=   6= cor(   ) = pvar( )var( )Finally, since { }=1 ∼ GWN(0  2 ) it follows that { }=1 ∼  (   2 )
Hence, the CER regression model (1.1) for  is equivalent to the model
implied by Assumption 1.
Interpretation of the CER Regression Model
The CER model has a very simple form and is identical to the measurement
error model in the statistics literature.1 In words, the model states that each1

In the measurement error model,  represents the  measurement of some physical quantity  and  represents the random measurement error associated with themeasurement device. The value   represents the typical size of a measurement error.

4CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL
asset return is equal to a constant  (the expected return) plus a normally
distributed random variable  with mean zero and constant variance. The
random variable  can be interpreted as representing the unexpected news
concerning the value of the asset that arrives between time  − 1 and time 
To see this, (1.1) implies that =  −  =  − [ ]
so that  is defined as the deviation of the random return from its expectedvalue. If the news between times  − 1 and  is good, then the realized
value of  is positive and the observed return is above its expected value  
If the news is bad, then  is negative and the observed return is less than
expected. The assumption [ ] = 0 means that news, on average, is neutral;neither good nor bad. The assumption that var( ) =  2 can be interpreted
as saying that volatility, or typical magnitude, of news arrival is constantover time. The random news variable aﬀecting asset ,   is allowed to becontemporaneously correlated with the random news variable aﬀecting asset   to capture the idea that news about one asset may spill over and aﬀect
another asset. For example, if asset  is Microsoft stock and asset  is Apple
Computer stock, then one interpretation of news in this context is generalnews about the computer industry and technology. Good news should leadto positive values of both  and   Hence these variables will be positively
correlated due to a positive reaction to a common news component. Finally,
the news on asset  at time  is unrelated to the news on asset  at time  forall times  6=  For example, this means that the news for Apple in January
is not related to the news for Microsoft in February.

1.1.2

Location-Scale Model Representation

Sometimes it is convenient to re-express the regression form of the CER
model (1.1) in location-scale form{ }=1=  +  =  +   · ∼ GWN(0 1)

(1.2)

where we use the decomposition  =   ·   In this form, the random
news shock is the  standard normal random variable  scaled by the“news” volatility    This form is particularly convenient for Value-at-Risk

1.1 CER MODEL ASSUMPTIONS

5

calculations because the  × 100% quantile of the return distribution has thesimple form =  +   × 

where  is the  × 100% quantile of the standard normal random distribution. Let 0 be the initial amout of wealth to be invested from time  − 1to  If  is the simple return then
VaR = 0 × whereas if  is the continuously compounded return then
³ 
´

VaR = 0 ×  − 1

1.1.3

The CER Model in Matrix Notation

Define the  × 1 vectors  = (1       )0 , μ = (1       )0  ε =(1       )0 and the  ×  symmetric covariance matrix⎞⎛2
  12 · · ·  1
⎟
⎜ 1
⎟
⎜
2
⎜  12  2 · · ·  2 ⎟⎟var(ε ) = Σ = ⎜⎜ ..
.. . .
.. ⎟ 
.
⎜ .
.
. ⎟
⎠
⎝
2
 1  2 · · ·  Then the regression form of the CER model in matrix notation isR = μ + ε ε ∼ iid (0 Σ)

(1.3)

which implies that  ∼  (μ Σ)
The location-scale form of the CER model in matrix notation makes use of
the matrix square root factorization Σ = Σ12 Σ120 where Σ12 is the lowertriangular matrix square root (usually the Cholesky factorization). Then
(1.3) can be rewritten as
R = μ + Σ12 Z 
Z ∼ iid (0 I )
where I denotes the -dimensional identity matrix.

(1.4)

6CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL

1.1.4

The CER Model for Continuously Compounded
Returns

The CER model is often used to describe cc returns defined as  = ln( −1 )where  is the price of asset  at time  This is particularly convenient forinvestment risk analysis. An advantage of the CER model for cc returns
is that the model aggregates to any time horizon because multi-period cc
returns are additive. The CER model for cc returns also gives rise to therandom walk model for the logarithm of asset prices. The normal distribution assumption of the CER model for cc returns implies that single-period
simple returns are log-normally distributed.
A disadvantage of the CER model for cc returns is that the model hassome limitations for the analysis of portfolios because the cc return on a
portfolio of assets is not a weighted average of the cc returns on the individual
securities. As a result, for portfolio analysis the CER model is typicallyapplied to simple returns.
Time Aggregation and the CER Model
The CER model for cc returns has the following nice aggregation property
with respect to the interpretation of  as news. For illustration purposes,
suppose that  represents months so that  is the cc monthly return on
asset . Now, instead of the monthly return, suppose we are interested in theannual cc return  =  (12). Since multi-period cc returns are additive, (12) is the sum of 12 monthly cc returns:
 =  (12) =

11
X
=0

− =  + −1 + · · · + −11 Using the CER regression model (1.1) for the monthly return   we may
express the annual return  (12) as (12) =

11
11
X
X
( +  ) = 12 ·  + =  (12) +  (12)
=0

=0

where  (12) = 12 ·  is the annual expected return on asset  and  (12) =P
11
=0 − is the annual random news component. The annual expected
return,  (12) is simply 12 times the monthly expected return,  . The

7

1.1 CER MODEL ASSUMPTIONS

annual random news component,  (12) , is the accumulation of news over
the year. As a result, the variance of the annual news component, ( (12))2 
is 12 times the variance of the monthly news component:var( (12)) = var

Ã 11
X

−

=0

=
=

11
X
=0
11
X

!

var(− ) since  is uncorrelated over time 2 since var( ) is constant over time

=0

= 12 ·  2 =  2 (12)
It follows that the standard deviation of the annual news is equal totimes the standard deviation of monthly news:
SD( (12)) =

√
12

√
√
12 × SD( ) = 12 ×   

Similarly, due to the additivity of covariances, the covariance between  (12)and  (12) is 12 times the monthly covariance:cov( (12)  (12)) = cov

Ã 11X− 

=0

=
=

11
X
=0
11
X

11
X
=0

−

!

cov(−  − ) since  and  are uncorrelated over time  since cov(   ) is constant over time

=0

= 12 ·   =   The above results imply that the correlation between the annual errors  (12)and  (12) is the same as the correlation between the monthly errors  and8CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL :cov( (12)  (12))
cor( (12)  (12)) = pvar( (12)) · var( (12))
12 ·  = q
12 2 · 12 2 ==  = cor(   )
 
The above results generalize to aggregating returns to arbitrary time horizons. Let  denote the cc return between times  − 1 andP  where  represents the general investment horizon, and let  () = −1
=0 − denotethe -period cc return. Then the CER model for  () has the form () =  () +  () () ∼ (0 2 ())

P
where  () =  ×  is the -period expected return,  () = −1
=0 − is22the -period error term, and   () =  ×   is the -period variance.
√ The-period volatility follows the square-root-of-time rule:   () =  ×   This aggregation result is exact for cc returns but it is often used as an
approximation for simple returns.
The Random Walk Model of Asset Prices
The CER model for cc returns (1.1) gives rise to the so-called random walk
(RW) model for the logarithm of asset prices. To see this,recallthat the´³
cc return,   is defined from asset prices via  = ln −1 = ln( ) −ln(−1 ) Letting  = ln( ) and using the representation of  in the CER
model (1.1), we can express the log-price as: = −1 +  +  (1.5)

The representation in (1.5) is known as the RW model for log-prices.2 It isa representation of the CER model in terms of log-prices.
2

The model (1.5) is technically a random walk with drift   A pure random walk has
zero drift ( = 0).

91.1 CER MODEL ASSUMPTIONSIn the RW model (1.5),  represents the expected change in the log-price(cc return) between months  − 1 and  and  represents the unexpectedchange in the log-price That is,[∆ ] = [ ] =  
 = ∆ − [∆ ]
where ∆ =  − −1  Further, in the RW model, the unexpected changes
in log-price,   are uncorrelated over time (cov(   ) = 0 for  6= ) sothat future changes in log-price cannot be predicted from past changes in
the log-price.3
The RW model gives the following interpretation for the evolution of log
prices. Let 0 denote the initial log price of asset . The RW model saysthat the log-price at time  = 1 is1 = 0 +  + 1 
where 1 is the value of random news that arrives between times 0 and 1
At time  = 0 the expected log-price at time  = 1 is[1 ] = 0 +  + [1 ] = 0 +  
which is the initial price plus the expected return between times 0 and 1.
Similarly, by recursive substitution the log-price at time  = 2 is2 = 1 +  + 2= 0 +  +  + 1 + 2
2
X= 0 + 2 ·  +
 
=1

which is equal to the initial log-price, 0  plus the two period expected
P2 return,2 ·  , plus the accumulated random news over the two periods, =1   By
repeated recursive substitution, the log price at time  =  is = 0 +  ·  +
3


X

 

=1

The notion that future changes in asset prices cannot be predicted from past changes
in asset prices is often referred to as the weak form of the eﬃcient markets hypothesis.

10CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL
At time  = 0 the expected log-price at time  =  is[ ] = 0 +  ·  
which is the initial price plus the expected growth in prices over  periods.
The actual price,   deviates from the expected price by the accumulated
random news:X − [ ] =
 
=1

At time  = 0 the variance of the log-price at time  is!
Ã Xvar( ) = var
 =  ·  2=1

Hence, the RW model implies that the stochastic process of log-prices { } is
non-stationary because the variance of  increases with  Finally, because ∼  (0  2 ) it follows that (conditional on 0 )  ∼ (0 +     2 )
The term random walk was originally used to describe the unpredictable
movements of a drunken sailor staggering down the street. The sailor starts
at an initial position, 0  outside the bar. The sailor generally moves inthe direction described by  but randomly deviates from this direction after
each step  by an amountP equal to   After  steps the sailor ends up at
position  = 0 +· + =1   The sailor is expected to be at location 
but where he actually
up depends on the accumulation of the randomPends

changes in direction =1   Because var( ) =  2  the uncertainty about
where the sailor will be increases with each step.
The RW model for log-prices implies the following model for prices: =  = 0  ·+ =1  = 0    =1  P
where  = 0 +  + =1   The term   represents the expected exponential
growth rate in prices between times 0 and time  and the term
 =1  represents the unexpected exponential growth in prices. Here, conditional on 0   is log-normally distributed because  = ln  is normally
distributed.

1.1.5

CER Model for Simple Returns

−1
For simple returns, defined as  = − the CER model is often used for−1
the analysis of portfolios as discussed in Chapters xxx and xxx. The reason

11

1.1 CER MODEL ASSUMPTIONS

is that the simple return on a portfolio of  assets is weighted average of thesimple returns on the individual assets. Hence, the CER model for simple
returns extends naturally to portfolios of assets.
CER Model and Portfolios
Consider the CER model in matrix form (1.3) for the  × 1 vector of sim0
ple returns  = (1      P)  For a vector of portfolio weights w =0(1       ) such that w 1 = = 1 the simple return on the portfolioisX0 = w R = 
=1

Substituting in (1.1) gives the CER model for the portfolio returns
 = w0 (μ + ε ) = w0 μ + w0 ε =  + 

(1.6)

P
where  = w0 μ = 
=1   is the portfolio expected return, and  =P
0w ε = =1   is the portfolio error. The variance of  is given byvar( ) = var(w0 R ) = w0 Σw =  2 

Therefore, the distribution of portfolio returns is normal ∼ (   2 )
This result is exact for simple returns but is often used as an approximation
for cc returns.
CER Model for Multi-Period Simple Returns
The CER model for single period simple returns does not extend exactly
to multi-period simple returns because multi-period simple returns are notadditive. Recall, the -period simple return has a multiplicative relationshipto single period returns
 () = (1 +  )(1 + −1 ) × · · · × (1 + −+1 ) − 1=  + −1 + · · · + −+1+ −1 +  −2 + · · · + −+2 −+1 

12CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL
Even though single period returns are normally distributed in the CER
model, multi-period returns are not normally distributed because the product of two normally distributed random variables is not normally distributed.
Hence, the CER model does not exactly generalize to multi-period simple returns. However, if single period returns are small then all of the cross products of returns are approximately zero ( −1 ≈ · · · ≈ −+2 −+1 ≈ 0)and () ≈  + −1 + · · · + −+1≈ () +  ()P−1where () =  and  () = =0−  Hence, the CER model is approximately true for multi-period simple returns when single period simple returns
are not too big.
Some exact returns can be derived for the mean and variance of multiperiod simple returns. For simplicity, let  = 2 so that (2) = (1 +  )(1 + −1 ) − 1 =  + −1 +  −1 
Substituting in (1.1) then gives (2) = ( +  ) + ( + −1 ) + ( +  ) ( + −1 )= 2 +  + −1 + 2 +  + −1 +  −1
= 2 + 2 +  (1 + ) + −1 (1 + ) +  −1 
The result for the expected return is easy
[ (2)] = 2 + 2 + (1 + )[ ] + (1 + )[−1 ] + [ −1 ]= 2 + 2 = (1 + )2 − 1
The result uses the independence of  and −1 to get [ −1 ] = [ ][−1 ] =0 The result for the variance, however, is more work
var( (2)) = var( (1 + ) + −1 (1 + ) +  −1 )= (1 + )2 var( ) + (1 + )2 var(−1 ) + var( −1 )+2(1 + )2 cov(  −1 ) + 2(1 + )cov(   −1 )+2(1 + )cov(−1   −1 )Now, var( ) = var(−1 ) =  2 and cov(  −1 ) = 0 Next, note thatvar( −1 ) = [2 2−1 ] − ([ −1 ])2 = [2 ][2−1 ] − ([ ][−1 ])2 = 2 2 

1.2 MONTE CARLO SIMULATION OF THE CER MODEL

13

Finally,cov(   −1 ) = [ ( −1 )] − [ ][ −1 ]= [2 ][−1 ] − [ ][ ][−1 ]
= 0
Then
var( (2)) = (1 + )2  2 + (1 + )2  2 + 2 2
= 2 2 [(1 + )2 + 1]
If  is close to zero then [ (2)] ≈ 2 and var( (2)) ≈ 22 and so thesquare-root-of-time rule holds approximately.

1.2

Monte Carlo Simulation of the CER Model

A simple technique that can be used to understand the probabilistic behaviorof a model involves using computer simulation methods to create pseudo datafrom the model. The process of creating such pseudo data is called Monte
Carlo simulation.4 Monte Carlo simulation of a model can be used as a firstpass “reality check” of the model. If simulated data from the model do notlook like the data that the model is supposed to describe, then serious doubt
is cast on the model. However, if simulated data look reasonably close to
the actual data then the first step reality check is passed. Ideally, one should
consider many simulated samples from the model because it is possible for agiven simulated sample to look strange simply because of an unusual set of
random numbers. Monte Carlo simulation can also be used to create “whatif?” type scenarios for a model. Diﬀerent scenarios typically correspond with
diﬀerent model parameter values. Finally, Monte Carlo simulation can beused to study properties of statistics computed from the pseudo data fromthe model. For example, Monte Carlo simulation can be used to illustrate
the concepts of estimator bias and confidence interval coverage probabilities.
To illustrate the use of Monte Carlo simulation, consider creating pseudo
return data from the CER model (1.1) for a single asset. The steps to createa Monte Carlo simulation from the CER model are:
1. Fix values for the CER model parameters  and .
4Monte Carlo refers to the famous city in Monaco where gambling is legal.

0.0
-0.4

-0.2

Monthly CC Return

0.2

14CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL

1999

2001

2003

2005

2007

2009

2011

Index

Figure 1.1: Monthly continuously compounded returns on Microsoft. Dashedlines indicate ̂ ± ̂
2. Determine the number of simulated values,  to create.
3. Use a computer random number generator to simulate   valuesof  from a (0 2 ) distribution. Denote these simulated values as̃1      ̃ 
4. Create the simulated return data ̃ =  + ̃ for  = 1     

Example 1 Microsoft data to calibrate univariate Monte Carlo simulationof CER model
To motivate plausible values for  and  in the simulation, Figure 1.1
shows the monthly cc returns on Microsoft stock over the period January
1998 through May 2012. The data is the same as that used in Chapter xxx

1.2 MONTE CARLO SIMULATION OF THE CER MODEL

15(Descriptive Statistics for Finance Data) and is retrieved from Yahoo! using
the tseries function get.hist.quote() as follows> msftPrices = get.hist.quote(instrument="msft", start="1998-01-01",+
end="2012-05-31", quote="AdjClose",+
provider="yahoo", origin="1970-01-01",+
compression="m", retclass="zoo")> colnames(msftPrices) = "MSFT"> index(msftPrices) = as.yearmon(index(msftPrices))> msftRetS = Return.calculate(msftPrices, method="simple")> msftRetS = msftRetS[-1]> msftRetC = log(1 + msftRetS)
The parameter  = [ ] in the CER model is the expected monthly return,and  represents the typical size of a deviation about . In Figure 1.1, thereturns seem to fluctuate up and down about a central value near 0 and thetypical size of a return deviation about 0 is roughly 0.10, or 10% (see dashedlines in figure). The sample mean turns out to be ̂ = 0004 (0.4%) and thesample standard deviation is ̂ = 0100 (10%). Figure 1.2 shows three distribution summaries (histogram, boxplot and normal qq-plot) and the SACF.
The returns look to have slightly fatter tails than the normal distribution
and show little evidence of linear time dependence (autocorrelation). ¥Example 2 Simulating observations from the CER model
To mimic the monthly return data on Microsoft in the Monte Carlo simulation, the values  = 0004 and  = 010 are used as the model’s true
parameters and  = 172 is the number of simulated values (sample size ofactual data) Let {̃1      ̃172 } denote the 172 simulated values of the news
variable  ∼ GWN(0 (010)2 )The simulated returns are then computed using5(1.7)
̃ = 0004 + ̃   = 1     172
To create and plot the simulated returns from (1.7) use> mu = 0.004> sd.e = 0.10
5Alternatively, the returns can be simulated directly by simulating observations froma normal distribution with mean 00 and standard deviation 01016CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL

0.0
-0.2

2
0

-0.4

1

Density3

0.2

4monthly returns

-0.4

-0.2

0.0

0.2

0.4

0.2
0.0
-0.2
-0.4

Sample Quantiles

-0.2

ACF

0.2 0.4 0.6 0.8 1.0

Normal Q-Q Plot

0

5

10
Lag

15

20

-2

-1

0

1

2

Theoretical Quantiles

Figure 1.2: Graphical descriptive statistics for the monthly cc returns on
Microsoft.
> nobs = 172> set.seed(111)> sim.e = rnorm(nobs, mean=0, sd=sd.e)> sim.ret = mu + sim.e> sim.ret = zoo(sim.ret, index(msftRetC))> plot(sim.ret, main="",+lwd=2, col="blue", ylab="Monthly CC Return")> abline(h=0, lwd=2)> abline(h=(mu+sd.e), lty="dashed", lwd=2)> abline(h=(mu-sd.e), lty="dashed", lwd=2)
The simulated returns {̃ }172
=1 (with the same time index as the Microsoft
returns) are shown in Figure ??. The simulated return data fluctuate ran-

17

0.0
-0.1
-0.3

-0.2

Monthly CC Return

0.1

0.2

1.2 MONTE CARLO SIMULATION OF THE CER MODEL

1999

2001

2003

2005

2007

2009

2011

Index

Figure 1.3: Monte Carlo simulated returns from the CER model for Microsoft.
domly about  = 0004 and the typical size of the fluctuation is approximately equal to  = 010 The simulated return data look somewhat likethe actual monthly return data for Microsoft. The main diﬀerence is thatthe return volatility for Microsoft appears to have decreased in the latterpart of the sample whereas the simulated data has constant volatility overthe entire sample. Figure 1.4 shows the distribution summaries (histogram,boxplot and normal qq-plot) and the SACF for the simulated returns. The
simulated returns are normally distributed and show thinner tails than theactual returns. The simulated returns also show no evidence of linear timedependence (autocorrelation). ¥Example 3 Simulating log-prices from the RW model
The RW model for log-price based on the CER model (1.7) calibrated to18CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL

-0.1

2
0

-0.3

1

Density3

4

0.1 0.2

monthly returns-0.3 -0.2 -0.1

0.0

0.1

0.2

0.3

0.1 0.2-0.1-0.3

Sample Quantiles

ACF

0.0 0.2 0.4 0.6 0.8 1.0

Normal Q-Q Plot

0

5

10

15

20

-2

Lag

-1

0

1

2

Theoretical Quantiles

Figure 1.4: Graphical descriptive statistics for the Monte Carlo simulated
returns on Microsoft.
Microsoft log prices is = 2592 + 0004 ·  +


X
=1

   ∼ GWN(0 (010)2 )

where 0 = 2592 = ln(1336) is the log of first Microsoft Price. A Monte
Carlo simulation of this RW model with can be created in R using> sim.p = 2.592 + mu*seq(nobs) + cumsum(sim.e)> sim.P = exp(sim.p)
Figure 1.5 shows the simulated values. The top panel shows the simulated
log price, ̃ (blue solid line) the expected price [̃ ] = 2592 + 0004
P · 
(green dashed line) and the accumulated random news ̃ − [̃ ] = =1 ̃

19

-1

0

1

2

3

4

1.2 MONTE CARLO SIMULATION OF THE CER MODEL

10

20

30

40

p(t)-E[p(t)]E[p(t)]
log p
P

1999

2001

2003

2005

2007

2009

2011

Index

Figure 1.5:
(dotted red line). The bottom panel shows the simulated price levels ̃ = ̃(solid black line). Figure 1.6 shows the actual log prices and price levels for
Microsoft stock. Notice the similarity between the simulated random walkdata and the actual data. ¥1.2.1

Simulating Returns on More than One Asset

Creating a Monte Carlo simulation of more than one return from the CER
model requires simulating observations from a multivariate normal distribution. This follows from the matrix representation of the CER model givenin (1.3). The steps required to create a multivariate Monte Carlo simulationare:
1. Fix values for  × 1 mean vector μ and the  ×  covariance matrix
Σ.

0

1

2

3

20CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL

15

20

25

30

35

40

p(t)-E[p(t)]E[p(t)]
log p
P

1998

2000

2002

2004

2006

2008

2010

2012

Index

Figure 1.6:
2. Determine the number of simulated values,  to create.
3. Use a computer random number generator to simulate   values ofthe  × 1 random vector ε from the multivariate normal distribution
(0 Σ). Denote these simulated vectors as ε̃1      ε̃ 
4. Create the  × 1 simulated return vector ̃ = μ + ε̃ for  = 1     
Example 4 Microsoft, Starbucks and S&P 500 data to calibrate multivariate
Monte Carlo simulation of CER model
To motivate the parameters for a multivariate simulation of the CER
model, consider the monthly cc returns for Microsoft, Starbucks and the
S&P 500 index over the period January 1998 through May 2012 illustrated
in Figures 1.7 and 1.8. The data is assembled using the R commands

21

0.0
0.0
-0.2
-0.05
-0.15

SP500

0.05

-0.4

SBUX

0.2

-0.4

-0.2

MSFT

0.2

1.2 MONTE CARLO SIMULATION OF THE CER MODEL

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

Index

Figure 1.7:
> sbuxPrices = get.hist.quote(instrument="sbux", start="1998-01-01",+
end="2012-05-31", quote="AdjClose",+
provider="yahoo", origin="1970-01-01",+
compression="m", retclass="zoo")> sp500Prices = get.hist.quote(instrument="^gspc", start="1998-01-01",+
end="2012-05-31", quote="AdjClose",+
provider="yahoo", origin="1970-01-01",+
compression="m", retclass="zoo")> colnames(sbuxPrices) = "SBUX"> colnames(sp500Prices) = "SP500"> index(sbuxPrices) = as.yearmon(index(sbuxPrices))> index(sp500Prices) = as.yearmon(index(sp500Prices))> cerPrices = merge(msftPrices, sbuxPrices, sp500Prices)> sbuxRetS = Return.calculate(sbuxPrices, method="simple")> sp500RetS = Return.calculate(sp500Prices, method="simple")

22CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL

-0.2

0.0

0.2

0.0

0.2

-0.4

0.0

0.2

-0.4

-0.2

MSFT

0.05

-0.4

-0.2

SBUX

-0.15

-0.05

SP500

-0.4

-0.2

0.0

0.2

-0.15

-0.05

0.05

Figure 1.8:
> cerRetS = Return.calculate(cerPrices, method="simple")> sbuxRetS = sbuxRetS[-1]> sp500RetS = sp500RetS[-1]> cerRetS = cerRetS[-1]> sbuxRetC = log(1 + sbuxRetS)> sp500RetC = log(1 + sp500RetS)> cerRetC = merge(msftRetC, sbuxRetC, sp500RetC)
The multivariate sample descriptive statistics (mean vector, standard deviation vector, covariance matrix and correlation matrix) are> apply(cerRetC, 2, mean)
MSFT
SBUX
SP500
0.004127 0.014657 0.001687

1.2 MONTE CARLO SIMULATION OF THE CER MODEL

23> apply(cerRetC, 2, sd)
MSFT
SBUX
SP500
0.10026 0.11164 0.04847> cov(cerRetC)
MSFT
SBUX
SP500
MSFT 0.010051 0.003819 0.003000
SBUX 0.003819 0.012465 0.002476
SP500 0.003000 0.002476 0.002349> cor(cerRetC)MSFTSBUX SP500
MSFT 1.0000 0.3412 0.6173
SBUX 0.3412 1.0000 0.4575
SP500 0.6173 0.4575 1.0000
All returns fluctuate around mean values close to zero. The volatilities ofMicrosoft and Starbucks are similar with typical magnitudes around 0.10, or10%. The volatility of the S&P 500 index is considerably smaller at about
0.05, or 5%. The pairwise scatterplots show that all returns are positively
related. The pairs (MSFT, SP500) and (SBUX, SP500) are the most correlated with sample correlation values around 0.5. The pair (MSFT, SBUX)
has a moderate positive correlation around 0.3. ¥Example 5 Monte Carlo simulation of CER model for three assets
Simulating values from the multivariate CER model (1.3) requires simulating
multivariate normal random variables. In R, this can be done using thefunction rmvnorm() from the package mvtnorm. The function rmvnorm()
requires a vector of mean values and a covariance matrix. Define
⎛
⎛
⎛
⎞
⎞
⎞
 
 2       500
⎜
⎜
⎜
⎟
⎟
⎟
⎜
⎜
⎜
⎟
⎟
⎟
2
R = ⎜  ⎟  μ = ⎜  ⎟  Σ = ⎜     500 ⎟
⎝
⎝
⎝
⎠
⎠
⎠
2
500500  500  500  500
The parameters μ and Σ of the multivariate CER model are set equal to thesample mean vector μ and sample covariance matrix Σ> muVec = apply(cerRetC, 2, mean)> covMat = cov(cerRetC)

0.1
0.0
0.05
0.00

SBUX

-0.10

-0.05

SP500

0.10 -0.3-0.1 0.0 0.1 0.2

0.3

-0.2

-0.1

MSFT

0.2

24CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL

1999

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

Index

Figure 1.9:
To create a Monte Carlo simulation from the CER model calibrated to themonth continuously returns on Microsoft, Starbucks and the S&P 500 index
use> set.seed(123)> returns.sim = rmvnorm(n.obs, mean=muVec, sigma=covMat)> colnames(returns.sim) = colnames(cerRetC)> returns.sim = zoo(returns.sim, index(cerRetC))
The simulated returns are shown in Figures 1.9 and 1.10. They look similar
to the actual returns shown in Figures 1.7 and 1.8. The actual returns show
periods of high and low volatility that the simulated returns do not. The
sample statistics from the simulated returns, however, are close to the sample
statistics of the actual data> apply(returns.sim, 2, mean)

1.3 CONCLUSIONS

25

MSFT
SBUX
SP500
0.006709 0.013812 0.005080> apply(returns.sim, 2, sd)
MSFT
SBUX
SP500
0.09513 0.10512 0.04601> cov(returns.sim)
MSFT
SBUX
SP500
MSFT 0.009051 0.003539 0.002464
SBUX 0.003539 0.011050 0.001942
SP500 0.002464 0.001942 0.002117> cor(returns.sim)
MSFT
SBUX SP500
MSFT 1.0000 0.3539 0.5630
SBUX 0.3539 1.0000 0.4015
SP500 0.5630 0.4015 1.0000¥

1.3

Conclusions• Next chapters discuss estimation, hypothesis testing and model validation.

1.4

Further Reading

To be completed

1.5

Problems

To be completed

26CHAPTER 1 THE CONSTANT EXPECTED RETURN MODEL

-0.2

0.0

0.2

0.0

0.2

-0.4

0.0

0.2

-0.4

-0.2

MSFT

0.05

-0.4

-0.2

SBUX

-0.15

-0.05

SP500

-0.4

-0.2

0.0

0.2

-0.15

Figure 1.10:

-0.05

0.05

Bibliography[1] Campbell, Lo and MacKinley (1998). The Econometrics of Financial
Markets, Princeton University Press, Princeton, NJ.

27