Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
Norm Constrained Portfolio Optimization

Subject: Norm Constrained Portfolio Optimization

From: Jeremiah Green

Date: 7 Jan, 2009 02:28:01

Message: 1 of 7

For portfolio optimization, my conceptual problem is to select weights (w) to minimize the following: min -1*(XRet*w)/(w'*C*w) subject to the constraint that abs(w)<=c, where c is some constant. I have been doing other constrained versions with the fmincon function. Can anyone tell me how I might solve this problem? Thanks

Subject: Norm Constrained Portfolio Optimization

From: Phil Goddard

Date: 7 Jan, 2009 03:44:02

Message: 2 of 7

"Jeremiah Green" <jeremiah.green@gmail.com> wrote in message <gk13vh$7i8$1@fred.mathworks.com>...
> For portfolio optimization, my conceptual problem is to select weights (w) to minimize the following: min -1*(XRet*w)/(w'*C*w) subject to the constraint that abs(w)<=c, where c is some constant. I have been doing other constrained versions with the fmincon function. Can anyone tell me how I might solve this problem? Thanks

You should be able to use fmincon for this too.
The cost function is specified as before, typically as a function handle, and the non-linear constraint is specified, also as a function handle, as the 9th input argument.
There's an example of what the non-linear constraint function needs to look like in the doc for fmincon:

function [c,ceq] = mycon(x)
c = ... % Compute nonlinear inequalities at x.
ceq = ... % Compute nonlinear equalities at x.

Phil.

Subject: Norm Constrained Portfolio Optimization

From: Roger Stafford

Date: 7 Jan, 2009 03:56:02

Message: 3 of 7

"Jeremiah Green" <jeremiah.green@gmail.com> wrote in message <gk13vh$7i8$1@fred.mathworks.com>...
> For portfolio optimization, my conceptual problem is to select weights (w) to minimize the following: min -1*(XRet*w)/(w'*C*w) subject to the constraint that abs(w)<=c, where c is some constant. I have been doing other constrained versions with the fmincon function. Can anyone tell me how I might solve this problem? Thanks
-------------
  A few questions. You entitled your thread "Norm Constrained Portfolio Optimization" but gave the constraint as "abs(w)<=c". This latter is not the usual L2-norm (square root of sum of squares) but the L-infinity norm, which is the maximum absolute value. Which do you actually wish to use?

  Also what are the sizes of the arrays, XRet, C, and w - how many rows and how many columns for each?

  Final disturbing point. As it stands, it does not look like a well-defined problem, for the following reason. For any particular w lying within the given constraint, as we change w along a line moving towards the zero point (w = 0), the function you defined must either approach plus infinity or minus infinity, because w is second order in the denominator and only first order in the numerator. Passing through the zero vector along this line to the other side will reverse its sign. Either way, the overall minimum would have to be minus infinity. This means that 'fmincon' (as well as any other kind of optimizer function) would continue to crowd closer and closer to w = 0 without ever finding a true minimum (because there is no finite minimum.)

Roger Stafford

Subject: Norm Constrained Portfolio Optimization

From: Bruno Luong

Date: 7 Jan, 2009 07:30:10

Message: 4 of 7

"Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid> wrote in message <gk194i$alf$1@fred.mathworks.com>...
>
> This means that 'fmincon' (as well as any other kind of optimizer function) would continue to crowd closer and closer to w = 0 without ever finding a true minimum (because there is no finite minimum.)
>

Roger is absolutely right, the function has -infinity as minimum. The problem is not well defined.

Bruno

Subject: Norm Constrained Portfolio Optimization

From: Jeremiah Green

Date: 7 Jan, 2009 17:50:18

Message: 5 of 7

Thanks for the responses. I guess I had never noticed the non-linear constraint abilities of fmincon, so thank you for that response, and I am going to try that. Also, I should have included the constraint that sum(w)=1. This forces the sum(w) away from zero where there is an infinity solution. On a related side, I am trying to consider a formulation of the problem in a way that I can force the weights to sum to zero, but the weights cannot all be zero (I suppose add another constraint)...Thanks again...

Subject: Norm Constrained Portfolio Optimization

From: Jeremiah Green

Date: 7 Jan, 2009 17:55:02

Message: 6 of 7

I also forgot to mention the norm question. The answer is, I am not sure which type of norm I want to impose. There is an article that suggests different norms, but I haven't figured out the most logical solution...

Subject: Norm Constrained Portfolio Optimization

From: Matt

Date: 7 Jan, 2009 18:54:02

Message: 7 of 7

"Jeremiah Green" <jeremiah.green@gmail.com> wrote in message <gk2q9m$6pu$1@fred.mathworks.com>...
> I also forgot to mention the norm question. The answer is, I am not sure which type of norm I want to impose. There is an article that suggests different norms, but I haven't figured out the most logical solution...

Is the matrix C positive definite? If so you can impose the C-induced norm constraint,

x'*C*w=1

in which case your objective function reduces simply to the linear function -Xret*w.

Pretty easy to solve, I would guess, possibly even analytically.

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us