Description Usage Arguments Details Value Author(s) References Examples

View source: R/impliedReturns.R

This function computes the implied returns.

1 |

`rets` |
a |

`mu` |
a |

`Sigma` |
a |

`semiDev` |
a |

`w` |
a |

`control` |
control parameters (see *Details*). |

The argument `control`

is a list that can supply any of the following components:

`type`

method used to compute the implied returns, among

`'regression'`

,`robust`

,`constraint`

and`'rl'`

where:`'regression'`

is use to compute the implied expected returns. The implied expected returns are solved by fitting the following regression:*\tilde{μ} = a + b[\hat{Σ}\hat{w}]*The option

`'reg'`

can be used with`'regression'`

if you want a robust estimation or a constrained estimation. See`'reg'`

.`'bl'`

is used to compute the Black-Litterman implied expected returns. The Black-Litterman implied expected return is estimated by fitting the following regression:*μ = l ι + γ Σ w.*`reg`

is used when type =

`'regression'`

.`reg`

can supply either`'robust'`

or`'constraint'`

.`'robust'`

is used to compute the robust estimation of the implied expected returns.`'constraint'`

is used to compute the implied expected returns with the restriction that the coefficient is larger than zero.The constraint implied expected return estimate

*\tilde{μ}*is given by the following equation:*\tilde{μ} = a + b(\hat{Σ}\hat{w})*`gamma`

is used for the computation of the Black-Litterman implied expected returns. Default:

`gamma = 0.89`

.

First, if *w* is a mean-variance efficient portfolio with respect to a universe of assets with
known expected returns vector *μ* and covariance matrix *Σ*, then there exists a linear relation between *μ*
and *Σ w*. Second, covariances can be much more accurately estimated than expected returns.
Hence,if a mean-variance efficient weight vector is known and a covariance matrix has been
accurately estimated, the above-mentioned linear relation can be exploited to create
implied expected returns which have a higher accuracy than sample means. The idea of reverse engineering
for expected returns was first advocated by Best and Grauer (1985), and almost always applied with
the market capitalization portfolio, which is well known to be mean-variance efficient under the
Capital Asset Pricing Model (CAPM) assumptions. Third, in realistic markets, stock prices may deviate
from their fundamental values and market capitalization portfolios tend to invest disproportionately
in stocks that are overpriced and under-invest in stocks that are under-priced (Arnott et al., 2005; Treynor, 2005).
Hence, we advocate that the market capitalization weighted portfolio is only one possible proxy for a
mean-variance efficient portfolio, and that other proxies may lead to more accurate expected returns.
Our main hypothesis is that there exist other (expected) return-insensitive proxies for mean-variance
efficient portfolio weights that lead to more accurate expected return predictions. In particular,
we will test this hypothesis for the smoothed market capitalization portfolio (Chen et al., 2007),
the equally-weighted portfolio (DeMiguel et al., 2009), the equal-risk-contribution
portfolio (Maillard et al., 2010), the maximum diversification portfolio (Choueifaty and Coignard, 2008) and
the risk-efficient portfolio (Amenc et al., 2011). See e.g. Lee (2011) for a recent overview.
We consider a market with *N* risky securities and denote a generic portfolio in this
market by the *(N x 1)* vector *w*.
The expected arithmetic returns (in excess of the risk-free rate) at the desired holding horizon are denoted by
the *(N x 1)* vector *μ* and the corresponding *(N x N)* covariance
matrix of arithmetic returns is denoted by *Σ*. We denote by *ι* the *(N x 1)*
vector of ones and by *0* the *(N x 1)* vector of zeros.
Our analysis builds on the assumption of mean–variance preferences. Let *0 < γ < ∞* be the
risk aversion parameter. The mean-variance optimization problem is:

*w* = argmax{μ' w - 1/2γ w'Σ w}*

where the optimization is done under the full-investment constraint. The corresponding Lagrangian is:

*L(w,l) = w' μ - γ / 2 w'Σ w - l(w'ι -1 )*

The corresponding first order conditions are:

*μ - γ Σ w - lι = 0*

*w'ι = 1*

We note the linear relationship between *μ* and *Σ w*:

*μ = l ι + γ Σ w*

A *(N x 1)* vector of implied expected returns.

David Ardia <david.ardia@unifr.ch> and Jean-Philippe Gagnon Fleury.

Ardia, D., Boudt, K. (2013). Implied expected returns and the choice of a mean-variance efficient portfolio proxy. http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2215042.

Best, M. J., Grauer, R. R., (1985).
Capital asset pricing compatible with observed market value weights.
*Journal of Finance* **40**(5), pp.85–103.

Black, F., Litterman, R., (September-October 1992).
Global portfolio optimization.
*Financial Analyst Journal* **48**(5), pp.28–43.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ```
# For the examples, we simply generate a 100 x 25 random matrix.
set.seed(3214)
T = 100
N = 25
rets = matrix(rnorm(T*N), nrow = T, ncol = N)
mu = meanEstimation(rets)
Sigma = covEstimation(rets)
w = rep(1, N) / N
#Computes the implied expected returns by Black-Litterman with gamma = 0.89.
impliedReturns(mu = mu, Sigma = Sigma, w = w, control = list(type = "bl"))
#Computes the implied expected returns by Black-Litterman with gamma = 1.
impliedReturns(mu = mu, Sigma = Sigma, w = w, control = list(type = "bl", gamma = 1))
#Computes the impled expected returns.
impliedReturns(mu = mu, Sigma = Sigma, w = w, control = list(type = "regression"))
#Compute the robust implied expected returns.
#impliedReturns(mu = mu, Sigma = Sigma, w = w, control = list(type = "regression", reg = "robust"))
#Compute the constraint implied expected returns.
#impliedReturns(mu = mu, Sigma = Sigma, w = w, control = list(type = "regression", reg = "constraint"))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs in the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.