Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Using a Correlation Matrix to reduce risk

  • To: mathgroup at smc.vnet.net
  • Subject: [mg114423] Re: Using a Correlation Matrix to reduce risk
  • From: Andreas <aagas at ix.netcom.com>
  • Date: Sat, 4 Dec 2010 06:12:10 -0500 (EST)
  • References: <id7t4n$l8c$1@smc.vnet.net> <idag9a$jpe$1@smc.vnet.net>

Thank you all for your replies,

Ray Koopman's idea to minimize variance may give me a complete
solution, but I have some questions.

In the following, the simple case I described in my original post, it
gives me exactly what I expected and hoped for from a solution:

m3 = {{1, 1, 0}, {1, 1, 0 }, { 0, 0 , 1}};=E2=80=A8p = Array[x, Length@m3];
Minimize[{p.m3.p, Tr@p == 1 && And @@ Thread[p >= 0]}, p]
=E2=80=A8{1/2, {x[1] -> 1/4, x[2] -> 1/4, x[3] -> 1/2}}

But in the case where I have 4 instruments with correlations of 1 and
1 with a correlation of 0 to all of the others it gives me the
following:
=E2=80=A8m5 = {{1, 1, 1, 1, 0}, {1 , 1, 1, 1, 0 }, {1 , 1, 1, 1, 0 }, {1 , 1,
1, 1,  0 }, { 0, 0 , 0, 0, 1}};=E2=80=A8p = Array[x, Length@m5];
Minimize[{p.m5.p, Tr@p == 1 && And @@ Thread[p >= 0]}, p]
{1/2, {x[1] -> 1/16, x[2] -> 1/4, x[3] -> 1/8, x[4] -> 1/16, x[5] ->
1/2}}
In this case I would think the more or most intuitive result would be:

{1/2, {x[1] -> 1/8, x[2] -> 1/8, x[3] -> 1/8, x[4] -> 1/8, x[5] ->
1/2}}

I do recognize that practically speaking the risk of these two
compositions of instruments would be equal because of the
correlations, but then so would:

{1/2, {x[1] -> 1/2, x[2] -> 0, x[3] -> 0, x[4] -> 0, x[5] -> 1/2}} or
a variety of others.


How do I get to the more intuitive result: {1/2, {x[1] -> 1/8, x[2] ->
1/8, x[3] -> 1/8, x[4] -> 1/8, x[5] -> 1/2}} ?

I think this is important beyond the kind of artificial cases
described above.

A more real world example such as cMatrix from my first post gives me
the following:

cMatrix = {{1., 0.635562, 0.698852, 0.404792, -0.32746}, {0.635562,
1., 0.410075, 0.314375, -0.0636438}, {0.698852, 0.410075, 1.,
0.374416, -0.260137}, {0.404792, 0.314375, 0.374416, 1., 0.293135},
{-0.32746, -0.0636438, -0.260137, 0.293135, 1.}};
=E2=80=A8p = Array[x, Length@cMatrix];=E2=80=A8Minimize[{p.cMatrix.p, Tr@p == 1 && And
@@ Thread[p >= 0]}, p]
=E2=80=A8{0.306671, {x[1] -> 0.246238, x[2] -> 0.0909659, x[3] -> 0.214026,
x[4] -> 0., x[5] -> 0.44877}}

In this case x[1] and x[3] have the highest correlation, x[1] and x[2]
the 2nd highest correlation, etc.

But again the result doesn't look as intuitive as I would expect.
Displayed differently with some comments and questions:

x[1] -> 0.246238      Seems a bit heavy in this?
x[2] -> 0.0909659    Why so little in this?
x[3] -> 0.214026
x[4] -> 0.		       Why nothing in this?
x[5] -> 0.44877	       This makes perfect sense, the highest % in the
least correlated instrument.

This seems to give me something like the result for the m5 matrix
rather than something closer to the intuitive solution for the m5
matrix ({1/2, {x[1] -> 1/8, x[2] -> 1/8, x[3] -> 1/8, x[4] -> 1/8,
x[5] -> 1/2}}).

I very much appreciate everyone's help in this.  Can I get to
something closer to the more intuitive type of answer for this?


  • Prev by Date: Tempvar zombies littering my context!
  • Next by Date: Re: What function to use to find matrix condition number?
  • Previous by thread: Re: Using a Correlation Matrix to reduce risk
  • Next by thread: NFourierTrigSeries and NFourierCoefficient