Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Equiprobable Approximation to Bivariate Lognormal Returns

Authors
Affiliations
Johns Hopkins University
Econ-ARK
Johns Hopkins University
Econ-ARK

This section starts by defining a convenient notation to represent two rate-of-return shocks

that are distributed according to a multivariate lognormal that allows

for nonzero covariances. It next presents a computationally

simple method for constructing a numerical approximation to that joint distribution. The final

section uses both the numerical approximation, and more accurate (but enormously slower) standard numerical integration tools to assess the accuracy of the Campbell-Vicera analytical approximation to the solution to the optimal portfolio choice problem

described in Portfolio-Multi-CRRA.

1Statistical Theory

Consider a set of two normally distributed risks

θ2,t+1N(0.5Σ2,Σ2)θ1,t+1N(0.5(xΣ)2,(xΣ)2)\begin{gathered}\begin{aligned} \ShkMeanOneLog_{2,t+1} & \sim \mathcal{N}(-0.5 \sigAll^{2},\sigAll^{2}) \\ \ShkMeanOneLog_{1,t+1} & \sim \mathcal{N}(-0.5 (\scale \sigAll)^{2},(\scale \sigAll)^{2}) \end{aligned}\end{gathered}

which are statistically independent (θ1,t+1θ2,t+1\ShkMeanOneLog_{1,t+1} \perp \ShkMeanOneLog_{2,t+1}) even though the scale of shock 1’s

standard deviation is determined by the proportionality factor

x\scale multiplied by the value of shock 2’s standard deviation,

Σ\sigAll. (This permits us to increase or decrease the size of both risks

by changing Σ\sigAll and to adjust the relative size of risk 1 vs risk 2 by adjusting x\scale.)

The θ\ShkMeanOneLog are interpreted as the logarithms of level variables Θ\ShkMeanOne, and the means of the log variables have been chosen such that the expectations

of the levels are independent of the size of the risk (cf. ). That is, defining Θi=Et[eθi,t+1]\ShkMeanOne_{i} = \Ex_{t}[e^{\ShkMeanOneLog_{i,t+1}}] for i{1,2}i \in \{1,2\}:

ΘiEt[Θi,t+1]=1  ilogEt[Θi,t+1]=0  i.\begin{gathered}\begin{aligned} \ShkMeanOne_{i} \equiv \Ex_{t}[\ShkMeanOne_{i,t+1}] & = 1~\forall~i \\ \log \Ex_{t}[\ShkMeanOne_{i,t+1}] & = 0~\forall~i. \end{aligned}\end{gathered}

From the first shock we can construct a log rate-of-return variable that can be represented equivalently in either of two ways:

(rˊ1,t+1=)()r1,t+1=r1+0.5(xΣ)2rˊ1+θ1,t+1=rˊ10.5(xΣ)2=r1+0.5(xΣ)2+θ1,t+1θ1,t+1\begin{gathered}\begin{aligned} ({\riskyAlt_{1,t+1} = }) ({}) \risky_{1,t+1} & = \overbrace{\risky_{1}+0.5(\scale \sigAll)^{2}}^{\equiv \riskyAlt_{1}}+\ShkMeanOneLog_{1,t+1} \\ & = \underbrace{\riskyAlt_{1}-0.5(\scale \sigAll)^{2}}_{=\risky_{1}}+\underbrace{0.5(\scale \sigAll)^{2}+\ShkMeanOneLog_{1,t+1}}_{\equiv \ShkLogZeroLog_{1,t+1}} \end{aligned}\end{gathered}

where θ1,t+1  N(0.,(xΣ)2)\ShkLogZeroLog_{1,t+1}~\sim~\mathcal{N}(0.,(\scale \sigAll)^{2}); the notation for θ\ShkLogZeroLog is motivated by the fact that the addition of the extra term cancels the nonzero mean of the original θ\ShkMeanOneLog. Then

R1,t+1(=Rˊ1,t+1)()(erˊ1,t+1=)()er1,t+1R1(=Rˊ1Et[Rˊ1,t+1])()Et[R1,t+1]=(erˊ1+(xΣ)2/2(xΣ)2/2=erˊ1=)()er1+(xΣ)2/2logEt[R1,t+1](=logEt[Rˊ1,t+1])()=r1+(xΣ)2/2=rˊ1\begin{gathered}\begin{aligned} \Risky_{1,t+1} ({= \acute{\Risky}_{1,t+1}}) ({}) & \equiv ({e^{\riskyAlt_{1,t+1}} =}) ({}) e^{\risky_{1,t+1}} \\ \Risky_{1} ({= \acute{\Risky}_{1} \equiv \Ex_{t}[\acute{\Risky}_{1,t+1}]}) ({}) \equiv\Ex_{t}[\Risky_{1,t+1}] & = ({e^{\riskyAlt_{1}+(\scale \sigAll)^{2}/2-(\scale \sigAll)^{2}/2}= e^{\riskyAlt_{1}} =}) ({})e^{\risky_{1}+(\scale \sigAll)^{2}/2} \\ \log \Ex_{t}[\Risky_{1,t+1}] ({= \log \Ex_{t}[\acute{\Risky}_{1,t+1}]}) ({}) & = \risky_{1}+(\scale \sigAll)^{2}/2 = \riskyAlt_{1} \end{aligned}\end{gathered}

where note to avoid confusion that rˊ1(=logEt[Rˊ1,t+1])()Et[()ˊ()r1,t+1]\riskyAlt_{1} ({= \log \Ex_{t}[\acute{\Risky}_{1,t+1}]}) ({}) \neq \Ex_{t}[(\acute) (){{\risky}}_{1,t+1}]

while logEt[R1,t+1]r1=Et[r1,t+1]\log \Ex_{t}[\Risky_{1,t+1}] \neq \risky_{1}=\Ex_{t}[\risky_{1,t+1}].

Using Et[θ2,t+1]=0.5Σ2\Ex_{t}[\ShkMeanOneLog_{2,t+1}] = -0.5 \sigAll^{2} and Et[(ω/x)θ1,t+1]=0.5((ω/x)Σ)2\Ex_{t}[(\omega/\scale)\ShkMeanOneLog_{1,t+1}] = -0.5 ((\omega/\scale)\sigAll)^{2}, we can by analogy define a second return

r2,t+1(=rˊ2,t+1)()rˊ2+ζ+(ω/x)θ1,t+1+θ2,t+1=rˊ2+ζ+(ω/x)(θ1,t+10.5(xΣ)2)+(θ2,t+10.5Σ2)=rˊ2+ζ0.5(ω/x)(xΣ)20.5Σ2r2+(ω/x)θt+1,1+θ2,t+1\begin{gathered}\begin{aligned} \risky_{2,t+1} ({= \riskyAlt_{2,t+1}}) ({}) & \equiv \riskyAlt_{2}+\zeta + (\omega /\scale) \ShkMeanOneLog_{1,t+1} + \ShkMeanOneLog_{2,t+1} \\ & = \riskyAlt_{2}+\zeta + (\omega /\scale) (\ShkLogZeroLog_{1,t+1}-0.5(\scale \sigAll)^{2}) + (\ShkLogZeroLog_{2,t+1}-0.5 \sigAll^{2}) \\ & = \underbrace{\riskyAlt_{2}+\zeta -0.5 (\omega/\scale)(\scale \sigAll)^2-0.5 \sigAll^{2}}_{\risky_{2}}+(\omega /\scale) \ShkLogZeroLog_{t+1,1} + \ShkLogZeroLog_{2,t+1} % \end{aligned}\end{gathered}

for some constants ω\omega and ζ\zeta.

Since (ω/x)θ1,t+1(\omega/\scale)\ShkMeanOneLog_{1,t+1} is the only component of r2,t+1{\risky}_{2,t+1} that is correlated with r1,t+1{\risky}_{1,t+1},

cov(r1,t+1,r2,t+1)(=cov(rˊ1,t+1,rˊ2,t+1))()=cov(r1,t+1,(ω/x)r1,t+1)=(ω/x)cov(r1,t+1,r1,t+1)=x2Σ2=ωxΣ2.\begin{gathered}\begin{aligned} \cov({\risky}_{1,t+1} ,{\risky}_{2,t+1})({= \cov(\riskyAlt_{1,t+1} ,\riskyAlt_{2,t+1})}) ({}) & = \cov({\risky}_{1,t+1} , (\omega/\scale){\risky}_{1,t+1} ) \\ & = (\omega /\scale ) \underbrace{\cov({\risky}_{1,t+1} ,{\risky}_{1,t+1} )}_{=\scale^{2}\sigAll^{2}} \\ & = \omega \scale \sigAll^{2} . \end{aligned}\end{gathered}

Thus, the parameter ω\omega controls the covariance between the risky returns. If we set ω=0\omega = 0 then r1,t+1r2,t+1\risky_{1,t+1} \perp \risky_{2,t+1} (the returns are independent).

Next we want to find the value of ζ\zeta such that the expected level of the return is unaffected by Σ\sigAll (so

that we will be able to explore independently the distinct effects of the

components of each shock and their covariance):

R2(Rˊ2Et[Rˊ2,t+1])()Et[R2,t+1]=erˊ2\begin{gathered}\begin{aligned} \Risky_{2} ({\equiv \acute{\Risky}_{2} \equiv \Ex_{t}[\acute{\Risky}_{2,t+1}]}) ({})\equiv \Ex_{t}[\Risky_{2,t+1}] & = e^{\riskyAlt_{2}} \end{aligned}\end{gathered}

regardless of the values of x\scale and Σ\sigAll. Using (5), we therefore need:

Et[eζ+(ω/x)θ1,t+1+θ2,t+1]=1logEt[eζ+(ω/x)θ1,t+1+θ2,t+1]=0.\begin{gathered}\begin{aligned} \Ex_{t}[e^{\zeta+ (\omega/\scale)\ShkMeanOneLog_{1,t+1} + \ShkMeanOneLog_{2,t+1}}] & = 1 \\ \log \Ex_{t}[e^{\zeta+ (\omega/\scale)\ShkMeanOneLog_{1,t+1} + \ShkMeanOneLog_{2,t+1}}] & = 0. \end{aligned}\end{gathered}

Using standard facts about lognormals (cf. ), and for convenience

defining ω^=(Σ/x)ω\hat{\omega}= (\sigAll/\scale) \omega, we have

0.=ζ0.5ω^x20.5Σ2+0.5ω^2x2+0.5Σ2=ζ0.5x2ω^(1ω^)ζ=0.5(ω^ω^2)x2=0.5(ωxω2)Σ2\begin{gathered}\begin{aligned} 0. & = \zeta - 0.5 \hat{\omega} \scale^{2} - 0.5 \sigAll^{2} + 0.5\hat{\omega}^{2}\scale^{2}+0.5 \sigAll^{2} \\ & = \zeta -0.5 \scale^{2} \hat{\omega}(1-\hat{\omega}) \\ \zeta & = 0.5 (\hat{\omega}-\hat{\omega}^{2}) \scale^{2} = 0.5 (\omega \scale-\omega^{2}) \sigAll^{2} \end{aligned}\end{gathered}

which means that we can rewrite (5) directly as

r2,t+1(=rˊ2,t+1)()=rˊ2+0.5(ωxω2)Σ2+(ω/x)θ1,t+1+θ2,t+1=rˊ2+0.5(ωxω2)Σ20.5(ω/x)(xΣ)20.5Σ2+(ω/x)θt+1,1+θ2,t+1=rˊ2+0.5ωxΣ20.5ωxΣ20.5ω2Σ20.5Σ2+(ω/x)θt+1,1+θ2,t+1=rˊ2(1+ω2)0.5Σ2r2+(ω/x)θt+1,1+θ2,t+1.\begin{gathered}\begin{aligned} \risky_{2,t+1} ({= \riskyAlt_{2,t+1}}) ({}) & = \riskyAlt_{2}+0.5 (\omega \scale-\omega^{2}) \sigAll^{2} + (\omega /\scale) \ShkMeanOneLog_{1,t+1} + \ShkMeanOneLog_{2,t+1} %\\ & = \riskyAlt_{2}+0.5 (\omega \scale-\omega^{2}) \sigAll^{2} + (\omega /\scale) (\ShkLogZeroLog_{1,t+1}+0.5(\scale \sigAll)^{2}) + (\ShkLogZeroLog_{2,t+1}+0.5 \sigAll^{2}) \\ & = \riskyAlt_{2}+0.5 (\omega \scale-\omega^{2}) \sigAll^{2} -0.5 (\omega/\scale)(\scale \sigAll)^2-0.5 \sigAll^{2}+(\omega /\scale) \ShkLogZeroLog_{t+1,1} + \ShkLogZeroLog_{2,t+1} \\ & = \riskyAlt_{2}+0.5 \omega \scale \sigAll^{2} -0.5 \omega\scale \sigAll^2 - 0.5 \omega^{2} \sigAll^{2}-0.5 \sigAll^{2}+(\omega /\scale) \ShkLogZeroLog_{t+1,1} + \ShkLogZeroLog_{2,t+1} \\ & = \underbrace{\riskyAlt_{2} - (1+\omega^{2})0.5 \sigAll^{2}}_{\risky_{2}}+(\omega /\scale) \ShkLogZeroLog_{t+1,1} + \ShkLogZeroLog_{2,t+1} . \end{aligned}\end{gathered}

Hence, from the independent mean-one lognormally distributed shocks

Θ1\ShkMeanOne_{1} and Θ2\ShkMeanOne_{2}, we have constructed a pair of

jointly lognormally distributed shocks whose covariance is controlled

by the parameter ω\omega, whose relative and absolute variances are

controlled by the parameters x\scale and Σ\sigAll, and whose means

are r1\risky_{1} and r2\risky_{2}.

To sum up, the process can be described in either of two ways:

(r1,t+1r2,t+1)(N(r1,x2Σ2)N(r2,x2Σ2))=(N(rˊ10.5(xΣ)2,x2Σ2)N(rˊ2(1+ω2)0.5Σ2,Σ2))\left(\begin{array}{c}\risky_{1,t+1} \\ \risky_{2,t+1} \end{array}\right) \sim \left(\begin{array}{c}\mathcal{N}(\risky_{1},\scale^{2} \sigAll^{2}) \\ \mathcal{N}(\risky_{2}, \phantom{\scale^{2}} \sigAll^{2}) \end{array}\right) = \left(\begin{array}{c}\mathcal{N}(\riskyAlt_{1}-0.5(\scale\sigAll)^{2},\scale^{2} \sigAll^{2}) \\ \mathcal{N}(\riskyAlt_{2} - (1+\omega^{2})0.5 \sigAll^{2}, \sigAll^{2}) \end{array}\right)

with covariance matrix

(σ12σ12σ12σ22)((xΣ)2xωΣ2xωΣ2(ω2+1)Σ2)\left(\begin{array}{ccc}\sigma_1^2 & \sigma_{12} \\ \sigma_{12}& \sigma_2^2\end{array}\right) \equiv \left(\begin{array}{ccc}(\scale \sigAll)^2 & \scale \omega \sigAll^{2} \\ \scale \omega \sigAll^{2} & (\omega^{2}+1)\sigAll^{2}\end{array}\right)

where a final useful result that follows from (12) and (6) is

corr(r1,t+1,r2,t+1)(=corr(rˊ1,t+1,rˊ2,t+1))()cov(r1,t+1,r2,t+1)/σ1σ2=ω/(1+ω2)0.5.\begin{gathered}\begin{aligned} \text{corr}({\risky}_{1,t+1} ,{\risky}_{2,t+1}) ({= \text{corr}(\riskyAlt_{1,t+1} ,\riskyAlt_{2,t+1})}) ({}) & \equiv \cov({\risky}_{1,t+1} ,{\risky}_{2,t+1})/\sigma_{1}\sigma_{2} \\ & = \omega/(1+\omega^{2})^{0.5} . \end{aligned}\end{gathered}

2Computational Theory

To reduce clutter, define R~i=Ri,t+1\tilde{\Risky}_{i}=\Risky_{i,t+1} and interpret E\Ex as Et[]\Ex_{t}[], so that we can write the expectation of some function h\hFunc that depends on the realization of

the return shocks as:

E[h(R~1,R~2)]=R1Rˉ1R2Rˉ2h(R~1,R~2)dF(R~1,R~2)\begin{gathered}\begin{aligned} \Ex[\hFunc(\tilde{\Risky}_{1},\tilde{\Risky}_{2})] & = \int_{\underline{{\Risky}}_{1}}^{\bar{\Risky}_{1}}\int_{\underline{\Risky}_{2}}^{\bar{\Risky}_{2}} \hFunc(\tilde{\Risky}_{1},\tilde{\Risky}_{2}) d\FFunc(\tilde{\Risky}_{1},\tilde{\Risky}_{2}) \end{aligned}\end{gathered}

where F(R~1,R~2)\FFunc(\tilde{\Risky}_{1},\tilde{\Risky}_{2}) is the cumulative distribution

function for a multivariate lognormal with the covariance matrix defined by (12).[1]

double integral, but at such a slow speed as to be unusable for many purposes.

Computation of the expectation can be massively speeded up by

advance construction of a numerical approximation to

F(R~1,R~2)\FFunc(\tilde{\Risky}_{1},\tilde{\Risky}_{2}).

Such approximations often take the approach of replacing the distribution function

with a discretized approximation to it; appropriate weights w[i,j]w[i,j] are attached to

each of a finite set of points indexed by ii and jj, and

the approximation to the integral is given by:

E[h(R~1,R~2)]i=1nj=1mh(R^1[i,j],R^2[i,j])w[i,j]\begin{gathered}\begin{aligned} \Ex[\hFunc(\tilde{\Risky}_{1},\tilde{\Risky}_{2})] & \approx \sum_{i=1}^{n}\sum_{j=1}^{m} \hFunc(\hat{\Risky}_{1}[i,j],\hat{\Risky}_{2}[i,j])w[i,j] \end{aligned}\end{gathered}

where various methods are used for constructing the weights w[i,j]w[i,j] and the nodes (corresponding to the {i,j}\{i,j\} pairs). The matrices R^1\hat{\Risky}_{1} and R^2\hat{\Risky}_{2} contain the conditional mean values of R~1\tilde{\Risky}_{1} and R~2\tilde{\Risky}_{2} associated with each of the regions.

Perhaps the most popular such method is Gauss-Hermite interpolation

(see Judd (1998) for an exposition, or Kopecky & Suen (2010)

for a recent candidate for a better choice). Here, we will pursue a

particularly simple and intuitive alternative: Equiprobable discretization. In

this method, m=nm=n and boundaries on the joint CDF are determined in

such a way as to divide up the total probability mass into submasses

of equal size (each of which therefore has a mass of n2n^{-2}). This

is conceptually easier if we represent the underlying shocks as

statistically independent, as with Θ1\ShkMeanOne_{1} and

Θ2\ShkMeanOne_{2} above; in that case, each submass is a square region

in the Θ1\ShkMeanOne_{1} and Θ2\ShkMeanOne_{2} grid. We then compute

the average value of Θ1\ShkMeanOne_{1} and Θ2\ShkMeanOne_{2}

conditional on their being located in each of the subdivisions of

the range of the CDF. Since Θ1\ShkMeanOne_{1} and Θ2\ShkMeanOne_{2}

are IID, the representation of the approximating summation is even

simpler than (15):

E[h(R~1,R~2))]n2i=1nj=1nh(R1(Θ^1[i],Θ^2[j]),R2(Θ^1[i],Θ^2[j])))\begin{gathered}\begin{aligned} \Ex\left[\hFunc\left(\tilde{\Risky}_{1},\tilde{\Risky}_{2})\right)\right] & \approx n^{-2} \sum_{i=1}^{n}\sum_{j=1}^{n} \hFunc\left(\Risky_{1}(\hat{\ShkMeanOne}_{1}[i],\hat{\ShkMeanOne}_{2}[j]),\Risky_{2}(\hat{\ShkMeanOne}_{1}[i],\hat{\ShkMeanOne}_{2}[j]))\right) \end{aligned}\end{gathered}

where Ri(Θ1,Θ2)\Risky_{i}(\ShkMeanOne_{1},\ShkMeanOne_{2}) are the (linear) functions relating the return shocks to the IID shocks.

3Computational Results

Portfolio Share By Method as a Function of \omega

Figure 1:Portfolio Share By Method as a Function of ω\omega

Figure 1 compares the computed optimal portfolio share for a numerical solution

using the built-in numerical optimizer and maximization functions (the lowest, black, locus), the Campbell-Viceira solution (the highest, red locus)

and an equiprobable approximation using 20 approximation points (green, middle) as well as the solution using the equiprobable approximation

at an evenly-spaced grid of points (blue dots).

Careful examination indicates that the numerical approximation is quite close to the full numerical solution, while the CV approximation diverges substantially from the numerical answer. The tradeoff is that the

equiprobable solution is about 2000 times slower than the CV approximation, while the direct solution is more than 100 times slower

than the equiprobable solution. Depending on the requirements of the problem being examined, these differences in

efficiency can make a tremendous difference in the feasibility of a research project.[2]

Footnotes
  1. Under the lognormal assumption, R~i=0\underline{\tilde{\Risky}}_{i}=0 and Rˉi=\bar{\Risky}_{i}=\infty for both shocks i{1,2}i \in \{1,2\}. Standard numerical computation software can compute this

  2. Details can be found in the Mathematica notebook associated with this section.

References
  1. Judd, K. L. (1998). Numerical Methods in Economics. The MIT Press.
  2. Kopecky, K. A., & Suen, R. M. H. (2010). Finite State Markov-Chain Approximations To Highly Persistent Processes. Review of Economic Dynamics, 13(3), 701–714. 10.1016/j.red.2010.02.002