Portfolio Problem

DESCRIPTION: See this page

Algorithm:

1. Good combination of two stocks:

**
Gamble1 : GiHi=3.633 GiHoprob=0.438**

**
GiMe=1.090 GiMeprob=0.155**

**
GiLo=0.592 GiLoprob=0.407 **

**
prob(Return>2.0) = 0.438**

**
Gamble2 : GiHi=3.231 GiHoprob=0.492**

**
GiMe=1.179 GiMeprob=0.139**

**
GiLo=0.670 GiLoprob=0.370**

**
prob(Return>2.0) = 0.492**

For a linear combination on these two gambles, there will be 9 equations:

**
x(Gamble1)+(1-x)(Gamble2)**

**
(1) 3.633x+(1-x)3.231 > 2.0 (Must be)**

**
(2) 3.633x+(1-x)1.179 > 2.0**

**
(3) 3.633x+(1-x)0.670 > 2.0**

**
(4) 1.090x+(1-x)3.231 > 2.0**

**
(5) 1.090x+(1-x)1.179 > 2.0 (Never satisfy)**

**
(6) 1.090x+(1-x)0.670 > 2.0 (Never satisfy)**

**
(7) 0.592x+(1-x)3.231 > 2.0**

**
(8) 0.592x+(1-x)1.179 > 2.0 (Never satisfy)**

**
(9) 0.592x+(1-x)0.670 > 2.0 (Never satisfy)**

As we can see there are four equations which could be satisfied on some x. Solve them and get the following constraints:

**
(2) x > 0.334555 (3) x > 0.448869 (4) x <
0.574965 (7) x < 0.466465**

After sorting:

**
(2) x > 0.334555 (3) x > 0.448869 (7) x <
0.466465 (4) x < 0.574965**

Test the midpoint of (0,0.334555),(0.334555,0.448869)...

and find out that when x = 0.457667, the overall probability of satisfied equation was maximized. That is, when x = 0.457667:

Return > 2.0 if (HI,HI),(HI,ME),(HI,LO),(ME,HI),(LO,HI)

**
prob(Return>2.0) = 0.7145**

To generalize this method, there will be n-1
variables x_{1}, x_{2}, ..., x_{n-1} if n gambles
are combined. Those inequalities could be solved by a linear programming
problem. Note I do not want too many
gambles combine together since this will decrease the prob(Return>2.0). An example
is consider 10 stocks, each have GiHi=2.0001
and GiHiprob=0.9 and GiMeprob=0. If we put all money on one of them, prob(Return>2.0)=0.9. If we
divided money evenly among them, then Return will
be less than 2.0 if one of the gambles got LO. Thus prob(Return>2.0)=(0.9)^{10}=0.34868,
which is an awful result.

Remark:

If gambles have small initial prob(Return>2.0), combine some of them might get good result. But with high initially prob(Return>2.0), putting all eggs in one basket seems to work better.

Experiment:

If initial prob(Return>2.0) is about 50%, then it is good to combine 2 of them.

If initial prob(Return>2.0) is about 33%, then it is good to combine 3 of them.

That is, if initial prob(Return>2.0) is about 1/n, it is probably good to combine n of them.

Therefore, my algorithm is comparing the best single, double, triple,... combinations by properly select the gambles and try to maximize the prob(Return>2.0).

2. Guess the favorable/unfavorable gambles:

First, probability of linked gamble was adjusted.

Then three (favorable, normal, unfavorable) expected value vector were pre-computed by adding all probabilities with same attributes. For example, the expected vector for [HI ME LO] for attribute 3 might be

[6.45 4.22 1.33] if 3 is favorable.

[4.15 4.22 3.63] if 3 is normal.

[2.50 4.22 5.28] if 3 is unfavorable.

Then if the simulation results is [5 4 3], the probability of attribute 3 were favorable, normal or unfavorable were computed by the following formula:

Here [d_{hi} d_{me} d_{lo}] = [5 4 3] - [HI ME LO] described above.

Then compare results between 16 attributes, the two with highest p(x is favorable) and two with highest p(x is unfavorable) were reported.

¡@

Chien-I Liao