# Factor-based Expected Returns, Risks and Correlations

## Factor-based Asset Expected Returns

What is the expected return for a single asset whose return is generated by a factor model?  The answer conforms nicely with intuition -- each uncertain term in the factor model equation can simply be replaced with its expected value.  Thus, if:

ri~ = bi1*f1~ + bi2*f2~ + .... + bim*fm~ + ei~

It will be the case that:

ev(ri) = bi1*ev(f1) + bi2*ev(f2) + .... + bim*ev(fm) + ev(ei)

where ev(x) denotes the expected value of x

To see why this is the case, recall that for a given possible future scenario s:

ris = bi1*f1s + bi2*f2s + .... + bim*fms + eis

Now, multiply each term by prs , the probability that the scenario will occur:

prs*ris = prs*bi1*f1s + prs*bi2*f2s + .... + prs*bim*fms + prs*eis

This equation will continue to hold (the left side value must equal the right side value) and there will be one such equation for each possible scenario.

Next, add together the equations for all S possible scenarios.  Letting sums(   ) denote the sum for s=1...S, we have:

sums(prs*ris) = sums(prs*bi1*f1s) + sums(prs*bi2*f2s) + .... + sums(prs*bim*fms) + sums(prs*eis)

Collecting terms that have scenario subscripts gives:

sums(prs*ris) = bi1*sums(prs*f1s) + bi2*sums(prs*f2s) + .... + bim*sums(prs*fms) + sums(prs*eis)

By definition, the first sum is the asset's expected return, the next m sums are the expected returns of the factors, and the last term is the expected residual return.   Thus:

ev(ri) = bi1*ev(f1) + bi2*ev(f2) + .... + bim*ev(fm) + ev(ei)

as asserted.

If the expected residual return is represented by ai, the equation can be written as:

ev(ri) = ai + bi1*ev(f1) + bi2*ev(f2) + .... + bim*ev(fm)

or, in matrix terms:

e(i) = b*ef + a(i)

where:

e(i)= r*pr'
ef = F*pr'
a(i) = e*pr'

Here, pr represents a {1*S} vector of probabilities, r a {1*S} vector of asset returns, F a {M*S} matrix of factor values, and e a {1*S} vector of residual returns. As previously, b represents  a {1*M} vector indicating the asset's sensitivities to the factors. The computed values are: e(i), a scalar representing the asset's expected return; ef, an {M*1} vector of factor expected values; and a(i), a scalar representing the asset's expected residual return.

This rather tortuous proof suffices for other situations involving linear functions.   The expected value of a variable that is a linear function of other variables will itself be a linear function of the expected values of the variables in question, using the same constants (here, bij values).

The equation for an asset's expected return could be used to compute the expected return on each asset, one at a time. However, it is far more efficient to generalize it so that the entire vector of asset expected returns can be computed in one operation. This is straightforward.  Let:

e =  an {N*1) vector of asset expected returns

B =  an {N*m} matrix of factor exposures, where B(i,j) is the exposure of asset i to factor j

ef =  an {m*1} vector of asset expected returns

a =  an {N*1} vector of the expected residual returns

e =  an {N*1) vector of asset expected returns

Then:

e = B*ef + a

This is a Matlab expression which requires one operation to do the entire job.

With respect to expected returns, it would appear that the use of a factor model has actually increased the number of required estimates.  In this approach, for N assets the Analyst needs N estimates of a(i) plus estimates of the expected values of the M factors.  While this is true, there are at least some cases in which it is reasonable to assume that each asset has the same expected residual return, or that each such expected residual return is related in a simple way to the asset's factor sensitivities.  In such cases, the number of estimates required to specify asset expected returns may be considerably smaller than N.  Even when this is not so, a small increase in the size of the task of estimating expected values is a reasonable price to pay for the substantial decreases in the magnitude the task of estimating risks, as the next section shows.

## Factor-based Asset Covariances and Variances

To determine the relationship between factor characteristics and those of an asset it is useful to re-examine the nature of covariance.  Put in future terms, the covariance of asset i with asset j is the expected value of the product of (1) the deviation of asset i's return from its mean and (2) the deviation of asset j's return from its mean:

cov(ri,rj) =  ev( (ri-ei)*(rj-ej))

From this is follows that if k is a constant:

cov(ri,k*rj) =  ev( (ri-ei)*(k*rj-k*ej)) = ev( (ri-ei)*k*(rj-ej)) = k*ev( (ri-ei)*(rj-ej)) = k*cov(ri,rj)

In words: the covariance of a variable with a constant times another variable equals the constant times the covariance of the two variables.

The definition of covariance also implies that if ri,rj, and rk are returns:

cov(ri,rj+rk) =  ev( (ri-ei)*((rj+rk) - (ej+ek)) = ev( (ri-ei)*((rj-ej)+(rk-ek)) = ev( (ri-ei)*((rj-ej)+ ev( (ri-ei)*((rk-ek)) = cov(ri,rj)+cov(ri,rk)

In words: the covariance of a variable with the sum of two variables equals the sum of its covariances with the two variables. Clearly, a similar statement holds for the relationship between the covariance of a variable with the difference between two other variables.

Now, consider the covariance between two assets (i and j), where the returns of each are determined by a factor model.  To keep notation to a minimum, let there be two factors. The relationships are thus:

ri~ = bi1*f1~ + bi2*f2~  + ei~

rj~ = bj1*f1~ + bj2*f2~  + ej~

The goal is to determine the covariance between ri~ and rj~.  Substituting the right-hand sides of the equations, we have:

cov(ri~,rj~) = cov( (bi1*f1~ + bi2*f2~   + ei~ ), (bj1*f1~ + bj2*f2~  + ej~))

Using the relationships derived earlier, the right-hand side of this equation can be re-written as the sum of nine covariances, since there are three terms in each component.   However, some of these will equal zero.  The maintained assumptions of the factor model are that each residual is uncorrelated with that of any other variable, and that each residual is uncorrelated with each of the factors.  However, since a variable's residual return will be correlated with itself, the corresponding term should be included to cover the case in which i=j.  Including only the terms that could be non-zero, and dropping the tildes gives:

cov(ri,rj) = bi1*bj1*cov(f1,f1) + bi1*bj2*cov(f1,f2) + bi2*bj1*cov(f2,f1) + bi2*bj2*cov(f2,f2) + cov( ei,ej)

This can be written far more succinctly using matrix notation:

Cij = bi*CF*bj' + rvij

where:

Cij = the covariance between the returns on assets i and j

bi = a {1*m} vector of asset i's exposures to the m factors

CF = an {m*m} matrix of the factor covariances

bj = a {1*m} vector of asset j's exposures to the m factors

rvij = the covariance between the residuals on assets i and j

Note that rvij will equal zero if i and j are different, but will equal the variance of the asset's residual if i=j.

A small amount of reflection on this derivation will indicate that the matrix version of the formula is as applicable if there are more than two factors as it is if there are two.

The formula can be used to compute the variance of an asset's return since var(ri) = Cii.Thus:

var(ri) = bi*CF*bi' + rvii

More impressively, the formula can be generalized to compute the entire covariance matrix for asset returns.  As before, let:

B =  an {N*m} matrix of factor exposures, where B(i,j) is the exposure of asset i to factor j

and

rv = an {N*1} matrix, where rv(i) is the residual variance for asset i (that is, the variance of ei)

Then in Matlab notation:

C = B*CF*B' + diag(rv)

where:

diag(rv) = a matrix with the elements of rv on the main diagonal and zeros elsewhere.

For problems involving many securities (N) and relatively few factors (m) the number of potentially different estimated variables (those on the right-hand side of the equation) can be very much smaller than the number of asset covariances (on the left-hand side of the equation).  For each of the covariances matrices (C and CF) we count only the elements on and below the diagonal, since once those are known, the remainder can be filled in.  Taking this into account, the numbers of values to be determined for each component are:

C:  (N2+N)/2

CF: (m2+m)/2

B:  N*m

rv:  N

The table below shows a few examples.

 N m C CF B rv CF+B+rv 100 3 5,050 6 300 100 406 1,000 3 500,500 6 3,000 1,000 4,006 9,000 15 40,504,500 120 135,000 9,000 144,120 7,000 60 24,503,500 1,830 420,000 7,000 428,830

The first two rows are included for illustrative purposes.  The third is representative of a typical model used for U.S. mutual funds, with 15 broad asset class returns used for factors to explain the returns of the many thousand mutual funds in the country.  The fourth row is representative of some commercial models that use a number of factors to explain the returns of the thousands of common stocks in the United States.

As the table vividly illustrates, the number of potentially different asset covariances (in C) can be huge.  While the number of estimates required if a factor model is used (shown in the last column) can be large, the use of such a model reduces a virtually intractable problem to one that can be manageable.

Finally, we can compare the total number of estimates required with and without a factor model for each of the four cases. In addition to the estimates required for covariances, those needed for expected returns (e), factor expected returns (ef) and residual expected returns (a) need to be taken into account. The table below shows the results:

 N m C e CF B rv ef a without model with model 100 3 5,050 100 6 300 100 3 100 5,150 509 1,000 3 500,500 1,000 6 3,000 1,000 3 1,000 501,500 5,009 9,000 15 40,504,500 9,000 120 135,000 9,000 15 9,000 40,513,500 153,135 7,000 60 24,503,500 7,000 1,830 420,000 7,000 60 7,000 24,510,500 435,890

The conclusion is the same.  A factor model is a necessity for the estimation of risks and returns if problems of any size are to be analyzed.

## Factor-based Portfolio Expected Returns and Risks

All the work performed in the previous sections can be summarized with the two equations for asset expected returns (e) and covariances (C):

e = B*ef + a

C = B*CF*B' + diag(rv)

It is now time to consider portfolios of assets.

The custom is to represent a portfolio by an {N*1} vector x in which each element is the proportion (by value) invested in an asset and the sum of the x's equals 1. As usual, the portfolio's expected return is given by:

ep = x'*e

and its variance by:

vp = x'*C*x

One could use the factor model-based equations to compute e and C, then the equations for portfolio expected return and variance to compute the portfolio's characteristics.   However, this would require the creation of a possibly very large asset covariance matrix (C).  An far more attractive alternative combines the equations, simplifies, and then solves for ep and vp.

First, take the equations for expected return.  Combine:

e = B*ef + a

and

ep = x'*e

to get:

e = x'*B*ef + x'*a

Grouping terms slightly gives:

ep = (x'*B)*ef + x'*a

The parenthesized expression involves multiplying a {1*N}vector by a {N*m} matrix.   The result is a {1*m} vector that we will call bp:

bp =  x'*B

The terminology is not without a purpose, for each element of bp indicates the exposure of the portfolio to a factor.  In somewhat casual notation:

bpf = sumi (xi*bif)

More succinctly:

bp = a {1*m} vector of the portfolio's exposures to the m factors

where each exposure is a weighted average of the asset exposures to the factor in questions, with proportionate portfolio holdings used as weights.

The expected return of a portfolio can thus be obtained by multiplying each of its bpj values by the expected return of the associated factor and adding the weighted average of the asset residual expected returns, using the portions invested in the assets as weights:

ep = bp*ef + x'*a

A similar approach can be used for computing a portfolio's variance, with very rewarding reductions in computational requirements. Combine the equations for variance and covariance:

C = B*CF*B' + diag(rv)

and

vp = x'*C*x

to get:

vp =  x'* B*CF*B'*x' + x'*diag(rv)*x

This rather menacing equation can be simplified by grouping:

vp =  (x'* B)*CF*(B'*x') + x'*diag(rv)*x

and then replacing the first two parenthesized expressions with the equivalent vector of portfolio bpj values:

vp =  bp*CF*bp' + x'*diag(rv)*x

A further simplification is possible.  The net result of the computations in the final term is simply to multiply each residual variance by the square of the asset's   proportionate holdings, then add the results. Far better to do this directly, that is:

x'*diag(rv)*x = (x.^2)'*rv

so that:

vp =  bp*CF*bp' + (x.^2)'*rv

This set of transformations allows the computation of portfolio variance without ever computing the covariances of the component assets!  Once bp has been calculated, the portfolio's variance can be determined with one set of operations involving an {m*m} covariance matrix (CF) and another requiring the computation of only N products of two terms.  A result well worth the matrix algebra involved in the derivations.