EFFICIENT Function

Calculates the efficient frontier (a set of optimal portfolios).

Usage

    f = EFFICIENT( r, n )

Input Parameters

r—A (m,p) array containing a regular time series of m fractional returns on p investments.

n—The number of optimal portfolios to calculate.

Returned Value

f—A (n, p+2) array: for the ith optimal portfolio, f(i,0) is the expected risk expressed as standard deviation per time step inherent in r. f(i,1) is the expected fractional return per time step inherent in r, and f(i,2:*) is the weight vector defining the distribution of investments.

Keywords

t—If set, r is interpreted as total returns.

e—A p-element vector containing the expected fractional return for each investment; e defaults to the geometric means of the fractional returns (from r or computed from r).

a—If set, e is interpreted as an active bet.

c—An (q, p+2) array defining linear constraints on the weights. For the i'th constraint, c(i,0:p–1) gives the coefficients and c(i, p:p+1) gives the bounds. Default constraints: no weight is less than 0 and sum of weights equals 1.

fr—On input, contains the risk free rate of return. On output, contains an index identifying the best of portfolios f. f(fr,*) has the highest sharpe ratio (realreturn/risk).

re—If set then equality constraints are relaxed by increasing upper bounds by 1e-6. This can facilitate convergence for the solver and thus increase the number of unique portfolios in f.

Example

See wave/demo/gallery3/wd_demo15efficientfrontier.pro.